[Gfoss] Differenze tra Spatialite e Geopackage

a.furieri a lqt.it a.furieri a lqt.it
Sab 24 Giu 2017 00:08:54 CEST


On Fri, 23 Jun 2017 12:13:31 +0200, pierluigi de rosa wrote:
> Ciao a tutti,
>
> come da oggetto non riesco bene a capire le differenze tra Geopackage 
> e SL.
> Quale è la esatta differenza tra i due?
>

Ciao Pierluigi,

SpatiaLite e GeoPackage sono apparentemente molto simili
piu' che altro per un motivo.
Entrambe cercano di implementare il modello geometrico
standard OGC su base SQLite.
Ma da questa vaga ispirazione di fondo poi le due
implementazioni sono radicalmente diverse; non a caso
e' immediatamente possibile distinguere in modo facile
ed asolutamente certo i DB "stile GPKG" da quelli
"stile SpatiaLite".


> A quanto mi sembra potrebbe essere
> - SL: permette archiviazione di vettori e raster, degli stili (per 
> chi usa
> QGIS) ma ha tutte le funzioni tipiche di un geodb (geoprocessing ecc)
> - Geopackage come SL tranne che per le funzioni tipiche di un geodb
>

si, hai centrato perfettamente il punto.
SpatiaLite cerce di essere un vero e proprio Spatial DBMS; cioe'
e' piu' o meno l'equivalente su base SQLite di quel che e' PostGIS
su base PostgreSQL. insomma, e' un potente strumento del tutto
autonomo che consente lo Spatial Processing di basi dati anche di
grandi dimensioni e molto complesse tramite il linguaggio SQL
con le relative estensioni Spatial.

GeoPackage invece e' semplicemente un formato di file standard
privo di qualsivoglia capacita' elaborativa autonoma.
cioe', in altri termini, puoi usare GPKG per memorizzare i tuoi
dati; ma se li vuoi elaborare devi necessariamente usare qualche
altro sw GIS-like (ESRI, QGIS o magari la stessa SpatiaLite).

andando all'osso: GPKG ambirebbe a diventare una specie di
"super-shapefile", cioe' un formato standard che consenta lo
scambio dati tra applicazioni di diversi produttori in modo
ragionevolmente sicuro ed affidabile, che pero' richiedera'
sempre un qualche altro tool per essere concretamente
usabile visto che di suo non offre nessun supporto Spatial
SQL.


> Mi confermate? se si allora perchè è stato fatto il geopackage? ci 
> deve
> essere un motivo che non so
>

la storia dell''evoluzione della specifica GPKG e' tutto
sommato liscia e lineare:
- inizialmente GPKG doveva semplicemente essere SpatiaLite
   elevato al rango di standard OGC
- poi hanno iniziato a sgomitare "le grandi aziende" (indovinate
   quale in particolare) che alla fine sono riuscite ad eliminare
   uno per uno tutti i riferimenti a SpatiaLite.
- il capolavoro finale e' stata l'adozione di una codifica
   binaria per le geometrie che e' sostanzalmente analoga a
   quella gia' adottata da SpatiaLite ma che pero' e'
   volutamente incompatibile.

alla fine quello che e' rimasto nella specifica GPKG e' appunto
un "formato file" nudo e crudo volutamente privo di qualsiasi
capacita' elaborativa autonoma basata su Spatial SQL.

concludendo:
- al di la della somiglianza superficiale dovuta alla comune
   derivazione da SQLite si tratta di due oggetti assolutamente
   diversi, che servono per due scopi nettamente distinti.
- SpatiaLite e' e resta uno Spatial DBMS che offre un supporto
   esteso di tipo Spatial SQL. Puo' anche essere eventualmente
   utilizzata come formato per lo scambio dati, ma non e' certo
   quello lo scopo principale del progetto.
- GPKG rappresenta l'esatto contrario: e' un formato standard
   del tutto privo di supporto Spatial SQL, ed e' nato e pensato
   apposta per delegare tutto il supporto di elaborazione
   dentro alle varie applicazioni che decideranno di
   supportare questo nuovo formato dati (magari con lo scopo
   di pensionare finalmente l'obsoleto SHP).

ciao Sandro


Maggiori informazioni sulla lista Gfoss