SpatiaLite: Porovnání verzí
Řádek 69: | Řádek 69: | ||
== Vizualizace dat v [[QGIS|QGISu]] == | == Vizualizace dat v [[QGIS|QGISu]] == | ||
[[QGIS]] obsahuje v | [[QGIS]] obsahuje v vývojové verzi (1.1.0) zásuvný modul pro SpatialLite. Na serveru [http://josef.fsv.cvut.cz josef] spustíme tuto verzi QGISu příkazem | ||
/usr/local/qgis-trunk/bin/qgis | /usr/local/qgis-trunk/bin/qgis |
Verze z 22. 4. 2009, 08:02

SQLite je relační databázový systém obsažený v relativně malé knihovně napsané v C. Je vyvíjen D. Richardem Hippem a šířen pod licencí public domain.
Na rozdíl od databází založených na principu klient-server, kde je databázový server spuštěn jako samostatný proces, je SQLite pouze malá knihovna, která se přilinkuje k aplikaci a pomocí jednoduchého rozhraní ji lze začít využívat. Každá databáze je uložena v samostatném souboru .dbm (Database Manager), kde se data ukládají za použití jednoduchého primárního klíče do stejně velkých bloků a používá hashovacích technik pro rychlý přístup k datům při vyhledávání podle klíče.
V SQLite je implementován téměř celý standard SQL-92.
Databázi SQLite lze použít například v programovacích jazycích C, C++, Delphi, PHP, Java, Python, Perl, Tcl aj.
Převzato z české wikipedie.
- SpatiaLite

Prostorové rozšíření SpatiaLite umožňuje ukládat v databázi SQLite geoprostorová data - podobně jako např. PostGIS pro databázový systém PostgreSQL.
Založení databáze
Návod platí pro server josef.
Databáze se vytvoří automaticky po spuštění interpretu SpatiaLite. V tomto případě se databáze uloží do souboru gisdb.sqlite. Pokud ale zůstane databáze po opuštění interpretu prázdná, soubor se nevytvoří.
spatialite gisdb.sqlite
Příkazem
.read /usr/local/share/spatialite/init_spatialite-2.3.sql ASCII
nahrajeme metadatové tabulky geometry_columns a spatial_ref_sys. Nyní je databáze připravena pro práci s geoprostorovými daty.
spatialite> .tables geom_cols_ref_sys geometry_columns spatial_ref_sys spatialite> .exit
Import dat
Pro tento účel můžeme vyexportovat data např. z cvičné databáze PostGIS.
pgsql2shp pgis_student gis1.obce
Data naimportujeme např.
spatialite_tool -i -shp obce -d gisdb.sqlite -t obce -c UTF-8 -s 2065 -g the_geom
anebo přímo z interpretu SpatiaLite
spatialite> .loadshp ./obce obce UTF-8 2065 the_geom
Ukázka jednoduchého dotazu
spatialite> SELECT nazev,Area(the_geom)/1e6 AS plocha FROM obce ORDER BY plocha DESC LIMIT 5;
Praha|496.077202708984
Hradiště|328.857295861328
Brdy|259.774799202647
Libavá|238.31301229512
Brno|230.03067746875
Virtuální tabulky
Příklad přípojení dat ve formátu Shapefile jako virtuální tabulku.
CREATE VIRTUAL TABLE obce USING VirtualShape(obce, UTF-8, 2065);
Vizualizace dat v QGISu
QGIS obsahuje v vývojové verzi (1.1.0) zásuvný modul pro SpatialLite. Na serveru josef spustíme tuto verzi QGISu příkazem
/usr/local/qgis-trunk/bin/qgis