Vantaggi dell'utilizzo di spatialite rispetto a shapefile? [chiuso]


35

Ho trovato la spazialite più utile degli shapefile in quanto non ha i limiti dello shapefile ed è anche portatile. Molte persone qui usano gli shapefile per scambiare dati e persino gli esperti non conoscono questo nuovo formato.

Quali sono i vantaggi dell'utilizzo della spatialite rispetto agli shapefile?

Può essere usato al posto di shapefile?

Concentrati solo su quei formati che sono portatili, cioè possono essere scambiati usando chiavette USB. GML, GeoJSON, KML, CSV non sono un'opzione e non sono direttamente modificabili in GIS.

AGGIORNAMENTO: Sono passati più di 5 anni e il nuovo sviluppo è diretto verso il geopackage che è legato alla spazialite.

Quindi ora la domanda è più simile ai vantaggi dell'utilizzo di GEOPACKAGE rispetto a GEODATABASE?

Risposte:


27

Gli Shapefile sono il minimo comune denominatore dello scambio di file di dati vettoriali GIS: invia un archivio di shapefile e puoi praticamente garantire che qualcuno sarà in grado di costruire un GIS di base da esso.

I vantaggi di SpatiaLite includono:

  • tutto è in un unico file; nessuno dei messaggi shp / shx / dbf / idx / prj per layer.
  • la logica e i dati possono essere inclusi, sotto forma di VISUALIZZAZIONI e TRIGGER.
  • indici spaziali integrati, che consentono ricerche rapide di grandi aree.
  • sono sistemi di database reali (anche se leggermente limitati, principalmente in accesso multiutente), senza competenze di amministratore del database richieste.

Ma ci sono alcuni svantaggi:

  • non tutti possono usarli.
  • sono ancora per lo più limitati a geometrie costruite da nodi e linee rette; se hai bisogno di spline e superfici, cerca altrove.

8
Buon post, ma due punti sugli indici spaziali. Anche gli Shapefile possono essere indicizzati spazialmente e, in secondo luogo, devi unirti esplicitamente a un indice spaziale Spatialite che può portare ad alcune domande ingombranti. Preferisco ancora spostare i dati in un DB Spatialite, ma importarli in un database PostGIS per trarre vantaggio dal suo più robusto planner di query.
HeyOverThere

22

Gli Shapefile sono associati a un tipo di geometria, quindi ottieni un sacco di file per un singolo progetto. Anche i nomi dei campi sono limitati a causa dell'utilizzo di un formato di database antiquario.

In spatialite, puoi conservare tutti i dati del progetto in un file; e dai un nome ai campi come vuoi (beh, quasi).

L'unico svantaggio di spatialite è il ciclo di aggiornamento rapido, che rende difficile leggere o scrivere i dati scritti in un'altra versione (precedente).


15

Oltre alla risposta di scruss, gli shapefile hanno alcune limitazioni:

  • la lunghezza massima del nome campo è di 10 caratteri
  • la dimensione massima del file (.dbf / .shp) è di 2 GB
  • gli attributi numerici sono memorizzati come caratteri (numeri interi / float), causando potenziali problemi con arrotondamenti ecc
  • I valori NULL vengono interpretati in modo diverso tra i sistemi

4

Il più grande vantaggio, per me, è il sistema di database relazionale in un unico formato di file. Tra i numerosi vantaggi vi è l'uso di funzioni spaziali per creare viste. Prendi in considerazione un caso in cui ti è stato assegnato un set di punti e la tua metodologia consiste nel bufferizzare la base di punti su un attributo, quindi testare la coincidenza di quei buffer con altre caratteristiche geografiche. L'uso di questo flusso di lavoro con i file di forma richiede in genere che ogni operazione venga mantenuta come un altro file di forma. Ora, se uno qualsiasi dei dati forniti viene aggiornato, è necessario eseguire nuovamente l'intera catena. Per non parlare del fatto che in alcuni ambienti i dati di input potrebbero essere modificati all'insaputa dell'utente. Questo non è un problema quando si fa affidamento su viste SQL per operazioni di geometria. (Sono consapevole che esistono strumenti che risolvono questo tipo di problema con gli shapefile, ma la domanda riguarda il database spatiaLite.)


2

Tutto ciò che si trova in un file è anche uno svantaggio: molto più difficile da risolvere, se qualcosa è rotto. Anche la dimensione del file sembra iniziare da 3,7 MB, anche per set di dati quasi vuoti. Sembrano anche supportare solo campi di testo, interi e float. Nessuna data / ora o campi booleani. Almeno durante i test in QGIS 1.8


1
Spatialite ha tipi di data / ora, in quanto ha tipi per qualsiasi cosa: Tipo di data e ora .
scruss

2
"SQLite non ha una classe di archiviazione riservata alla memorizzazione di date e / o orari" citata dalla pagina a cui ti colleghi. Sì, è possibile archiviare qualsiasi cosa in un campo di testo, ma è ancora solo testo, che deve essere analizzato prima di poter eseguire la matematica su di esso.
Uffe Kousgaard,

No, non lo fai; puoi fare domande come select * where date < '1980-01-01'e fa la matematica per te.
scruss

il che significa che il testo viene analizzato. L'alternativa è che la data sia memorizzata come un numero compreso direttamente dal motore. Senza rischi, ti imbatti nel 31 aprile o in qualsiasi altro valore illegale. Con il testo deve essere tradotto in un numero, prima che l'operatore <possa essere applicato.
Uffe Kousgaard,

1
@UffeKousgaard: in file .dbf, numeri (numeri interi / float) e periodi di dati memorizzati come caratteri, quindi nel caso dell'analisi, gli shapefile non hanno alcun vantaggio qui.
Oyvind,
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.