PostGIS Topology: Porovnání verzí

Z GeoWikiCZ
m (Obsah stránky nahrazen textem „{{freegiswiki|PostGIS Topology}}“)
 
(Není zobrazeno 33 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
{{Upravit}}
{{freegiswiki|PostGIS Topology}}
 
[http://trac.osgeo.org/postgis/wiki/UsersWikiPostgisTopology PostGIS Topology] je rozšíření pro [[PostGIS]] umožňující ''topologickou'' správu vektorových dat v prostředí PostGIS/[[PostgreSQL]].
 
Více přednášky [[153UZPD#Přednášky|Úvod do zpracování prostorových dat]].
 
== Příklad ==
 
<source lang=sql>
CREATE SCHEMA my_schema;
SET search_path TO my_schema,public;
</source>
 
=== Feature table 'kraje' ===
 
<source lang=sql>
CREATE TABLE kraje AS SELECT nuts3, st_multi(st_union(geom)) as geom FROM gis1.obce GROUP BY nuts3;
SELECT nuts3,st_geometrytype(geom) AS type, ROUND(st_area(geom)/1e6) AS area from kraje;
</source>
 
<pre>
nuts3 |      type      | area 
-------+-----------------+-------
CZ042 | ST_MultiPolygon |  5341
CZ081 | ST_MultiPolygon |  5566
CZ053 | ST_MultiPolygon |  4523
CZ032 | ST_MultiPolygon |  7566
CZ041 | ST_MultiPolygon |  3317
CZ071 | ST_MultiPolygon |  5141
CZ061 | ST_MultiPolygon |  6924
CZ051 | ST_MultiPolygon |  3163
CZ062 | ST_MultiPolygon |  7065
CZ021 | ST_MultiPolygon | 11013
CZ072 | ST_MultiPolygon |  3961
CZ031 | ST_MultiPolygon | 10071
CZ052 | ST_MultiPolygon |  4767
CZ011 | ST_MultiPolygon |  496
(14 rows)
</pre>
 
=== Vytvoření topologického schématu 'kraje' ===
 
* [http://postgis.org/documentation/manual-svn/CreateTopology.html CreateTopology()]
 
<source lang=sql>
SELECT topology.createtopology('kraje', 2065, 1);
</source>
 
''Argumenty:''
* 2065 (EPSG)
* 1 (přesnost v mapových jednotkách, tj. v tomto případě v metrech)
 
<source lang=sql>
SELECT * from topology.topology;
</source>
 
<pre>
id |  name    | srid | precision | hasz
----+-----------+------+-----------+------
  1 | kraje    | 2065 |        1 | f
</pre>
 
\dt kraje.
 
<pre>
          List of relations
Schema |   Name    | Type  |  Owner 
--------+-----------+-------+---------
kraje  | edge_data | table | postgis
kraje  | face      | table | postgis
kraje  | node      | table | postgis
kraje  | relation  | table | postgis
</pre>
 
=== Přidání atributu topologie do feature table ===
 
* [http://postgis.org/documentation/manual-svn/AddTopoGeometryColumn.html AddTopoGeometryColumn()]
 
<source lang=sql>
select topology.AddTopoGeometryColumn('kraje', 'my_schema', 'kraje', 'topo', 'MULTIPOLYGON');
</source>
 
<source lang=sql>
SELECT * FROM topology.layer;
</source>
 
<pre>
topology_id | layer_id | schema_name | table_name | feature_column | feature_type | level | child_id
-------------+----------+-------------+------------+----------------+--------------+-------+----------
          1 |        1 | my_schema  | kraje      | topo          |            3 |    0 |       
</pre>
 
''Poznámka:'' <tt>feature_type</tt> '3' odpovídá 'face' (1 - node, 2 - edge).
 
=== Sestavení topologie (Geometry &rarr; TopoGeometry) ===
 
* [http://postgis.org/documentation/manual-svn/toTopoGeom.html toTopoGeom()]
 
<source lang=sql>
CREATE TABLE kraje_topo (ogc_fid SERIAL PRIMARY KEY, nuts3 VARCHAR(80));
SELECT topology.AddTopoGeometryColumn('kraje', 'my_schema', 'kraje_topo', 'topo', 'MULTIPOLYGON');
INSERT INTO kraje_topo(nuts3, topo) SELECT nuts3, topology.toTopoGeom(geom, 'kraje', 1) FROM kraje;
</source>
 
== Externí odkazy ==
 
* [http://2010.foss4g.org/presentations/3555.pdf State of the art of FOSS4G for topology and network analysis]
* [http://www.postgis.org/documentation/manual-svn/Topology.html PostGIS 2.0 Topology section of manual]
* [http://cs.wikipedia.org/wiki/Topologie Topogie] {{bullet}} [http://cs.wikipedia.org/wiki/Sedm_most%C5%AF_m%C4%9Bsta_Kr%C3%A1lovce Sedm mostů města Královce] {{bullet}} [http://en.wikipedia.org/wiki/Geographic_information_system#Topological_modeling Topological modeling]
* [http://cs.wikipedia.org/wiki/Geografick%C3%BD_informa%C4%8Dn%C3%AD_syst%C3%A9m#Vektorov.C3.A9_modely Vektorové modely]
* [http://strk.keybit.net/projects/postgis/ strk's page about PostGIS]
* [http://strk.keybit.net/blog/2011/10/14/postgis-topology-iso-sqlmm-complete/ PostGIS topology ISO SQL/MM complete]
 
{{Databáze}}
{{GIS}}
{{GFOSS}}

Aktuální verze z 9. 1. 2013, 10:50

Stránky přesunuty na Free GIS Portál: http://geo.fsv.cvut.cz/freegis/PostGIS_Topology