SpatiaLite: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
K (Software Support of SpatiaLite)
 
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Über SQLite ==
+
Erweiterung der [[SQLite]]-Datenbank mit Geometrie-Datentypen.
  
SQLite ist eine bekannte, robuste, einfach zu nutzende und leichtgewichtige relationale "Embedded Datenbank" (bzw.
+
Siehe auch: [[SpatiaLite - Tipps und Tricks]]
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.
 
 
 
== SpatialLite ==
 
Erweiterung von SQLite.
 
  
 
* Enthält u.a. folgende z.T. OpenGIS-konforme Funktionen:
 
* Enthält u.a. folgende z.T. OpenGIS-konforme Funktionen:
Zeile 26: Zeile 16:
 
** VirtualShape für [[Shapefiles]]  
 
** VirtualShape für [[Shapefiles]]  
 
** VirtualText für CSV/Txt/Tab-Dateien
 
** VirtualText für CSV/Txt/Tab-Dateien
 +
 +
 +
== Software-Unterstuetzung ==
 +
 +
Tools von der SpatiaLite Original-Installation:
 +
* spatialite-gis - Viewer
 +
* spatialite-gui - Admin Tool (aka SQLite Database Browser)
 +
 +
SpatiaLite wird von folgenden GIS und Tools unterstützt:
 +
* Online-Tools:
 +
** [[GeoConverter]]
 +
* Desktop-Software:
 +
** [[ArcGIS]] ab Version 10.2 als "Database Connection".
 +
** [[QGIS]] unterstützt SpatiaLite nativ ab Version 1.1 [http://qgis.org/en/about-qgis/features.html]
 +
** [[QGIS]] with Plugin '''Qspatialite''': [http://pvanb.wordpress.com/2011/03/30/new-spatialite-plugin-for-qgis/ Ecostudies Blog 'New spatialite plugin for QGIS'] (Qspatialite.zip direct [http://dl.free.fr/getfile.pl?file=/554xkFf1]). Install it using menu "Extensions".
 +
** AutocadMap 2013
 +
** Pitney Bowes MapInfo Professional 11.5.2.
 +
** [[Global Mapper]] [http://www.bluemarblegeo.com/products/global-mapper.php]
 +
** [[OpenJUMP]] bietet ein Plug-In.
 +
** Feature Manipulation Engine (FME) (auch als server)
 +
** [[TileMill]] liest SpatiaLite als Datenquelle.
 +
* (Web-)Server-Software:
 +
** [[Django (Framework)|GeoDjango]] bietet eine Schnittstelle an. [https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/spatialite/]
 +
** [[Web2py (web framework)]] native.
 +
** [[FeatureServer]], ein [[WFS]]-Server.
 +
* Software-Werkzeuge und -Bibliotheken:
 +
** [[OGR]] liest und schreibt SpatiaLite ab Version 1.7
 +
** [[GeoTools]] unterstützt im [[Java Database Connectivity|JDBC]]-Modul unter anderem SpatiaLite. [http://docs.codehaus.org/display/GEOTOOLS/JDBC+SpatiaLite]]
 +
** [[Mapnik]], ein Renderer - zusammen mit dem [[SQLite]]-Treiber.
 +
** pyspatialite, eine [[Python]]-Bibliothek. [https://github.com/lokkju/pyspatialite]
 +
** GIS Live DVD|OSGeo Live DVD includes spatialite along with a short tutorial. [http://live.osgeo.org/en/quickstart/spatialite_quickstart.html]
 +
** [[MBTiles]] - An OS X binary that takes a bunch of files in directories on disk and writes them into a sqlite database.
  
 
== SpatialLite-Dateiformat ==
 
== SpatialLite-Dateiformat ==
Zeile 37: Zeile 59:
  
 
Vergleich SpatiaLite vs. Shapefile: SpatiaLite hat...
 
Vergleich SpatiaLite vs. Shapefile: SpatiaLite hat...
 +
* Geometrie: OGC simple feature types, SQL SF
 
* Weniger Files (mehrere Layer, Indizes, ...)
 
* Weniger Files (mehrere Layer, Indizes, ...)
 
* Aufhebung Limitierung Spaltennamen (>10!)
 
* Aufhebung Limitierung Spaltennamen (>10!)
Zeile 43: Zeile 66:
 
* Integrierte Metadaten (Projektion, etc.)
 
* Integrierte Metadaten (Projektion, etc.)
 
* Library mit SQL-API (Insert, Join, 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...)
  
Was SpatiaLite noch fehlt, sind Kreisbogen (Arc Geometry).
+
Nachteile von SpatiaLite:
 +
* Kreisbogen-Geometrie ( => mit mittlerem Aufwand behebbar)
 +
* Strenge Typisierung (=> kaum realisierbar)
 +
* Typen-Casts gehen bei Views verloren
 +
* Fehlende quelloffenheit und Stabilität unabhängig vom Entwickler (= unklar)
  
 
Vgl. auch Vortrag [http://www.fossgis.de/konferenz/2010/events/127.de.html SpatiaLite, das Shapefile der Zukunft?] von P. Kalberer ([http://www.sourcepole.ch/2010/3/8/referate-fossgis-2010 Folien]).
 
Vgl. auch Vortrag [http://www.fossgis.de/konferenz/2010/events/127.de.html SpatiaLite, das Shapefile der Zukunft?] von P. Kalberer ([http://www.sourcepole.ch/2010/3/8/referate-fossgis-2010 Folien]).
 +
 +
== Spatialite und Python ==
 +
 +
http://www.gaia-gis.it/spatialite-2.4.0-4/spatialite-cookbook/html/python.html
  
 
== Weblinks ==
 
== Weblinks ==
  
* Homepage, mit Downloads, Dokumentation und Beispieldaten: http://www.gaia-gis.it/spatialite/
+
* SpatiaLite
* http://de.wikipedia.org/wiki/SQLite
+
** [http://www.gaia-gis.it/spatialite/ SpatiaLite Home Page] mit Downloads, Dokumentation und Beispieldaten
 +
** Support / Mailinglisten: [http://groups.google.com/group/spatialite-users SpatiaLite Users]
 +
* SQLite:
 +
** [http://www.sqlite.org/ sqlite.org] - SQLite Home Page
 +
** Support / Mailinglisten: [http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users SQLite Users], [http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev SQLite Developers]
 +
** http://de.wikipedia.org/wiki/SQLite
 +
 
 +
[[Kategorie:Datenbanksysteme]]
 +
[[Kategorie:SQLite]]

Aktuelle Version vom 7. Januar 2014, 01:20 Uhr

Erweiterung der SQLite-Datenbank mit Geometrie-Datentypen.

Siehe auch: SpatiaLite - Tipps und Tricks

  • 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


Software-Unterstuetzung

Tools von der SpatiaLite Original-Installation:

  • spatialite-gis - Viewer
  • spatialite-gui - Admin Tool (aka SQLite Database Browser)

SpatiaLite wird von folgenden GIS und Tools unterstützt:

  • Online-Tools:
  • Desktop-Software:
  • (Web-)Server-Software:
  • Software-Werkzeuge und -Bibliotheken:
    • OGR liest und schreibt SpatiaLite ab Version 1.7
    • GeoTools unterstützt im JDBC-Modul unter anderem SpatiaLite. [5]]
    • Mapnik, ein Renderer - zusammen mit dem SQLite-Treiber.
    • pyspatialite, eine Python-Bibliothek. [6]
    • GIS Live DVD|OSGeo Live DVD includes spatialite along with a short tutorial. [7]
    • 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)
  • Typen-Casts gehen bei Views verloren
  • Fehlende quelloffenheit und Stabilität unabhängig vom Entwickler (= unklar)

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

Spatialite und Python

http://www.gaia-gis.it/spatialite-2.4.0-4/spatialite-cookbook/html/python.html

Weblinks