Einbindung von Open GIS

Top  Previous  Next

 

Was ist OpenGIS?

OpenGIS ist ein vom OGC (Open Geospatial Consortium) definierter Standard, um GEOdaten in Datenbanken zu speichern.

Wer mehr darüber erfahren möchte, wird z.B. auf der Webseite der OGC http://www.opengeospatial.org/ und in der WIkipedia unter https://de.wikipedia.org/wiki/Open_Geospatial_Consortium fündig.

 

 

OpenGIS in Moskito nutzen

Moskito hat eine Schnittstelle zur Geo-Erweiterung PostGIS des kostenfreien Datenbanksystems PostgreSQL. Auch hierzu hält die Wikipedia mehr Informationen bereit: https://de.wikipedia.org/wiki/PostgreSQL und https://de.wikipedia.org/wiki/PostGIS.

Die Implementierung der Struktur für das ebenfalls freie Datenbankformat SQLite (siehe auch https://de.wikipedia.org/wiki/SQLite) ist in Arbeit, Schnittstellen zu Oracle (https://de.wikipedia.org/wiki/Oracle) und anderen Datenbanksystemen sind in Planung.

 

 

Installation von PostGIS

Das Datenbanksystem PostgreSQL kann auf der internationalen Webseite https://www.postgresql.org/download/ für Windows und weitere Plattformen heruntergeladen werden. Laden Sie den installer herunter und installieren Sie PostgreSQL.

Die Version 9.6.2 wurde mit dem User "postgres" und dem Passwort "postgres" in Moskito getestet.

Ggf. werden dotNet und Microsoft Visual C++ vorher installiert.

Nach der Installation von von PostgreSQL mit dem Windows Installer startet der "Stack builder" und erlaubt es, notwendige Komponenten auszuwählen. Hier müssen die ODBC-Treiber und die Erweiterung PostGIS passend zum Betriebssystem und der Moskitoversion (32 bit oder 64 bit) ausgewählt werden:

 

PostGIS_StackBuilder_PostGisundODBCtreiberAuswaehlen

 

Während der Installation wird eine leere Datenbank postgres auf dem Server localhost erzeugt.

 

 

64 bit und 32 bit

Der ODBC-Datenquellen-Administrator unter 64bit-Systemen ist etwas unübersichtlich. Denn es gibt zwei davon:

C:\Windows\SysWOW64\odbcad32.exe listet die 32bit Datenquellen auf.

C:\Windows\System32\odbcad32.exe listet die 64bit Datenquellen auf.

Die Verknüpfung in der Systemsteuerung, Verwaltung weist auf den 64bit-Datenquellen-Administrator.

 

Es ist durchaus möglich, unter einem 64bit-Windows mit einem 64bit PostgreSQL ein 32bit-Moskito zu betreiben. Dann benötigt man die 32bit-Treiber und den 32bit-Datenquellen-Administrator.

 

 

Zugriff auf die Datenbank und ggf. einen Client einrichten

Wenn die Datenbank PostgreSQL auf einem Server im Netzwerk installiert wurde, müssen auf jedem Client die ODBC-Treiber installiert werden.

Als nächstes muss auf dem Rechner, der auf die Datenbank zugreifen können soll, eine Benutzer- oder System-Datenquelle eingerichtet werden. Dazu benötigt man den (richtigen!) der oben genannten Datenquellen-Administratoren. Auf den Button "Hinzufügen" klicken, die Unicode-Version auswählen und den Button "Fertig stellen" betätigen:

 

PostGISODBCdatenquelleEinrichten

 

Anschließend muss der Datenquelle ein Name gegeben werden, Server und Database müssen eingetragen werden, sowie der User Name und das Passwort. Wir erinnern uns, Benutzer und Passwort waren jeweils postgres. Ein Server im Netzwerk wird mit der IP-Adresse eingetragen und nicht mit localhost, der Port kann leer bleiben, wenn der Standard 5432 nicht geändert wurde.

Sind die Werte korrekt, liefert der Test das Ergebnis: Connection successful!

 

 

PostGISODBCdatenquelleEinrichten2

 

 

Datenbank verbinden

Nun kann die Datenbank mit Moskito verbunden werden. Dazu gibt es den Befehl

SQLconnect <db> user/<user> pass/<passwort>

 

Beispiel:

SQLconnect PostgreSQL35W32bit user/postgres pass/postgres

 

Unter Verwalten Datenbank kann man sich anschließend das Ergebnis ansehen:

 

 

PostGisDatenbankverbindungen

 

 

 

Daten laden

Implementiert wurde die Schnittstelle so, dass jeweils ein Objekttyp in mindestens einer Tabelle gespeichert wird. Öffnen Sie den Dialog "Datei", "Laden..." und stellen Sie unten im Format "GeoDB" ein. Wählen Sie anschließend das Schema aus und es werden die Tabellen aufgelistet, die sich als Pläne laden lassen.

 

PostGisLaden

 

 

 

Daten speichern

Im Format GeoDB geladene Daten speichern Sie mit "Datei", "Speichern". Es werden nur die geänderten Werte in der Datenbank aktualisiert.

Für in anderen Formaten geladene Daten öffnen Sie den Dialog "Datei", "Speichern unter ...", legen Sie in den Einstellungen zum Format die Datenbank und das Schema fest

 

PostGISSpeichernEinstellungen

 

und sichern Sie ihre Daten im Format "GeoDB":

 

PostGISSpeichernUnter

 

 

Anpassung importierter Daten an das Moskito-Datenmodell

Eine Tabelle, die sich in der Regel in der Fachschalendatenbank befinden sollte, steuert die Anpassung der Daten an das in Moskito aktive Datenmodell. Ohne Konfiguration sind zwar die Lageinformationen vorhanden, doch die Ausgestaltung und die Attribute fehlen:

 

PostGISDaten75Prozent

 

 

Konfigurierte Daten sehen aus, wie das Datenmodell es vorschreibt:

 

PostGISDatenKonfiguriert75Prozent

 

 

Die Steuertabelle heißt GeoDB_Conf_VS_Bestand. Fehlt sie, wird sie beim Lesen oder Schreiben in der Workfiledatenbank angelegt.

Der Objektschlüssel findet sich für jede Tabelle wieder unter dem Arteintrag "Art" und dem Wert "OBJ" in der Spalte KEY1. Der DKY und der DKA einer Linie sind unter dem Arteintrag "POLYLINE" und dem Wert "STRING" in der Spalte KEY1 und KEY2 abgelegt. Die Symbolnummer findet sich analog in KEY1, wenn für Arteintrag "POINT" und Wert "SYMBOL" angegeben sind. Attribute werden unter dem Arteintrag "QTX" konfiguriert, indem für Wert der Attributname aus dem Datenmodell eingetragen wird.

 

Beispiel:

 

PostGISGeoDB_Conf_VS_Bestand

 

Diese Werte mit folgender Bedeutung sind derzeit für Arteintrag implementiert:

 

ART

Diese Zeile enthält den Objektschlüssel

GEO

In dieser Spalte sind Geodaten. Dieser Wert wird beim Lesen erzeugt und muss ersetzt werden durch den typ: POINT, POLYLINE, etc.

POINT

Es handelt sich um Punktdaten wie z.B. ein Symbol oder einen Text

POLYGON

Standardtyp für Linien

POLYLINE

Standardtyp für Flächen

QTX

Kennzeichnung für ein Attribut

POST_OBJ

Platz für Anpassungen nach dem Lesen

 

Der Wert "SKIP" bedeutet, der Inhalt dieser Spalte wird beim Lesen übersprungen und nicht ins Objekt eingefügt.

 

 

 

Mehr zur Steuertabelle

Die Tabelle GeoDB_Conf_VS_Bestand besteht aus folgenden Spalten:

 

'CONFNAME' VARCHAR(30),

'TABELLE' VARCHAR(40),

'SPALTE' VARCHAR(40),

'ARTEINTRAG' VARCHAR(10),

'WERT' VARCHAR(40),

'KEY1' VARCHAR(50),

'KEY2' VARCHAR(50),

'PAR_ANG' CHAR(50),

'PAR_CONTENTS' CHAR(50),

'COND_NAME' CHAR(50),

'COND_VALUE' CHAR(50)