SpatiaLite: Porovnání verzí

Z GeoWikiCZ
mBez shrnutí editace
 
(Není zobrazeno 76 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
{{Upravit}}
{{freegiswiki|SpatiaLite}}
[[Image:sqlite-logo.png|right]]
'''[http://www.sqlite.org/ 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 [http://cs.wikipedia.org/wiki/SQL SQL-92].
 
Databázi SQLite lze použít například v programovacích jazycích C, C++, Delphi, PHP, Java, Python, Perl, Tcl aj.
 
<div align="right">
Převzato z české [http://cs.wikipedia.org/wiki/SQLite wikipedie].
</div>
;SpatiaLite
[[Image:spatialite-logo.png|175px|right]]
Prostorové rozšíření [http://www.gaia-gis.it/spatialite/ SpatiaLite] umožňuje ukládat v databázi SQLite geoprostorová data - podobně jako např. [[PostGIS]] pro databázový systém [[PostgreSQL]].
__TOC__
=== Založení databáze ===
 
Návod platí pro server [http://josef.fsv.cvut.cz josef].
 
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ří.
 
spatialite gisdb.sqlite
 
Příkazem
 
.read /usr/local/share/spatialite/init_spatialite-2.3.sql ASCII
 
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
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|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
 
<source lang="sql">
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
</source>
 
== Virtuální tabulky ==
 
Příklad přípojení dat ve formátu Shapefile jako virtuální tabulku.
 
<source lang="sql">
CREATE VIRTUAL TABLE obce USING VirtualShape(obce, UTF-8, 2065);
</source>
 
== Vizualizace dat v [[QGIS|QGISu]] ==
 
[[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
 
{{GFOSS}}
{{GIS}}

Aktuální verze z 8. 1. 2013, 14:22

Stránky přesunuty na Free GIS Portál: http://geo.fsv.cvut.cz/freegis/SpatiaLite