PostGIS: Porovnání verzí
m (→Odkazy) |
mBez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
[[Image:postgis.png|right]] | [[Image:postgis.png|right]] | ||
[http://www.postgis.org PostGIS] je rozšíření objektově-relačního databázového systému [[PostgreSQL]] pro podporu geografických objektů. PostGIS implementuje specifikaci [http://www.opengeospatial.org/standards/sfa Simple Features] konsorcia [http://www.opengeospatial.org Open Geospatial Consortium]. | [http://www.postgis.org PostGIS] je rozšíření objektově-relačního databázového systému [[SQL s databázovým systémem PostgreSQL|PostgreSQL]] pro podporu geografických objektů. PostGIS implementuje specifikaci [http://www.opengeospatial.org/standards/sfa Simple Features] konsorcia [http://www.opengeospatial.org Open Geospatial Consortium]. | ||
== Vytvoření databáze == | == Vytvoření databáze == |
Verze z 17. 3. 2009, 14:27
![](/images/a/aa/Postgis.png)
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.
Vytvoření databáze
createdb <databáze> createlang plpgsql <databáze> psql -d <databáze> -f cesta/k/lwpostgis.sql psql -d <databáze> -f cesta/k/spatial_ref_sys.sql
Příklad skriptu pro založení PostGIS databáze:
#!/bin/sh
if test -z "$1" ; then
echo "Usage: $0 database"
exit 1
fi
DB=$1
PATH=/usr/share/postgresql/8.1/contrib/
createdb $DB
createlang plpgsql $DB
psql -d $DB -f $PATH/lwpostgis.sql
psql -d $DB -f $PATH/spatial_ref_sys.sql
exit 0
Import dat
SQL
INSERT INTO zb (cat, zb_geom) VALUES (1, ST_GeomFromText('POINT(13.30150173 49.79076912)', 4326));
nebo
INSERT INTO zb (cat, zb_geom) VALUES (1, ST_SetSRID(ST_MakePoint(13.30150173,49.79076912), 4326));
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');
Související články
Výuka
Odkazy
- PostGIS documentation
- Introduction to PostGIS by Paul Ramsey
- Spatial Data Management
<references />