🖥️ IT, 컴퓨터/🐍 Python

[Python] geopandas이용하여 shp파일 단순화하기 :: simplify

김 홍시 2024. 11. 13. 15:35
반응형
import geopandas as gpd
from shapely.geometry import Polygon

# 데이터 로드
gdf = gpd.read_file("shp파일경로.shp")

# 단순화 수행 (허용 오차: 0.01)
gdf['geometry'] = gdf['geometry'].simplify(tolerance=0.8, preserve_topology=True)

# 저장
gdf.to_file("shp파일경로.shp")

원하는 오차를 수치로 정하면 됨.

수치가 클수록 많이 단순화됨

 

 

m라면 100까지가 적당함.

 

 

1. Tolerance 설정 기준

  • 단위: tolerance는 입력된 데이터의 좌표계 단위에 따라 다릅니다.
    • 만약 좌표계가 WGS84 (EPSG:4326)라면, 단위는 도(degree)입니다.
    • 만약 좌표계가 UTM이나 다른 미터 기반 좌표계라면, 단위는 미터(m)입니다.

데이터 예시

  • 국가/도시 수준 데이터:
    • 적절한 tolerance: 0.001~0.01 (도로, 행정구역 경계 등 큰 영역)
  • 소규모 지역 데이터:
    • 적절한 tolerance: 0.0001~0.001 (건물 경계, 작은 지역 등)

 

 

 

주의점 : 단순화하면 이와 같이 feature들 사이에 gap이 생김. 따라서 중요한 공간 분석을 수행해야 하는 경우 단순화 하지 말고 raw 파일 그대로 쓸 것 

반응형