SpatiaLite is a spatial extension to
SQLite
SQLite (, ) is a database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it belongs to the family of embedded databases. It is the mo ...
, providing
vector
Vector most often refers to:
*Euclidean vector, a quantity with a magnitude and a direction
*Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism
Vector may also refer to:
Mathematic ...
geodatabase
A spatial database is a general-purpose database (usually a relational database) that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data. Most s ...
functionality. It is similar to
PostGIS
PostGIS ( ) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC).
Technica ...
,
Oracle Spatial, and
SQL Server with spatial extensions, although SQLite/SpatiaLite aren't based on client-server architecture: they adopt a simpler personal architecture. i.e. the whole SQL engine is directly embedded within the application itself: a complete database simply is an ordinary file which can be freely copied and transferred from one computer/OS to a different one without any special precaution.
SpatiaLite extends SQLite's existing spatial support to cover the
OGC's
SFS specification. It isn't necessary to use SpatiaLite to manage spatial data in SQLite, which has its own implementation of
R-tree
R-trees are tree data structures used for spatial access methods, i.e., for indexing multi-dimensional information such as geographical coordinates, rectangles or polygons. The R-tree was proposed by Antonin Guttman in 1984 and has found s ...
indexes and geometry types. But SpatiaLite is needed for advanced spatial queries and to support multiple
map projection
In cartography, map projection is the term used to describe a broad set of transformations employed to represent the two-dimensional curved surface of a globe on a plane. In a map projection, coordinates, often expressed as latitude and longit ...
s. SpatiaLite is provided natively for Linux and Windows as a software library as well several utilities that incorporate the SpatiaLite library. These utilities include command line tools that extend SQLite's own with spatial macros, a graphical GUI for manipulating Spatialite databases and their data, and a simple desktop GIS tool for browsing data.
As it is a single binary file, SpatiaLite is also used as a
GIS vector format to exchange geospatial data.
Software that supports SpatiaLite
* Desktop:
** ESRI
ArcGIS
ArcGIS is a family of client, server and online geographic information system (GIS) software developed and maintained by Esri. ArcGIS was first released in 1999 and originally was released as ARC/INFO, a command line based GIS system for mani ...
since version 10.2 as "Database Connection".
**
QGIS
QGIS is a free and open-source cross-platform desktop geographic information system (GIS) application that supports viewing, editing, printing, and analysis of geospatial data.
Functionality
QGIS functions as geographic information system (GIS ...
supports SpatiaLite native since version 1.1
** AutocadMap 2013
**
Global Mapper
Global Mapper is a geographic information system (GIS) software package currently developed by Blue Marble Geographics that runs on Microsoft Windows. The GIS software competes with ESRI, GeoMedia, Manifold System, and MapInfo GIS products. Global ...
**
OpenJUMP offers a Plug-In.
**
FME (also available as server)
** TileMill renderer (uses Mapnik) reads SpatiaLite as data source.
** Spatial Manager Desktop, Spatial Manager for AutoCAD, Spatial Manager for BricsCAD
* (Web)Server:
**
GeoServer via SpatiaLite extension.
**
GeoDjango via the GeoDjango module.
**
Web2py (web framework) native
** FeatureServer, a
WFS server.
**
MapServer
MapServer is an open-source development environment for building spatially enabled internet applications, built in the C language, and is widely known as one of the fastest Web mapping engines available. It can run as a CGI program or via MapSc ...
via the
GDAL
The Geospatial Data Abstraction Library (GDAL) is a computer software library for reading and writing raster and vector geospatial data formats (e.g. shapefile), and is released under the permissive X/MIT style free software license by the O ...
library (actually OGR).
* Tools and libraries:
**
OGR Simple Feature Library reads and writes SpatiaLite since version 1.7
**
GeoTools supports SpatiaLite using
JDBC
Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. ...
module.
**
Mapnik
Mapnik is an open-source mapping toolkit for desktop and server based map rendering, written in C++. Artem Pavlenko, the original developer of Mapnik, set out with the explicit goal of creating beautiful maps by employing the sub-pixel anti-ali ...
, a renderer.
** pyspatialite, a
Python library.
**
OSGeo Live DVD includes spatialite along with a short tutorial.
* Web Apps:
** GeoConverter - Free online data converter which reads and writes several GIS vector file formats (based on OGR), including SpatiaLite.
Standards
SpatiaLite supports several open standards from the
OGC and has been listed as a reference implementation for the proposed
GeoPackage standard.
References
External links
*
*
*
GIS file formats
GIS software
Spatial database management systems
Software that uses wxWidgets
{{compu-sci-stub