반응형
shp 파일의 크기를 줄이는 방법은 주로 데이터의 단순화, 불필요한 필드 제거, 또는 압축 방식을 활용하는 방법을 포함합니다. 아래에 구체적인 방법을 정리해 보았습니다.
1. 지리 데이터 단순화 (Simplification)
지리 데이터를 단순화하여 파일 크기를 줄일 수 있습니다. 이는 QGIS
나 ArcGIS
와 같은 GIS 소프트웨어 또는 Python을 이용하여 수행할 수 있습니다.
- QGIS:
- 레이어를 선택하고
벡터 > 지오메트리 도구 > 단순화
로 이동합니다. - 단순화 허용 오차 값을 설정하여 세부 정보를 줄입니다.
- 레이어를 선택하고
- Python (Shapely, Geopandas):
import geopandas as gpd from shapely.geometry import Polygon # 데이터 로드 gdf = gpd.read_file("your_file.shp") # 단순화 수행 (허용 오차: 0.01) gdf['geometry'] = gdf['geometry'].simplify(tolerance=0.01, preserve_topology=True) # 저장 gdf.to_file("simplified_file.shp")
2. 불필요한 속성 필드 제거
속성 테이블에서 사용하지 않는 필드를 삭제하면 파일 크기를 줄일 수 있습니다.
- QGIS:
- 속성 테이블 열기 (
Ctrl+T
). 필드 계산기
또는필드 삭제
기능을 이용하여 불필요한 필드를 제거.
- 속성 테이블 열기 (
- Python:
gdf = gdf.drop(columns=['불필요한_필드1', '불필요한_필드2']) gdf.to_file("reduced_file.shp")
3. 지오메트리 정리 (Clean Geometry)
지오메트리 오류나 중복 데이터를 제거하여 용량을 줄일 수 있습니다.
- QGIS:
벡터 > 지오메트리 도구 > 지오메트리 정리
- Python:
shapely.geometry
를 활용하여buffer(0)
로 지오메트리를 수정.
Shapely
의 simplify
함수에서 사용하는 tolerance
값은 데이터의 복잡성과 단순화된 데이터가 보존해야 할 정확도에 따라 결정됩니다. 따라서 가중치(허용 오차)는 데이터의 특성과 프로젝트 목적에 맞게 설정해야 합니다.
1. Tolerance 설정 기준
- 단위:
tolerance
는 입력된 데이터의 좌표계 단위에 따라 다릅니다.- 만약 좌표계가 WGS84 (EPSG:4326)라면, 단위는 도(degree)입니다.
- 만약 좌표계가 UTM이나 다른 미터 기반 좌표계라면, 단위는 미터(m)입니다.
데이터 예시
- 국가/도시 수준 데이터:
- 적절한
tolerance
: 0.001~0.01 (도로, 행정구역 경계 등 큰 영역)
- 적절한
- 소규모 지역 데이터:
- 적절한
tolerance
: 0.0001~0.001 (건물 경계, 작은 지역 등)
- 적절한
반응형
'🗺️ GIS & RS > 📚 GIS (지리정보시스템)' 카테고리의 다른 글
[GIS] Foursquare 오픈소스 플레이스 데이터셋 공개 (0) | 2024.12.05 |
---|---|
[GIS] 지도 꾸미기 :: Google Maps Styling Wizard (0) | 2024.12.05 |
[GIS] SSR2OSR(SSR to OSR)이란? (0) | 2024.10.31 |
[GIS] GNSS(Global Navigation Satellite System/위성 항법 장치) 뜻 (0) | 2024.10.31 |
[GIS] 상권분석 방법, 과정 (서울대입구역 샤로수길 상권을 사례로) (2) | 2024.10.02 |
댓글