티스토리 뷰
https://m.blog.naver.com/rackhunson/222403071709
[geocoding] Geopy 라이브러리 사용하기
geopy 라이브러리를 사용해서 geocoding (reverse geocoding) 하는 방법을 알아보자. 테스트는 아래의 서울...
blog.naver.com
오픈스트리트맵 이용하기
전 세계의 지리공간 정보를 날것 그대로 보고, 원하는 대로 조작하고, 복잡한 저작권 문제 없이 (‘ⓒOpenStreetMap 기여자’만 적어서) 배포하는 것은 오픈스트리트맵만의 특권입니다.
osm.kr
(여러 복잡해보이는 좋은 방법들이 있다.)
귀찮다.
제일 간단한걸로 ㄱ
geopy와 Nominatim을 사용하여 간단한 geocoding 을 수행하는 방법
설치
pip install geopy
2. geopy와 Nominatim 사용하기
Nominatim geocoder는 OpenStreetMap 데이터를 사용하여 주소를 위도와 경도로 변환하거나 그 반대의 작업을 수행할 수 있습니다.
3. 예제 코드
아래는 주어진 '꿈마을 도서관'의 주소를 이용해 geocoding을 수행하는 예제 코드입니다.
from geopy.geocoders import Nominatim
import pandas as pd
# CSV 파일 로드
Library = pd.read_csv('./Library.csv')
# 주소 테스트
test = Library.loc[0, '새주소명'][:-8] # '구로구 디지털로 27'
print(f"Geocoding Test Address: {test}")
# Nominatim 객체 생성
geolocator = Nominatim(user_agent='myGeocoder')
# 주소로부터 위도와 경도 얻기
location = geolocator.geocode(test)
if location:
latitude = location.latitude
longitude = location.longitude
print(f"Latitude: {latitude}, Longitude: {longitude}")
else:
print("Geocoding failed")
주의사항
- user_agent는 Nominatim 서비스 사용 시 요구되며, 여러분의 어플리케이션이나 프로젝트를 식별할 수 있는 이름으로 설정해야 합니다.
- 주소의 정확도는 입력하는 주소의 형식에 따라 달라질 수 있으며, 가능한 정확하고 완전한 주소를 사용하는 것이 좋습니다.
- 한글 주소에 대한 geocoding은 주소 형식에 더욱 주의를 기울여야 하며, 때로는 네이버나 카카오와 같은 지역 기반 서비스를 사용하는 것이 더 정확할 수 있습니다.
프롬프트에서 사용자입력으로 주소 넣기
'Coding > BigData_Python' 카테고리의 다른 글
태양시 계산.py(SolarTime) (0) | 2024.03.03 |
---|---|
python_ text를 모스부호로 바꾸기.txt -> csv (1) | 2022.09.25 |
(python)COCO_이미지 검출 모델 : 객체 검출하기 (0) | 2022.08.07 |
yolo 이미지 분석 스터디 (0) | 2022.08.03 |
Python_ .py 호출하기 (0) | 2022.04.25 |
- Total
- Today
- Yesterday
- google ai studio
- TouchDesigner
- imgtoimg
- Arduino
- 유니티
- runwayai
- 라즈베리파이
- Java
- node.js
- opencv
- MQTT
- CNC
- Express
- colab
- AI
- Python
- RNN
- 후디니
- houdini
- VR
- krea
- ai film
- Unity
- DeepLeaning
- sequelize
- oculuspro
- docker
- three.js
- ai image generator
- Midjourney
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |