RasterLite
RasterLite je rozšíření SpatiaLite pro uložení, manipulaci a analýzu rastrových dat.
Pod operačním systémem Debian GNU/Linux nainstalujeme SpatiaLite příkazem
sudo apt-get install librasterlite2 rasterlite-bin
Import dat
Nejprve stáhneme testovací data a vytvoříme SpatiaLite databázi.
wget http://ueod-globe.net/globe/TrueMarble_GeoTIFF/TrueMarble.500m.21600x21600.A1.tif.gz gzip -d TrueMarble.500m.21600x21600.A1.tif.gz spatialite raster.sqlite < init_spatialite-2.3.sql
Data naimportujeme pomocí nástroje rasterlite_load.
rasterlite_load -d raster.sqlite -T marble -f TrueMarble.500m.21600x21600.A1.tif -i TIFF -e 4326
Příklad jednoduchého dotazu.
SELECT tile_id, AsText(geometry) FROM marble_metadata
WHERE NOT IsEmpty(geometry) LIMIT 3;
tile_id = 0 astext(geometry) = POLYGON((-180 90, -177.904167 90, -177.904167 87.904167, -180 87.904167, -180 90)) tile_id = 1 astext(geometry) = POLYGON((-177.904167 90, -175.808333 90, -175.808333 87.904167, -177.904167 87.904167, -177.904167 90)) tile_id = 2 astext(geometry) = POLYGON((-175.808333 90, -173.7125 90, -173.7125 87.904167, -175.808333 87.904167, -175.808333 90))
V databázi se vytvoří dvě tabulky
- marble_rasters - binární data dlaždic
- marble_metadata - metadata dlaždic
select * from marble_rasters limit 3;
id|raster 1 |II* 2 |II* 3 |II*
select * from marble_metadata limit 3;
id source_name tile_id width height pixel_x_size pixel_y_size geometry ---------- --------------- ---------- ---------- ---------- ------------ ------------ ---------- 0 raster metadata 0 0 0 0.0 0.0 1 /opt/vyuka/land 0 503 503 0.0041666666 0.0041666666 2 /opt/vyuka/land 1 503 503 0.0041666666 0.0041666666