Warning: mkdir(): No space left on device in /var/www/html/vendor/wikimedia/shellbox/src/FileUtils.php on line 113
Warning: mkdir(): No space left on device in /var/www/html/vendor/wikimedia/shellbox/src/FileUtils.php on line 113
Warning: mkdir(): No space left on device in /var/www/html/vendor/wikimedia/shellbox/src/FileUtils.php on line 113
Warning: mkdir(): No space left on device in /var/www/html/vendor/wikimedia/shellbox/src/FileUtils.php on line 113
Warning: mkdir(): No space left on device in /var/www/html/vendor/wikimedia/shellbox/src/FileUtils.php on line 113
Warning: mkdir(): No space left on device in /var/www/html/vendor/wikimedia/shellbox/src/FileUtils.php on line 113
Warning: mkdir(): No space left on device in /var/www/html/vendor/wikimedia/shellbox/src/FileUtils.php on line 113 SpatiaLite – GeoWikiCZPřeskočit na obsah
Pro tento účel můžeme vyexportovat data např. z cvičné databáze PostGIS do formátu ESRI ShapeFile.
pgsql2shp pgis_student gis1.obce
Data ve formátu ESRI Shapefile naimportujeme
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.
time spatialite gis1.sqlite \
"SELECT COUNT(DISTINCT kodob) FROM obce JOIN zeleznice AS \
zelez ON intersects(zelez.geometry, obce.geometry);"
real 11m6.652s
user 11m6.450s
sys 0m0.192s
time psql pgis_student -c \
"SELECT COUNT(DISTINCT kodob) FROM gis1.obce AS obce JOIN gis1.zeleznice AS \
zelez ON ST_Intersects(zelez.the_geom, obce.the_geom);"
real 0m4.327s
user 0m0.028s
sys 0m0.012s
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);
Síťové analýzy
Pro síťové analýzy lze použít virtuální tabulku VirtualNetwork, která implementuje Dijkstrův algoritmus pro vyhledání nejkratší cesty.
Prvním krokem je vytvoření sítě (tj. dat reprezentující graf). Podmínky jsou následující:
Každá entita reprezentuje jednu hranu (LineString)
Každé hraně je přiřazena dvojice uzlů - počáteční a koncový uzel
QGIS nabízí od verze 1.1.0 zásuvný modul pro SpatialLite.
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.