Topology_Load_Tiger — Lädt die Tiger-Daten einer bestimmte Region in die PostGIS Topologie, transformiert sie in das Koordinatenreferenzsystem der Topologie und fängt sie entsprechend der Genauigkeitstoleranz der Topologie.
text Topology_Load_Tiger(
varchar topo_name, varchar region_type, varchar region_id)
;
Lädt die Tiger Daten einer bestimmten Region in die PostGIS Topologie. Die Maschen, Knoten und Kanten werden in das Koordinatenreferenzsystem der Zieltopologie transformiert und die Knoten werden entsprechend der Toleranz der Zieltopologie gefangen. Die erzeugten Maschen, Knoten und Kanten behalten die ids der ursprünglichen Maschen, Knoten und Kanten der Tiger Daten, wodurch die Daten zukünftig leichter mit neuen Tiger Daten abgeglichen werden können. Gibt eine Zusammenfassung des Prozessablaufs aus.
Dies ist zum Beispiel nützlich, wenn Daten neu strukturiert werden müssen, bei denen die neu ausgebildeten Polygone an den Mittellinien der Strassen ausgerichtet sein sollen und die erzeugten Polygone sich nicht überlappen dürfen.
Diese Funktion benötigt Tiger Daten und das Topologiemodul von PostGIS. Für weiterführende Information siehe Chapter 8, Topologie und Section 2.2.3, “Konfiguration”. Wenn keine Daten für den betreffenden Bereich geladen wurden, dann werden auch keine topologischen Datensätze erstellt. Diese Funktion versagt auch dann, wenn keine Topologie mit den topologischen Funktionen aufgebaut wurde. |
Die meisten topologischen Überprüfungsfehler entstehen durch Toleranzprobleme, wenn nach der Transformation die Kanten nicht genau abgeglichen sind oder sich überlappen. Um dies zu beheben, können Sie bei topologischen Überprüfungsfehlern die Präzision erhöhen oder erniedrigen. |
Benötigte Parameter:
topo_name
Die Bezeichnung einer bestehenden PostGIS Topologie, in die Daten geladen werden.
region_type
Der Typ des begrenzten Bereichs. Zurzeit wird nur place
und county
unterstützt. Geplant sind noch einige weitere Typen. In dieser Tabelle werden die Begrenzungen definiert. z.B. tiger.place
, tiger.county
region_id
Entspricht der "geoid" von TIGER und ist ein eindeutige Identifikator für die Region in der Tabelle. Für Plätze ist es die Spalte plcidfp
in tiger.place
. Für "county" ist es die Spalte cntyidfp
in tiger.county
Verfügbarkeit: 2.0.0
Erstellt eine Topologie für Boston, Massachusetts in "Mass State Plane Feet" (2249) mit einer Toleranz von 0.25 Meter und lädt anschließend die Maschen, Kanten und Knoten von Tiger für Boston City.
SELECT topology.CreateTopology('topo_boston', 2249, 0.25); createtopology -------------- 15 -- 60,902 ms ~ 1 minute on windows 7 desktop running 9.1 (with 5 states tiger data loaded) SELECT tiger.topology_load_tiger('topo_boston', 'place', '2507000'); -- topology_loader_tiger -- 29722 edges holding in temporary. 11108 faces added. 1875 edges of faces added. 20576 nodes added. 19962 nodes contained in a face. 0 edge start end corrected. 31597 edges added. -- 41 ms -- SELECT topology.TopologySummary('topo_boston'); -- topologysummary-- Topology topo_boston (15), SRID 2249, precision 0.25 20576 nodes, 31597 edges, 11109 faces, 0 topogeoms in 0 layers -- 28,797 ms to validate yeh returned no errors -- SELECT * FROM topology.ValidateTopology('topo_boston'); error | id1 | id2 -------------------+----------+-----------
Erstellt eine Topologie für Suffolk, Massachusetts in "Mass State Plane Meters" (26986) mit einer Toleranz von 0.25 Meter und lädt anschließend die Maschen, Kanten und Knoten von Tiger für Suffolk County.
SELECT topology.CreateTopology('topo_suffolk', 26986, 0.25); -- this took 56,275 ms ~ 1 minute on Windows 7 32-bit with 5 states of tiger loaded -- must have been warmed up after loading boston SELECT tiger.topology_load_tiger('topo_suffolk', 'county', '25025'); -- topology_loader_tiger -- 36003 edges holding in temporary. 13518 faces added. 2172 edges of faces added. 24761 nodes added. 24075 nodes contained in a face. 0 edge start end corrected. 38175 edges added. -- 31 ms -- SELECT topology.TopologySummary('topo_suffolk'); -- topologysummary-- Topology topo_suffolk (14), SRID 26986, precision 0.25 24761 nodes, 38175 edges, 13519 faces, 0 topogeoms in 0 layers -- 33,606 ms to validate -- SELECT * FROM topology.ValidateTopology('topo_suffolk'); error | id1 | id2 -------------------+----------+----------- coincident nodes | 81045651 | 81064553 edge crosses node | 81045651 | 85737793 edge crosses node | 81045651 | 85742215 edge crosses node | 81045651 | 620628939 edge crosses node | 81064553 | 85697815 edge crosses node | 81064553 | 85728168 edge crosses node | 81064553 | 85733413