파이썬/GeoData
geopandas 좌표 변환 (5179 to 4326)
hanshow113
2021. 12. 30. 10:42
import geopandas as gpd
from pyproj import Transformer, transform
점 좌표의 경우
x, y 좌표만 있고, geometry가 없는 dataframe일 경우 geodataframe으로 먼저 만들어 줄 필요가 있음
gdf = gpd.GeoDataFrame(gdf, geometry=gpd.points_from_xy(x, y))
# gdf: 임의의 geo dataframe
# 좌표 변환 (5179 -> 4326)
transformer_5179_4326 = Transformer.from_proj(5179, 4326)
transformed_x, transformed_y = [], []
for coords in gdf['geometry']:
transformed_coords = transformer_5179_4326.transform(coords.x, coords.y)
# 각 geometry 데이터에서 .x, .y 메서드를 사용하면 x, y 좌표를 얻을 수 있음
transformed_x.append(transformed_coords[1])
transformed_y.append(transformed_coords[0])
gdf.drop(['geometry'], axis=1, inplace=True) # 기존 geometry 컬럼 삭제
gdf = gpd.GeoDataFrame(gdf, geometry=gpd.points_from_xy(transformed_x, transformed_y))
폴리곤 좌표 변환의 경우에는 G-GIS를 이용
- Q-GIS 프로그램 실행 후, 변환하고자 하는 파일 (5179좌표) 레이어 생성
- 레이어 좌표계를 변환하거나, 혹은 레이어 내보내기에서 저장형식 shp파일로 설정 후 경로, 파일명 지정 후 좌표계 설정(4326)하여 저장