Beste Wahl zum Erstellen statischer Karten: PostGIS, SpatiaLite oder Shapefile?

10

Normalerweise erstelle ich statische topografische Karten, die meistens gedruckt werden. Ich verwende oft OSM und Rasterdateien (hauptsächlich verschiedene DEMs). Die Gebiete, die ich kartiere, überschreiten selten 20.000 km². Ich verwende ausschließlich Open-Source-Software wie QGIS, SAGA und GRASS.

Ich kenne die Probleme mit Shapefiles, aber sie sind einfach zu handhaben. Und ich bin nicht sehr vertraut mit Postgis oder SpatiaLite. Ich habe Postgis ausprobiert, habe aber viele Probleme damit. SpatiaLite scheint mir einfacher zu sein.

Was denkst du: Soll ich bei Shapefiles bleiben oder zu Datenbanken wie SpatiaLite oder Postgis wechseln? Was sind die Vor- und Nachteile in meinem Fall?

KARTE
quelle
ist es für lokale (hauptsächlich in GIS-Software zu verwenden) oder für die Bereitstellung über das Internet in gehosteten Karten?
Unter dem Radar
Auf welche Probleme sind Sie mit PostGIS gestoßen?
RyanKDalton
Es ist hauptsächlich für den lokalen Lauf. Ich habe OSM in Postgis geladen und in QGIS verwendet. Das ist alles, was ich bisher mit Postgis gemacht habe.
Karte
3
Datenbanken sind hinsichtlich Stabilität und Leistung effizienter. Sie können auch komplexe SQL-Abfragen ausführen. Persönlich verwende ich Shapefiles nur als Austauschformat. In Ihrem Fall würde ich versuchen, Spatialite zu verwenden, da keine Datenbankserver-Installation erforderlich ist
Megadrofan
1
Früher oder später treffen Sie auf den Anwendungsfall, bei dem Sie eine Ebene benötigen, die nur eine räumliche Beziehung oder einen Spaltenwert enthält. PostGis ist nur eines, das von einem Benutzer auf so ziemlich alles skaliert. Ich denke, Postgis als Werkzeug nicht nur db.
Simplexio

Antworten:

14

Wenn der einzige Grund, warum Sie über die Einführung eines neuen Systems nachdenken, "weil es ein glänzendes neues System gibt" ist , tun Sie es nicht. Solange Sie nicht tatsächlich auf Probleme mit den Einschränkungen von Shapefiles stoßen oder einige spezifische Funktionen von Postgis / Spatialite / was auch immer nutzen möchten, müssen Sie keine Änderungen vornehmen. Entwerfe und produziere weiterhin Karten.

Früher oder später werden sich die Probleme mit Shapefiles zuspitzen, und das ist die Zeit, sie anzugehen. Das neue glänzende System wird dann noch neuer und glänzender.

Es ist immer noch eine gute Idee, ein Auge auf das zu haben, was "dort drüben" passiert, und es von Zeit zu Zeit auszuprobieren. Investieren Sie jedoch nicht in die Änderung Ihres gesamten Produktionsworkflows, bis sich konkrete Vorteile ergeben. Ansonsten ist es allzu einfach, Monate (Jahre!) Mit dem Auto in der Garage zu basteln und nirgendwo hin zu fahren.

matt wilkie
quelle
14

Spatialite könnte interessant sein, da es für den lokalen Gebrauch schnell ist. Sie können es direkt in den RAM Ihres Computers laden und es ist nur eine Datei, so dass es wirklich portabel und gemeinsam nutzbar ist. Sie können R-Tree-Indizes für die Geometrie erstellen.

Genau wie PostGIS folgt Spatialite den OGC-Standards und viele seiner Funktionen ähneln denen von PostGIS und können in SQL verwendet werden. Es ist auch " [...] ein alternatives Format zu ESRI-Shapefiles, bei denen verschiedene Probleme auftreten (z. B. Speichertypen und Längen von Spaltennamen usw.) " ( PostGIS-Wiki ).

Das Rasterlite-Plugin ist auch sehr leistungsfähig, um Rasterdaten mithilfe von Pyramiden und Bildkomprimierung zu verwalten. ( Rasterlite offizielle Bedienungsanleitung )

PostGIS ist auch eine gute Option, alles was Sie brauchen ist da. Es wäre eine bessere Option, wenn Ihre Daten von vielen Benutzern gleichzeitig bearbeitet würden oder wenn Sie große Datenmengen wie OSM hosten möchten. Osm2pgsql ist übrigens ein zuverlässiges Tool zum Importieren von OSM-Daten in PostGIS.

Die Verwendung von DB bietet unter anderem den Vorteil, dass Sie SQL für Abfragen verwenden und räumliche Indizes erstellen können. Darüber hinaus ist es relativ einfach, Ebenen zwischen dem Spatialite-, PostGIS- und Shapefile-Format zu migrieren, sodass Sie problemlos eine Mischung aus diesen drei verwenden können.

UPDATE 2019: Ich würde GeoPackage gegenüber Spatialite für eine eigenständige GIS SQLite-Datenbank bevorzugen

Unter dem Radar
quelle
1
Stimmen Sie dem gerade hinzugefügten Update 2019 zu. GeoPackage (gpkg) wird jetzt von Haus aus in QGIS gut unterstützt und bietet die in diesen Antworten vor Jahren beschriebenen Datenbankvorteile ohne zusätzlichen Aufwand.
Houska
5

Der Hauptvorteil von Spatialite besteht darin, dass es sich nur um eine Datei handelt, die Sie problemlos freigeben und sichern können. Postgis benötigt viel mehr Aufwand, um die Daten von einem Computer auf einen anderen zu portieren.

Shapefiles haben ihre Einschränkungen bei Spaltennamen, können jedoch problemlos Nicht-EPSG-Projektionen verarbeiten. Das Bearbeiten größerer Datenmengen wird mit einfachen Shapefiles schmerzhaft. Deshalb wechsle ich so schnell wie möglich zu Spatialite.

Ich verwende Postgis für OSM-Daten, da es sehr viele Daten aufnehmen kann, ohne QGIS als Frontend zu beenden, und schnell reagiert. Das Polygon-Handling von osm2pgsql ist weitaus besser als bei allen bisher gesehenen Osm-to-Spatialite-Importeuren.

Also benutze ich effektiv alle drei.

AndreJ
quelle
Ich bin fasziniert von dem Hinweis zu Shapefiles, mit denen benutzerdefinierte Projektionen problemlos verarbeitet werden können. Dies könnte besonders wichtig sein. Bedeutet dies, dass Postgis und SQLite keine Nicht-EPSG-Koordinatensysteme verarbeiten?
Matt Wilkie
Sie tun dies, aber Sie müssen im Voraus ein benutzerdefiniertes CRS mit einer zusätzlichen selbst erstellten SRID hinzufügen. Ich bin mir nicht sicher, ob das beim Datenaustausch mit anderen problemlos funktioniert.
AndreJ