Datenbank versus Dateien für Solo Developer

10

Ich fange gerade erst mit GIS an und bin daran interessiert, damit Karten von Mountainbike-Strecken in meiner Umgebung und in der Nähe zu erstellen. Ich habe QGIS gelernt und genug Fortschritte gemacht, um eine anständige Karte zu erstellen. Bisher habe ich meine Ebenen in Shapefiles gespeichert, was anscheinend in Ordnung ist.

Am vergangenen Wochenende habe ich angefangen, mir PostGIS anzuschauen und es in Betrieb zu nehmen. Es ist mir gelungen, meine Trail-Shapefiles zu importieren und QGIS mit PostGIS zu verbinden.

Ich frage mich jetzt, welche Vor- und Nachteile die Verwendung einer Datenbank im Vergleich zu Dateien hätte. Ich habe bereits einige Gedanken, bin aber neugierig, welche aufschlussreichen Meinungen andere haben könnten.

Vorteile der Datenbank

  • Eine Tabelle für alle meine Trails, unabhängig vom Park, ermöglicht es mir, einen konsistenten Satz von Spalten für die Informationen zu haben.
  • Einfachere Abfrage / Export meiner Daten in mehrere Formate
  • Mehrere Clients / Tools ermöglichen eine einfachere Anzeige und Bearbeitung von Daten
  • Einfachere Bearbeitung der Tabellenstruktur (im Vergleich zur QGIS-Tabellenbearbeitung)

Nachteile der Datenbank

  • Das Aufstehen / Verwalten einer Datenbank erhöht die Komplexität meines Setups.
  • Ich habe einen Desktop und einen Laptop, an denen ich meine GIS-Arbeit erledige. Mit DropBox kann ich Dateien auf einfache Weise zwischen den beiden Computern synchronisieren. Dies ist mit PostGIS wahrscheinlich nicht möglich (oder so transparent) wie mit DropBox mit Dateien.
  • Dateien können einfacher gesichert / wiederhergestellt werden als eine Datenbank.
Brian Kelly
quelle
1
Wenn die Karte schreibgeschützt ist und unter 2 GB bleibt, bleiben Sie bei den Formdateien. Wenn Sie mehrere gleichzeitige Änderungen planen und der Datensatz größer als 2 GB ist, entscheiden Sie sich für Postgis.
CaptDragon

Antworten:

12

Ich empfehle Ihnen, Spatialite zu Ihrer Liste hinzuzufügen . Es hat den Vorteil, dateibasiert zu sein (als Shapefile oder MDB-Datenbank) und unterstützt die meisten der üblichen räumlichen Operatoren und Tpyes, die Sie auch in PostGIS finden. Spatialite basiert auf Sqlite, sodass Sie eine einzelne Datei verwalten, die Sie einfach verschieben und freigeben können.

giohappy
quelle
Ich werde einen Blick darauf werfen, da es Ihrer Beschreibung nach das Beste aus beiden Welten zu bieten scheint.
Brian Kelly
6

Ich würde sagen, der größte Vorteil einer PostGIS-Datenbank ist, dass Sie mit dem gesamten Funktionssatz arbeiten können, den PostGIS Ihnen bietet.

Alle Nachteile in Ihrer Liste sind sehr einfach zu beheben. Sie können Postgis auf EINEM Server ausführen und Ihren Laptop und Desktop als Client verwenden. Die Backup-Frage ist auch, Sie können Dump-Dateien generieren oder was auch immer, um ein gutes und wertvolles Backup zu haben! ;)

Styp
quelle
Ich benutze meinen Laptop jedoch gerne für Zugfahrten, daher habe ich zu diesem Zeitpunkt keine Internetverbindung.
Brian Kelly
@Styp, wenn Sie den PostGIS-Server und -Client auf einem einzigen Laptop haben, funktioniert es einwandfrei!
Simbamangu
5

Ein weiteres großes Plus für PostGIS ist, dass Sie mit räumlichen Datenbanken eine Kopie der räumlichen Daten behalten und Ansichten erstellen können , die über eine eindeutige ID mit Ihren nicht räumlichen Daten verknüpft sind.

Anschließend können Sie Teilmengen Ihrer vollständigen Daten erstellen, indem Sie Ansichten erstellen, die daraus auswählen. So können Sie Einzelstatus-Tabellen als Ansichten einer vollständigen Ländertabelle erstellen. Etwas wie:

Erstellen Sie die Ansicht txcounties als select * aus Counties, in denen state = 'TX'.

Auch scheint niemand die Geschwindigkeit der räumlichen Operationen für PostGIS erwähnt zu haben. Angenommen, Sie möchten sehen, welcher Wasserfall Ihren Radwegen am nächsten liegt, und zwar anhand einer Tabelle mit Routenlinien und einer Tabelle mit Sehenswürdigkeiten einschließlich Wasserfällen. Diese Art von Abfrage kann PostGIS sehr schnell ausführen, da räumliche Indizes für die räumlichen Tabellen beibehalten werden. Sie können dies wahrscheinlich mit den nativen Tools in Qgis tun, aber es ist möglicherweise etwas langsamer.

Für eine lustige kleine Anwendung wie Ihre sind diese Dinge wahrscheinlich kein guter Grund, sich mit der Komplexität einer räumlichen Datenbank zu befassen, aber es könnte erklären, warum diese "unternehmerischen" Funktionen für größere Projekte unerlässlich sind.

Spacedman
quelle
Ich habe das kostenlose Kapitel von "PostGIS in Aktion" gelesen, das mich zu dem gleichen Schluss führte wie Sie - sehr mächtiges Zeug, aber wahrscheinlich (im Moment) übertrieben für das, was ich damit machen möchte.
Brian Kelly
2

Ein weiterer Vorteil von DB gegenüber Flatfiles ist die Versionierung, die für die Mehrbenutzer-Dateneingabe von GIS von entscheidender Bedeutung ist.

Es gibt ein Beta-Plugin für PostGIS und GeoGit, vgl. diese Frage.

Laurent Jégou
quelle
Ich arbeite alleine, also habe ich die Frage aktualisiert, um dies widerzuspiegeln. Ihr Punkt ist jedoch gültig.
Brian Kelly
1

Es gibt eine Einschränkung in der Formdatei (max. 2 GB). Wenn Ihre Kartengröße diese Grenze nicht überschreitet, können Sie die Formdatei ohne Datenbank-Setup verwenden.

Vadivelan Palanichamy
quelle
Das ist ein guter Punkt (aber bitte beachten Sie, dass das 2-GB-Limit gleichermaßen und getrennt für die Funktionen in der .shp-Datei und für die Attribute in der .dbf-Datei gilt). Die Frage lädt jedoch zu Vergleichen zwischen der Shapefile-Lösung und der DB-Lösung ein. Wie vergleichen sich die Einschränkungen der Shapefile-Dateigröße mit ähnlichen Einschränkungen, falls vorhanden, in den Datenbankdateien?
whuber