PostGIS: Porovnání verzí

Z GeoWikiCZ
mBez shrnutí editace
Řádek 92: Řádek 92:


== Odkazy ==
== Odkazy ==
* http://spatialreference.org


{{GIS}}
{{GIS}}

Verze z 6. 2. 2009, 10:47

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

SQL

ESRI Shapefile (shp2pgsql, ogr2ogr)

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)

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

Další formáty podporované knihovnou OGR (ogr2ogr)

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);
INSERT INTO geometry_columns VALUES ('', 'public', 'cr_bbox', 'wkb_geometry', 2, 4326, 'POLYGON');
ALTER TABLE cr_bbox ADD COLUMN gid serial;
ALTER TABLE cr_bbox ADD primary key (gid);
CREATE INDEX cr_wkb ON cr_bbox USING GIST (wkb_geometry);

Poznámky

Atribut geometrie

Pro manipulaci s atributem geometrie slouží specializované funkce, které aktualizují tabulku geometry_columns, vytvoří nad atributem prostorový index.

  • Vytvoření prostorové atributu
SELECT AddGeometryColumn(
schéma,                        # volitelný atribut
název tabulky,
sloupec,
srid,
typ geometrie,
dimenze);

Např.

SELECT AddGeometryColumn(zb, zb_geom, 4326, POINT, 2);
  • Odstranění atributu geometrie
DropGeometryColumn(
schéma,                        # volitelný atribut
název tabulky,
sloupec)
  • Odstranění tabulky
DropGeometryTable(
schéma,                        # volitelný atribut
název tabulky)

Definice S-JTSK

INSERT INTO spatial_ref_sys VALUES (102067, 'local', 102067,
'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');

Odkazy