🖥️ IT, 컴퓨터/🐍 Python

[IT] Python과 Google Map API를 이용해 경위도 좌표를 영문 주소로 변환

김 홍시 2025. 1. 17.
반응형

https://console.cloud.google.com/

 

Google 클라우드 플랫폼

로그인 Google 클라우드 플랫폼으로 이동

accounts.google.com

 

 

 

대충 입력

 

개발자 연락처 정보

도 입력

 

 

 

Geocoding API를 검색해서 '사용'을 눌러줘야 함 

 

그렇지 않으면 지오코딩이 제대로 수행되지 않음

 

 

import pandas as pd
import requests
import time

# Google Maps API 키
API_KEY = "YOUR_GOOGLE_MAPS_API_KEY"

# CSV 파일 경로 (경위도 데이터가 들어 있는 파일)
input_file = "coordinates.csv"  # 입력 파일 이름
output_file = "addresses.csv"   # 출력 파일 이름

# CSV 파일 읽기
data = pd.read_csv(input_file)

# 경위도 열 이름 지정 (CSV 파일에 따라 수정)
latitude_col = "latitude"  # 위도 컬럼 이름
longitude_col = "longitude"  # 경도 컬럼 이름

# 결과를 저장할 새로운 열
data["address"] = ""

# Geocoding API 호출 함수
def get_address(lat, lon):
    url = f"https://maps.googleapis.com/maps/api/geocode/json?latlng={lat},{lon}&key={API_KEY}"
    response = requests.get(url)
    if response.status_code == 200:
        results = response.json().get("results")
        if results:
            return results[0].get("formatted_address")
    return None

# 각 경위도에 대해 주소 변환
for index, row in data.iterrows():
    lat = row[latitude_col]
    lon = row[longitude_col]
    address = get_address(lat, lon)
    data.at[index, "address"] = address
    print(f"Processed ({lat}, {lon}): {address}")
    time.sleep(0.1)  # API 제한을 피하기 위해 대기 시간 추가

# 결과 저장
data.to_csv(output_file, index=False)
print(f"주소 변환 완료. 결과가 {output_file}에 저장되었습니다.")

 

 

 

 

 

 

 

반응형

댓글