[파이썬] 경위도_좌표계_변환

[파이썬] 경위도_좌표계_변환

프로젝트를 진행하면서 GIS관련 기능을 구현하기 위해 공공데이터로부터 대형점포 데이터를 내려받았다. 대부분 GIS 기능을 구현할 때는 EPSG:4326 좌표계를 사용하는데 내려받은 데이터는 EPSG:5174 형식의 좌표계여서 이를 변환할 필요가 있었다. pyproj 패키지를 사용하면 좌표계 변환을 손쉽게 처리할 수 있다.

#01. 패키지 설치

$ pip install --upgrade pyproj

#02. 사용형식

# 좌표계 정보 설정
epsg5174 = pyproj.Proj(init="epsg:5174")
epsg4326 = pyproj.Proj(init="epsg:4326")

새로운_경도, 새로운_위도 = pyproj.transform(epsg5174, epsg4326, 원본경도, 원본위도)

#03. 프로젝트에 적용

1. 좌표변환 함수 정의

import pyproj
from pandas import Series

epsg5174 = pyproj.Proj(init="epsg:5174")
epsg4326 = pyproj.Proj(init="epsg:4326")

def convert_coordinates(row):
    xx, yy = pyproj.transform(epsg5174, epsg4326, row['경도'], row['위도'])
    return Series([xx, yy], index=['xx', 'yy'])

2. 데이터프레임의 컬럼에 대한 적용

수집된 데이터를 저장하고 있는 데이터프레임에 경도위도라는 이름의 필드가 존재했다. 이를 apply 메서드를 사용하여 미리 정의한 함수로 변환할 수 있게 처리 했다.

df[['xx', 'yy']] = df.apply(convert_coordinates, axis=1)
df.head()
호쌤(이광호)'s Picture

About 호쌤(이광호)

메가스터디IT아카데미에서 Java, Spring, Python, Frontend 등을 강의하는 IT 전문 강사이자 프리렌서 개발자 입니다.
https://www.youtube.com/@hossam-codingclub

Seoul, Korea http://www.hossam.kr