PostGIS

Z GeoWikiCZ

PostGIS je rozšíření objektově-relačního databázového systému PostgreSQL pro podporu geografických objektů. PostGIS implementuje specifikaci Simple Features konsorcia Open Geospatial Consortium. Více přednášky předmětu Free Software GIS.

Import dat

ESRI Shapefile

shp2pgsql -s 4326 -D -I -W latin2 cr.shp cr | psql pgis_yfsg
OGR včetně transformace S-JTSK → WGS-84
export PGCLIENTENCODING=LATIN2

ogr2ogr -f PostgreSQL -s_srs '+proj=krovak \
+a=6377397.155 +rf=299.1528128 +no_defs \
+towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1.0' \
-t_srs EPSG:4326 \
pg:dbname=pgis_yfsg cr.shp

GRASS GIS

v.out.ogr input=cr type=area format=PostgreSQL dsn="pg:dbname=pgis_yfsg"

Další formáty podporované knihovnou OGR

GPX
ogr2ogr -f PostgreSQL -t_srs EPSG:4326 pg:dbname=pgis_yfsg yfsg-w.gpx waypoints

Příklady

Manuální vytvoření vrstvy s minimálním ohraničujícím obdélníkem hranice ČR:

CREATE TABLE cr_bbox AS (SELECT Envelope(wkb_geometry) AS wkb_geometry FROM cr);
% sloupec s primarnim klicem
ALTER TABLE cr_bbox ADD COLUMN id serial;
ALTER TABLE cr_bbox ADD primary key (id);
% indexy
CREATE INDEX cr_id ON cr_bbox (id);
CREATE INDEX cr_wkb ON cr_bbox USING GIST (wkb_geometry);

Poznámky

Přidání vlastní definice S-JTSK:

INSERT INTO spatial_ref_sys VALUES (102067, 'local', 32768,
'PROJCS["Krovak",GEOGCS["bessel",DATUM["unknown",
SPHEROID["Bessel_1841",6377397.155,299.1528128],
TOWGS84[570.8,85.7,462.8,4.998,1.587,5.261,3.56]],
PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],
PROJECTION["Krovak"],PARAMETER["latitude_of_center",0],
PARAMETER["longitude_of_center",0],PARAMETER["azimuth",0],
PARAMETER["pseudo_standard_parallel_1",0],PARAMETER["scale_factor",1],
PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["meter",1]]',
'+proj=krovak +a=6377397.155 +rf=299.1528128 +no_defs
+towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1.0');