안녕하세요? 이번 글에서는 GeoPandas의 estimate_utm_crs() 함수를 간략히 소개하겠습니다. 이 함수는 GeoDataFrame의 공간 범위를 분석하여 해당 데이터에 적합한 UTM 좌표계(UTM CRS)를 자동으로 추정해 주는 편리한 기능입니다.
공간 분석에서 좌표계(CRS, Coordinate Reference System)는 매우 중요한 역할을 합니다. 특히 거리나 면적 계산, 지리적 분석을 정확히 수행하려면 위·경도 좌표계(WGS84, EPSG:4326)뿐 아니라 대상 지역에 맞는 투영 좌표계(예: UTM)가 필요합니다. 하지만 직접 UTM zone을 계산하거나 CRS 코드를 찾는 과정은 번거롭고 실수할 여지도 많습니다.
GeoPandas는 이를 위해 자동으로 UTM CRS를 추정할 수 있는 함수를 제공하고 있습니다. 아래 예제와 함께 살펴보겠습니다.
GeoDataFrame.estimate_utm_crs()
데이터셋의 경계 범위(bounds)를 기준으로 해당 데이터에 적합한 UTM 좌표계(CRS)를 자동으로 추정하여 반환합니다. 이는 분석 대상 지역을 기반으로 가장 적합한 UTM zone을 선택하는 작업을 자동화합니다.
아래는 간단한 예제입니다:
# GeoDataFrame 생성 (WGS84)
gdf = gpd.GeoDataFrame(
df,
geometry=gpd.points_from_xy(df["lon"], df["lat"]),
crs="EPSG:4326"
)
# UTM CRS 자동 추정
utm_crs = gdf.estimate_utm_crs()
# 출력
print("Estimated UTM CRS:")
print(utm_crs)
출력된 내용은 예를 들어 다음과 같은 형식일 수 있습니다:
Estimated UTM CRS:
EPSG:32619
여기서 EPSG:32619는 UTM zone 19N (북반구), WGS84 기반 좌표계를 의미합니다. 이 CRS는 도미니카공화국, 카리브해 일대 등 해당 공간 범위에 적합한 투영 좌표계입니다.
실제 분석을 위해 추정된 UTM CRS를 GeoDataFrame에 적용하려면 to_crs() 함수를 사용합니다:
# CRS 변환
gdf = gdf.to_crs(utm_crs)
# 변환된 좌표계 출력
print(gdf.crs)