Zum Hauptinhalt springen

In PostgreSQL exportieren

Mapit GIS kann Feature-Layer direkt in eine PostgreSQL-Datenbank mit der Erweiterung PostGIS exportieren. Der Export nutzt eine direkte JDBC-Verbindung vom Gerät aus – ein zwischengeschaltetes Cloud-Relay oder ein Proxyserver ist nicht erforderlich.

So lassen sich im Gelände erfasste Daten in eine zentrale Datenbank übertragen, etwa für Analysen, Berichte oder die Einbindung in GIS-Workflows im Unternehmen.

Voraussetzungen​

Stellen Sie vor dem Export Folgendes sicher:

  1. Der PostgreSQL-Server läuft und ist aus dem Netzwerk des Geräts erreichbar (WLAN, Mobilfunk oder VPN).
  2. Die PostGIS-Erweiterung ist in der Zieldatenbank installiert (CREATE EXTENSION IF NOT EXISTS postgis;).
  3. Der Netzwerkzugang erlaubt dem Gerät eine direkte Verbindung zu Host und Port der Datenbank.
  4. Die Verbindungsdaten sind in der App konfiguriert (siehe unten).
tipp

Seit Version 3.0.4 verbindet sich die App per JDBC direkt mit PostgreSQL. Die IP-Adresse eines Relay-Servers muss nicht mehr freigegeben werden. Die Verbindung geht vom Gerät selbst aus.

Verbindung konfigurieren​

  1. Öffnen Sie Einstellungen über das Hauptmenü.
  2. Navigieren Sie zu Remote-Verbindungen → PostgreSQL-Einstellungen.
  3. Geben Sie die Verbindungsdaten ein:
EinstellungBeschreibungBeispiel
HostHostname oder IP-Adresse des Datenbankserversdb.example.com oder 192.168.1.50
PortPostgreSQL-Port5432 (Standard)
BenutzernameDatenbankbenutzermapit_user
PasswortDatenbankpasswort
DatenbanknameZieldatenbankfield_data
  1. Prüfen Sie mit der Schaltfläche Testverbindung die Verbindung, bevor Sie ins Gelände gehen.
vorsicht

Die Zugangsdaten werden lokal auf dem Gerät gespeichert. Stellen Sie sicher, dass der Datenbankbenutzer nur die minimal nötigen Rechte hat – in der Regel CREATE, INSERT, SELECT und DROP im Zielschema.

Layer exportieren​

  1. Öffnen Sie den Bildschirm Layer.
  2. Drücken Sie lange auf den Layer, den Sie exportieren möchten.
  3. Tippen Sie im Kontextmenü auf Exportieren.
  4. Tippen Sie im Sheet mit den Exportzielen auf In PostgreSQL exportieren.

Exportmodus wählen​

Ein Bottom Sheet bietet zwei Optionen an:

ModusVerhalten
ÜberschreibenLöscht die vorhandene Tabelle (falls vorhanden) und legt eine neue mit den exportierten Daten an
AnhängenFügt Features einer vorhandenen Tabelle hinzu oder legt die Tabelle an, falls sie nicht existiert
gefahr

Überschreiben löscht alle vorhandenen Daten in der Zieltabelle unwiderruflich. Gehen Sie in Produktivumgebungen entsprechend vorsichtig vor.

tipp

Jede der beiden Optionen lässt sich unter Einstellungen → Exporteinstellungen ausblenden, wenn Sie versehentliches Überschreiben verhindern oder Ihren Workflow auf reines Anhängen beschränken möchten.

Exportfortschritt​

Ein Fortschrittsdialog zeigt die Anzahl der exportierten Features. Aus Performancegründen werden die Features in Stapeln zu je 500 Zeilen mit mehrzeiligen INSERT-Anweisungen übertragen.

Nach Abschluss nennt eine Bestätigungsmeldung den Tabellennamen und die Gesamtzahl der exportierten Features.

Tabellenstruktur​

Die exportierte PostgreSQL-Tabelle ist wie folgt aufgebaut:

  • Die Tabelle wird im Schema public unter dem Namen des Layers angelegt.
  • Über PostGIS wird eine Geometriespalte mit dem passenden Geometrietyp und SRID hinzugefügt.
  • Alle Attributspalten des GeoPackage-Layers werden auf PostgreSQL-Datentypen abgebildet:
GeoPackage-TypPostgreSQL-Typ
TEXTTEXT
INTEGERBIGINT
REAL / DOUBLEDOUBLE PRECISION
BOOLEANBOOLEAN
DATEDATE
DATETIMETIMESTAMP
BLOBBYTEA

Umgang mit Geometrien​

  • Einfache Geometrien (Point, LineString, Polygon) werden aus Konsistenzgründen automatisch in ihre Multi-Entsprechungen (MultiPoint, MultiLineString, MultiPolygon) umgewandelt.
  • Hat der Quell-Layer Z-Koordinaten, wird die Geometrie mit ST_Force3DZ erzeugt.
  • Geometrien werden mit ST_GeomFromWKB und der passenden SRID eingefügt.
  • Die SRID wird aus dem Koordinatenbezugssystem des Layers abgeleitet (Standard 4326, falls keines festgelegt ist).

Fehlerbehandlung​

SituationVerhalten
Verbindungsdaten nicht konfiguriertDer Export wird mit einem Hinweis abgelehnt, die Datenbankverbindung zu konfigurieren
Netzwerk nicht erreichbar oder Verbindung abgelehntDer Export schlägt mit einem Verbindungsfehler fehl
Zugriff auf die Datenbank verweigertDer Export schlägt mit einem Authentifizierungs- oder Berechtigungsfehler fehl
Ungültige Geometrie in einem FeatureDas Feature wird übersprungen; der Export läuft weiter

Beispiel-Workflow​

Ein typischer Ablauf vom Gelände in die Datenbank:

  1. Im Gelände: Erfassen Sie Features mit Mapit GIS und einem externen GNSS-Empfänger für hohe Genauigkeit.
  2. Zurück im Büro (oder über Mobilfunk): Öffnen Sie den Bildschirm „Layer“, drücken Sie lange auf den Layer und exportieren Sie ihn im Modus Anhängen nach PostgreSQL.
  3. Auf dem Server: Fragen Sie die Daten in QGIS, pgAdmin oder Ihren Reporting-Werkzeugen ab. Die Tabelle enthält die vollständige Geometrie und alle Attribute.
-- Example: View exported data in PostgreSQL
SELECT fid, name, ST_AsText(geometry) FROM tree_survey LIMIT 10;

-- Example: Count features by condition
SELECT overall_condition, COUNT(*) FROM tree_survey GROUP BY overall_condition;
tipp

Für wiederkehrende Exporte aus demselben Layer verwenden Sie den Modus Anhängen und ergänzen Ihr Layerschema um eine Datumsspalte, um die einzelnen Erfassungsdurchgänge unterscheiden zu können.

tipp

Wenn Sie sich über das Internet verbinden, sichern Sie die Datenbankverbindung mit einem VPN oder einem SSH-Tunnel ab. Die JDBC-Verbindung ist standardmäßig nicht verschlüsselt, sofern Ihr PostgreSQL-Server nicht für SSL konfiguriert ist.

hinweis

Der Export nach PostgreSQL erfordert die Berechtigung Import/Export, die in den Stufen Pro und Pro+ enthalten ist.