Database contro file per Developer Solo


10

Ho appena iniziato a utilizzare il GIS e sono interessato a utilizzarlo per creare mappe dei percorsi per mountain bike nella mia zona e nelle vicinanze. Ho imparato QGIS e ho fatto abbastanza progressi per generare una mappa decente. Finora ho archiviato i miei layer in Shapefile, che sembra funzionare bene.

Lo scorso fine settimana ho iniziato a guardare PostGIS e averlo installato e funzionante e sono riuscito a importare i miei shapefile di traccia e collegare QGIS a PostGIS.

Ora mi chiedo quali sarebbero i pro e i contro dell'utilizzo di un database rispetto ai file. Ho già alcuni pensieri, ma sono curioso di sapere quali opinioni illuminanti possano avere gli altri.

Pro del database

  • Una tabella per tutti i miei percorsi, indipendentemente dal parco, mi permette di avere una serie coerente di colonne per le informazioni.
  • Più facile interrogare / esportare i miei dati in più formati
  • Più client / strumenti consentono una più facile visualizzazione e modifica dei dati
  • Modifica più semplice della struttura della tabella (rispetto alla modifica della tabella QGIS)

Contro del database

  • Stare in piedi / mantenere un database aggiunge complessità alla mia configurazione.
  • Ho un desktop e un laptop su cui lavoro il mio GIS e l'utilizzo di DropBox mi consente di sincronizzare facilmente i file tra le due macchine. Questo probabilmente non sarà possibile (o altrettanto trasparente) usando PostGIS come usando DropBox con i file.
  • Più facile per il backup / ripristino dei file rispetto a un database.

1
Se la mappa sarà di sola lettura e rimarrà al di sotto di 2 GB, attenersi ai file delle forme. Se prevedi di avere più modifiche simultanee e che è un set di dati maggiore di 2 GB, vai con Postgis.
CaptDragon

Risposte:


12

Ti suggerisco di aggiungere Spatialite alla tua lista. Ha i vantaggi di essere basato su file (come un file shapefile o .mdb) e supporta la maggior parte dei soliti operatori spaziali e tpy, che puoi trovare anche in PostGIS. Spatialite si basa su Sqlite, quindi gestirai un singolo file, che puoi spostare e condividere facilmente.


Darò un'occhiata poiché, dalla tua descrizione, sembra offrire il meglio di entrambi i mondi.
Brian Kelly,

6

Direi che il più grande professionista su un database PostGIS è che puoi lavorare con l'intero set di funzioni che PostGIS ti offre.

Tutti i contro nella tua lista, sono tutti molto facili da risolvere. Puoi eseguire Postgis su ONE server e utilizzare il tuo laptop e desktop come client. Anche la domanda di backup, è possibile generare file di dump o quant'altro per avere un backup valido e di valore! ;)


Mi piace usare il mio laptop per viaggiare in treno, quindi in quel momento non ho alcuna connessione a Internet.
Brian Kelly,

@Styp, se hai il server PostGIS e il client su un singolo laptop, funziona perfettamente!
Simbamangu

5

Un altro grande vantaggio di PostGIS è che con i database spaziali è possibile conservare una copia dei dati spaziali e creare viste che si collegano ai dati non spaziali tramite un ID univoco.

Quindi è possibile creare sottoinsiemi dei dati completi creando visualizzazioni che selezionano da esso, in modo da poter creare tabelle a stato singolo come visualizzazioni di una tabella di paese completa. Qualcosa di simile a:

crea viste txcounties come seleziona * da contee dove state = 'TX'

Inoltre, nessuno sembra aver menzionato la velocità delle operazioni spaziali per PostGIS. Supponiamo che tu voglia vedere qual è la cascata più vicina alle tue piste ciclabili, data una tabella di linee di sentieri e una tabella di punti di interesse tra cui cascate. Questo è il tipo di query che PostGIS può eseguire molto rapidamente poiché mantiene gli indici spaziali sulle tabelle spaziali. Probabilmente puoi farlo con gli strumenti nativi in ​​Qgis ma potrebbe essere un po 'più lento.

Ovviamente per una piccola applicazione divertente come la tua queste cose probabilmente non sono una buona ragione per entrare nella complessità di un database spaziale, ma ciò potrebbe spiegare perché queste funzionalità "enterprise" sono essenziali per i progetti più grandi.


Ho letto il capitolo gratuito di "PostGIS in azione" che mi ha portato alla stessa conclusione, roba molto potente ma probabilmente eccessiva (proprio ora) per quello che voglio farci.
Brian Kelly,

2

Un altro vantaggio dei file DB rispetto ai file flat è il controllo delle versioni, fondamentale per il GIS per l'immissione di dati multiutente.

Esiste un plug-in beta per PostGIS e GeoGit, cfr. questa domanda.


Sto lavorando da solo, quindi ho aggiornato la domanda per riflettere ciò. Il tuo punto è valido però.
Brian Kelly,

1

C'è una limitazione nel file Shape (massimo 2 GB) .. quindi se la dimensione della tua mappa non va oltre questo limite .. puoi usare il file Shape senza alcuna configurazione db ....


Questo è un buon punto (ma tieni presente che il limite di 2 GB si applica allo stesso modo e separatamente alle funzionalità nel file .shp e agli attributi nel file .dbf). Tuttavia, la domanda invita a confronti tra la soluzione shapefile e la soluzione DB. In che modo le limitazioni sulla dimensione del file shapefile si confrontano con eventuali limitazioni simili nei file di database?
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.