SpatiaLite: Porovnání verzí

Z GeoWikiCZ
Řádek 65: Řádek 65:
== Vizualizace dat v [[QGIS|QGISu]] ==
== Vizualizace dat v [[QGIS|QGISu]] ==


[[QGIS]] nabízí ve 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
[[QGIS]] nabízí ve vývojové verzi (1.1.0) zásuvný modul pro SpatialLite. V učebně B870:


  /usr/local/qgis-trunk/bin/qgis
  gis


[[Image:qgis-spatialite.png|center|frame|Přidání SpatiaLite vrstvy v QGISu (1)]]
[[Image:qgis-spatialite.png|center|frame|Přidání SpatiaLite vrstvy v QGISu (1)]]

Verze z 20. 11. 2009, 13:24

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

Nejprve stáhneme inicializační soubor, např.

wget  http://www.gaia-gis.it/spatialite/init_spatialite-2.3.sql.gz
gzip -d init_spatialite-2.3.sql.gz

Vytvoříme prázdný soubor a inicializujeme databázi (vytvoříme metadatové tabulky geometry_columns a spatial_ref_sys).

touch gisdb.sqlite
spatialite gisdb.sqlite < init_spatialite-2.3.sql

Nyní je databáze připravena pro práci s geoprostorovými daty.

spatialite gisdb.sqlite

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

OGR

Pro import/export dat lze využít i knihovnu OGR, která volitelně SQLite podporuje.

Příklad konverze dat z PostGIS do SpatiaLite.

ogr2ogr -f SQLite gisdb.sqlite pg:dbname=pgis_student fgcz.obce

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 nabízí ve vývojové verzi (1.1.0) zásuvný modul pro SpatialLite. V učebně B870:

gis
Přidání SpatiaLite vrstvy v QGISu (1)
Přidání SpatiaLite vrstvy v QGISu (2)

Poznámka: V současné době neumožňuje QGIS vizualizovat data připojené jako virtuální tabulky.

Související články

Externí odkazy