|
|
(Není zobrazeno 154 mezilehlých verzí od stejného uživatele.) |
Řádek 1: |
Řádek 1: |
| [http://cs.wikipedia.org/wiki/PostGIS 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]. Více [[153YFSG#Přednášky|přednášky]] předmětu Free Software GIS.
| | {{freegiswiki|PostGIS}} |
| | |
| == 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) ===
| |
| | |
| {{GrassPrikaz|v.out.ogr}} input=cr type=area format=PostgreSQL dsn="pg:dbname=pgis_yfsg"
| |
| | |
| === Další formáty podporované knihovnou [[GDAL/OGR|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:
| |
| | |
| <source lang="sql">
| |
| 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);
| |
| </source>
| |
| | |
| == Poznámky ==
| |
| | |
| === Atribut geometrie ===
| |
| | |
| Pro manipulaci s atributem geometrie slouží specializované funkce, které aktualizují tabulku <tt>geometry_columns</tt>, vytvoří nad atributem prostorový index.
| |
| | |
| *;Vytvoření prostorové atributu
| |
| | |
| SELECT AddGeometryColumn(
| |
| schéma, # volitelný atribut
| |
| název tabulky,
| |
| sloupec,
| |
| srid,
| |
| typ geometrie,
| |
| dimenze);
| |
| | |
| Např.
| |
| <source lang="sql">
| |
| SELECT AddGeometryColumn(zb, zb_geom, 4326, POINT, 2);
| |
| </source>
| |
| | |
| *;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 ===
| |
| | |
| <source lang="sql">
| |
| 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');
| |
| </source>
| |
| | |
| {{GIS}}
| |