vWorld API 중에 Static MAP을 이미지로 제공하는 API가 있는데,
이 API에서는 번지에 해당하는 다각형을 표시할 수 있는 옵션이 있어서 이걸 다운로드 합니다.
그런데, 이 API는 지도 확대가 18단계까지만 되기 때문에 작은 지형은 조금 보기 어렵습니다.
Static Map이라 확대하거나 축소할 때마다 새로 지도 이미지를 받아와야 합니다.
서울시청을 다운로드 한 예
그런데 Naver에서 지원하는 Naver Static MAP API는 20단계까지 확대를 지원하지만,
유감 스럽게도 지번에 해당하는 다각형을 표시할 수 없습니다.
Web Dynamic MAP API를 이용하면 지도에 다각형을 표시할 수 있는데, VBA 환경에서는 ...
Local Web Server를 Python을 이용해서 실행하고, HTML 파일을 하나 만들어 Web Dynamic Map을 그리도록 하면 될 것 같아서 구현해 보았습니다.
여기에서는 구현 절차와 구현된 움짤만 소개합니다.
- 지번주소 확인
- vWorld API를 이용해서 지번에 해당하는 pnu 확인
- pnu을 이용해서 지번의 중심좌표와 경계를 나타내는 다각형 좌표 확인
- Local Web Server 구동
- Web Dynamic Map 실행에 필요한 js파일을 생성
- 지번의 지도를 보여주도록 구성된 HTML 파일을 생성
- Local Web Page를 User Form의 WebBrowser 컨트롤에 표시
이렇게 하면 첫번째 Local Web Server를 실행하는데 몇 초 소요되고 이후로는 제법 빠르게 실행이 됩니다.
Web으로 구현되기 때문에 이동 및 확대/축소가 바로 작동되고, 지적도 빼기, 항공지도 더하기 등이 가능합니다.
'Excel - VBA' 카테고리의 다른 글
Naver API Sample Code 인증 실패 수정 (GitHub) (0) | 2024.06.16 |
---|---|
Local Web Server 간단하게 실행하고 종료하기 (feat. Python) (0) | 2024.06.16 |
VBA Module Source Backup Tool (0) | 2024.06.08 |
VBA Project 소스코드 백업하기 (0) | 2024.05.18 |
TXT, CSV 파일 분할하기 (0) | 2024.05.11 |