blogging

Geocoding과 구글맵

hongiiv 2008. 1. 4. 11:09
반응형
일전에 한참 GoogleMap을 가지고 이런 저런 작업(?)을 하다가 주소나 우편번호를 입력하면 해당 위치가 지도상에 보여지도록하는 방법에 대해서 이리저리 알아보고 다녔던 기억이 났다. 이것을 가리켜서 전문용어(?)로 Reverse Geocoding이라고 한다.

그럼 이러한 주소정보만을 가지고 어떻게 해당지역을 지도위에 표시해줄 수 있을까?? 지도를 수십만개의 작은 영역으로 나누고 해당 영역마다 주소정보를 넣어 놓는 방법도 있을테고, 여기서는 작은영역이 작을수록 보다 정밀하게 주소에 대응하는 지역을 찾을 수 있겠다. 이외에도 뭐 생각한다면 여러가지 무식한 방법들이 많을테고...

내가 선택한 방법은 우선 전국의 우편번호와 우편번호에 따른 주소를 가기고 와서 이 우편번호에 대응하는 지도의 위도와 경도를 데이터베이스화 해서 사용자가 주소나 우편번호를 입력하면 데이터베이스에서 일치하는 위도,경도 값을 가져와 구글맵에 표시해주는 방식을 선택하기로 했다.

첫번째 우편번호와 그에 대응하는 주소 정보 가져오기는 뭐 공개되어있는 우편번호들을 이용해서 아주 손쉽게 가져올 수 있었다.

두번째 그럼 주소에 대응하는 위,경도 정보는 여기서 막힌다. 그래서 네이버에다가 첫번째 단계에서 얻은 주소들을 쿼리로 날려서 네이버에서 제공하는 위,경도 정보를 얻어냈다. 이거 우편번호가 한두개도 아니기 때문에 프로그램을 만들어서 대량의 쿼리를 네이버로 자동으로 보내고 응답(위,경도정보)을 DB화 했다.

마지막 세번째로는 네이버의 위,경도 정보를 다시 구글맵용으로 변환하는 스크립트(네이버에서 사용하는 좌표 정보와 구글맵에서 사용하는 좌표 정보가 틀리단다.)를 만들어 낸다. 그러면 끝.

이제 http://www.hongiiv.com/gmap 여기에 붙이기만 하면 주소입력하면 해당 지역으로 바로 이동이 가능한것이다. ㅋㄷㅋㄷ

뭐좀 다른방법 없나....
반응형