수백만 개의 구획 모양 파일을 실행하고 단순화 할 수있는 도구가 있습니까?
수백만 개의 구획 모양 파일을 실행하고 단순화 할 수있는 도구가 있습니까?
답변:
GEOS 위에 빌드 된 Python API 인 Shapely를 사용해 볼 수 있습니다. Shapely와 GDAL에는 Python 라이브러리가 있으므로 여러 다른 소스 (shapefile 포함)의 데이터에 쉽게 결합한 다음 원하는대로 단순화하고 내보낼 수 있습니다.
수백만 가지 기능을 수행하는 경우 속도가 유일한 단점 일 수 있습니다 . GEOS 또는 JTS를 직접 사용하는 것이 더 빠를 수 있습니다 .
단순화 방법을 참조하십시오 :
단순화 된 객체의 모든 점은 원래 형상의 공차 거리 내에 있습니다. 기본적으로 토폴로지를 유지하는 느린 알고리즘이 사용됩니다. 보존 토폴로지가 False로 설정되면 더 빠른 Douglas-Peucker 알고리즘이 사용됩니다.
>>> p = Point(0.0, 0.0)
>>> x = p.buffer(1.0)
>>> x.area
3.1365484905459389
>>> s = x.simplify(0.05, preserve_topology=False)
>>> s.area
3.0614674589207187
데이터가 PostGIS에 저장된 경우 ST_SimplifyPreserveTopology를 사용해보십시오 .
ogr2ogr에는 "segmentize"옵션이있어 필요한 작업을 수행 할 수 있습니다 : GDAL ogr2ogr documentation
해당 페이지에서 :
-segmentize max_dist : (GDAL 1.6.0부터 시작) 두 노드 사이의 최대 거리. 중간 포인트를 생성하는 데 사용됩니다.
GRASS v.generalize
Mapshaper에서 영감을 얻었지만 현지에서 직접 https://github.com/migurski/Bloch