Chapter01/Open API

[ OpenStreetMap nominatim API ] 위도 경도로 지역명 가져오기

EmmaDev_v 2025. 2. 12. 13:45

 

쩐에 썻던 OpenWeatherMap API는 위도 경도를 가지고 날씨 정보를 가지고옴

고객사는 여기에 지역명도 표시해주실 원했당

 

 

 

OpenWeatherMap API 도 지역명을 구할 수 있으나, 정확하지 않음

 

서울특별시 동대문구 용두동 의 위도, 경로를 입력했으나

 

 "name": "Kwanghŭi-dong",

 

 

식으로 지역명을 가지고왔고, 

 

영등포구 문래동의 위도,경도를 입력했을 땐

 "name": "Kwangmyŏng",

 

으로 가져옴,,

 

 

정확하지 않을 뿐만 아니라

영어도 아니라 이걸 그대로 사용하는건 불가능!

 

 

 

 

이런식으로 쓸거고

 

고려할 것

1. 위도와 경도를 가지고 정확한 지역명을 가지고와야함 (행정구역명 까지만 필요함)

2. 무료여야함

 

두 가지 조건으로 써칭해봤을때 OpenStreetMap nominatim API 가 적합함

참 좋은게 따로 키를 발급받을 필요도 없었다.

 

 

 

서론 넘 길었으니 바로 GET요청 날려보겠음

 

 

요청의 응답

{
    "place_id": 206855467,
    "licence": "Data © OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
    "osm_type": "node",
    "osm_id": 3390505498,
    "lat": "37.5546221",
    "lon": "126.9706869",
    "class": "shop",
    "type": "mall",
    "place_rank": 30,
    "importance": 7.29800869763793e-05,
    "addresstype": "shop",
    "name": "롯데아울렛 서울역점",
    "display_name": "롯데아울렛 서울역점, 405, 한강대로, 봉래동2가, 남영동, 용산구, 서울특별시, 04320, 대한민국",
    "address": {
        "shop": "롯데아울렛 서울역점",
        "house_number": "405",
        "road": "한강대로",
        "quarter": "봉래동2가",
        "suburb": "남영동",
        "borough": "용산구",
        "city": "서울특별시",
        "ISO3166-2-lvl4": "KR-11",
        "postcode": "04320",
        "country": "대한민국",
        "country_code": "kr"
    },
    "boundingbox": [
        "37.5545721",
        "37.5546721",
        "126.9706369",
        "126.9707369"
    ]
}

 

 

"address"를 보면 내가 원한 행정구역 단위는 물론이고

구, 동 단위.. 상세주소 싹 다 가져오고,

"display_name" 는 건물명까지 가지고온다.

 

 

굿굿~

하루에 1,000건 이상 조회시 요금이 발생한다고했는데

그렇게나 많이 조회할만큼 쓰이지는 않는 부분이라

이거 쓰기로 결정함!

 

 

 

반응형