SpatiaLite

Aus Geoinformation HSR
Version vom 18. Oktober 2010, 12:38 Uhr von Stefan (Diskussion | Beiträge) (SpatiaLite, the Shapefile of the future?)

Wechseln zu: Navigation, Suche

Über SQLite

SQLite ist eine bekannte, robuste, einfach zu nutzende und leichtgewichtige relationale "Embedded Datenbank" (bzw. Datenbankmanagementsystem, DBMS, Software). Sie wird u.a. in der Mobile Plattform und dem Betriebssystem Android eingesetzt und von QGIS unterstützt. SQLite ähnelt aus Benutzersicht PostgreSQL.

SQLite unterstützt einen Großteil der im SQL-92-Standard festgelegten SQL-Sprachbefehle. Unter anderem implementiert SQLite Transaktionen, Unterabfragen (subselects), Sichten (views), Trigger und benutzerdefinierte Funktionen. Es fehlen jedoch Funktionen wie Referentielle Integrität (FOREIGN KEY) oder die Möglichkeit, Objektberechtigungen zu verwalten (GRANT, REVOKE). Für alle wichtigen Programmiersprachen existieren passende Datenbankschnittstellen. Auch ein in der Konsole und in Shell-Skripten verwendbares, einfaches Frontend ist vorhanden.

Jede SQLite-Datenbank ist eine einfache Datei (typischerweise .sqlite), eine Client/Server-Architektur ist also nicht vorhanden. Es werden die Betriebssysteme Windows, Linux und MacOs unterstützt. Dazu kommt eine Erweiterung, 'SpatiaLite mit Geometrie-Datentypen (vgl. unten).

Die Daten können mit einem mitgelieferten Administrations-Tool (GUI) und vielen anderen DBMS-Admin-Tools (wie z.B. SQL Workbench) administriert werden. Dazu kommen Kommandozeilen-Tools.

SQLite Tools

  • SQLite Database Browser
  • tbd.
  • Siehe auch: SpatiaLite.

SpatialLite

Erweiterung von SQLite.

  • Enthält u.a. folgende z.T. OpenGIS-konforme Funktionen:
    • WKT and WKB formats
    • SQL spatial functions wie AsText(), GeomFromText(), Area(), PointN().
    • Das komplette Set von OpenGIS-Funktionen (via GEOS), wie Overlaps(), Touches(), Union(), Buffer().
    • Spatial metadata
    • Spatial Index based on the SQLite's RTree extension
  • Import/Export/Transformation:
    • supports importing and exporting from / to shapefiles
    • supports coordinate reprojection via PROJ.4 and EPSG geodetic parameters dataset
    • supports locale charsets via GNU libiconv
  • Direkte Unterstützung von folgenden Formaten als "Virtuelle Tabellen", ohne sie importieren zu müssen
    • VirtualShape für Shapefiles
    • VirtualText für CSV/Txt/Tab-Dateien

SpatiaLite-Tools

  • Tools from SpatiaLite original delivery/installation:
    • spatialite-gis - Viewer
    • spatialite-gui - Admin Tool (aka SQLite Database Browser)
    • tbd.
  • http://mapbox.com/tools/mbtiles - An OS X binary that takes a bunch of files in directories on disk and writes them into a sqlite database.

SpatialLite-Dateiformat

Binäres, umfassendes Geodatenformat (seit März 2008). Wir von mehreren GIS-Tools unterstützt, u.a. QGIS, OGR und FDO.

Siehe:

SpatiaLite, the Shapefile of the future?

Vergleich SpatiaLite vs. Shapefile: SpatiaLite hat...

  • Geometrie: OGC simple feature types, SQL SF
  • Weniger Files (mehrere Layer, Indizes, ...)
  • Aufhebung Limitierung Spaltennamen (>10!)
  • 64-bit IEEE Floating Point Typ
  • Eingebaute Unicode Unterstützung
  • Integrierte Metadaten (Projektion, etc.)
  • Library mit SQL-API (Insert, Join, etc.)
  • Funktionen wie Coordinate reprojection (proj.4)
  • Schema-Informationen (!) (wenn auch eine schwache konkrete Datentypisierung)
  • Keine Restriktion auf 8 Zeichen in Attributnamen (und weniger reservierte Worte, wie ID, TEXT, die dann oft in _ID und _TEXT umbenannt werden, was dann wieder einige DBase Tools nicht lesen können...)

Nachteile von SpatiaLite:

  • Kreisbogen-Geometrie ( => mit mittlerem Aufwand behebbar)
  • Strenge Typisierung (=> kaum realisierbar)
  • Fehlende quelloffenheit und Stabilität unabhängig vom Entwickler (= unklar)

Vgl. auch Vortrag SpatiaLite, das Shapefile der Zukunft? von P. Kalberer (Folien).

Weblinks