Topology_Load_Tiger — PostGIS 지형에 TIGER 데이터의 정의된 지역을 로드하면서 TIGER 데이터를 지형의 공간 참조 시스템으로 변환하고 지형의 정확도 허용 오차에 스냅시킵니다.
text Topology_Load_Tiger(
varchar topo_name, varchar region_type, varchar region_id)
;
PostGIS 지형에 TIGER 데이터의 정의된 지역을 로드합니다. 면, 노드 및 경계선을 대상 지형의 공간 참조 시스템으로 변환하고 대상 지형의 허용 오차에 포인트들을 스냅시킵니다. 이렇게 생성된 면, 노드, 경계선이 원본 TIGER 데이터의 면, 노드, 경계선과 동일한 ID를 유지하기 때문에, 이 데이터셋은 향후 TIGER 데이터와 더 쉽게 함께 쓰일 수 있습니다. 처리 과정에 대한 요약 설명문을 반환합니다.
이 함수는, 예를 들어, 도로의 중심선을 따라 새로 형성된 폴리곤이 필요한데 이 폴리곤들이 서로 중첩해서는 안 될 경우, 데이터를 제약하는 데 유용합니다.
이 함수는 TIGER 데이터는 물론 PostGIS 지형의 설치에 의존적입니다. 더 자세한 정보를 원한다면 Chapter 9, 지형(topology) 및 Section 2.2.3, “설정” 을 참조하십시오. 관심지역을 커버하는 데이터를 로드하지 않았을 경우, 어떤 지형 레코드도 생성하지 않을 것입니다. 또한 지형 함수를 이용해서 지형을 생성하지 않았을 경우에도 오류를 발생시킬 것입니다. |
지형 확인 오류 대부분은 변환 작업 후 경계선 및 포인트가 제대로 정렬되지 않거나 중첩되지 않는 허용 오차 문제입니다. 지형 확인 오류가 발생한 경우, 이런 상황을 해결하려면 정확도를 높이거나 낮추는 편이 좋을 수도 있습니다. |
필수 인수:
topo_name
- 데이터를 로드할 기존 PostGIS 지형의 명칭입니다.
region_type
- 경계를 이루는 지역의 유형입니다. 현재 place
와 county
만 지원합니다. 몇몇 유형을 더 지원할 예정입니다. 이 인수는 tiger.place
, tiger.county
처럼 지역 경계를 정의하려면 살펴봐야 할 테이블입니다.
region_id
- TIGER가 지리 ID(geoid)라고 부르는 식별자입니다. 테이블에 있는 지역의 유일한 식별자입니다. place
의 경우 tiger.place
테이블에 있는 plcidfp
열입니다. county
의 경우 tiger.county
테이블에 있는 cntyidfp
열입니다.
2.0.0 버전부터 사용할 수 있습니다.
매사추세츠 주 피트 단위 평면(2249)에서 매사추세츠 주 보스턴 시에 대해 허용 오차 0.25 피트를 가진 지형을 생성한 다음, 보스턴 시의 TIGER 면, 경계선, 노드를 로드합니다.
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 -------------------+----------+-----------
매사추세츠 주 미터 단위 평면(26986)에서 매사추세츠 주 서퍽 군에 대해 허용 오차 0.25 미터를 가진 지형을 생성한 다음, 서퍽 군의 TIGER 면, 경계선, 노드를 로드합니다.
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