SpatiaLite: Porovnání verzí

Z GeoWikiCZ
m (→‎Externí odkazy: grasswiki)
Řádek 4: Řádek 4:
=== Založení databáze ===
=== Založení databáze ===


Návod platí pro server [http://josef.fsv.cvut.cz josef].
Nejprve stáhneme inicializační soubor, např.


Databáze se vytvoří automaticky po spuštění interpretu SpatiaLite. V tomto případě se databáze uloží do souboru <tt>gisdb.sqlite</tt>. Pokud ale zůstane databáze po opuštění interpretu prázdná, soubor se nevytvoří.
wget  http://www.gaia-gis.it/spatialite/init_spatialite-2.3.sql.gz
gzip -d init_spatialite-2.3.sql.gz


spatialite gisdb.sqlite
Vytvoříme prázdný soubor a inicializujeme databázi (vytvoříme metadatové tabulky <tt>geometry_columns</tt> a <tt>spatial_ref_sys</tt>).  


Příkazem
touch gisdb.sqlite
spatialite gisdb.sqlite < init_spatialite-2.3.sql


.read /usr/local/share/spatialite/init_spatialite-2.3.sql ASCII
Nyní je databáze připravena pro práci s geoprostorovými daty.
 
nahrajeme metadatové tabulky <tt>geometry_columns</tt> a <tt>spatial_ref_sys</tt>. Nyní je databáze připravena pro práci s geoprostorovými daty.


  spatialite> .tables
  spatialite> .tables

Verze z 8. 11. 2009, 19:14

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> .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. Na serveru josef spustíme tuto verzi QGISu příkazem

/usr/local/qgis-trunk/bin/qgis
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