반응형

분류 전체보기 610

VBA - vworld 사이트에서 토지 특성 조회(6) : 디버깅

1. 법정동코드 가져오는 URL 확인가. 지역 창은 실패사이트에 접속해서 정보를 가져오는 것이므로 URL이 제대로 됐는지가 제일 중요합니다.  ' 법정동 코드 조회 검색 URL 만들기(domain 지정안해도 됨) base_url = "https://api.vworld.kr/req/address" params = "?service=address&request=getcoord&version=2.0&crs=epsg:4326" params = params & "&address=" & WorksheetFunction.EncodeURL(dong & " " & jibun) params = params & "&refine=true&simple=false&f..

EXCEL - VBA 2025.03.17

VBA - vworld 사이트에서 토지 특성 조회(5) : 코드 설명(2)

(15) 토지특성속성 조회 URL 생성        ' 토지 특성 조회 URL 만들기(기준연도 초기값 올해)         base_url = "http://api.vworld.kr/ned/data/getLandCharacteristics"         params = "?pnu=" & pnu & "&format=xml" & "&key=CEB52025-E065-364C-9DBA-44880E3B02B8" '        params = params & "&numOfRows=3"         params = params & "&stdrYear=" & Year(Date)              ' search_url을 base_url과 params의 결합으로 함         search_url = bas..

EXCEL - VBA 2025.03.14

VBA - vworld 사이트에서 토지 특성 조회(4) : 코드 설명(1)

5. 코드 설명(1) 명시적 변수 선언 요구Option Explicit변수 선언을 명시적으로 하라는 선언입니다. 이렇게 해야 변수의 데이터 형식이 틀어지거나, 값이 잘못 들어가는 오류를 예방할 수 있으므로 필수입니다. (2) Sub 프로시저 시작과 종료Sub parse_xml()    변수선언 및 값 할당, 실행문 등End SubSub 프로시저는 일정한 동작을 처리하는 것으로, 처리한 후 값을 반환하는 Function 프로시저와 구분됩니다. 본 매크로에서는 URL을 작성한 후 VWorld 사이트에서 조회한 후 검색결과를 워크시트에 기록하는 전체적인 처리를 Sub 프로시저에서 처리하는데, VWorld에서 조회한 후 검색 결과를 반환하는 부분을 Function 프로시저로 처리했습니다. 다시 말하면 Sub 프..

EXCEL - VBA 2025.03.13

VBA - vworld 사이트에서 토지 특성 조회(3) : 코드

매크로가 저장되지 않은 엑셀 파일은 아래와 같습니다 4. 코드가. 전체 구성크게 parse_xml이라는 Sub 프로시저 1개와 search_value와 fail이라는 Function 2개로 구성되어 있습니다.Sub 프로시저 하나로 해도 되지만 공통되는 부분을 Function으로 뺐으며, 내용은 아래와 같습니다.이것도 내용별로 구분할 수도 있을 겁니다.Option ExplicitSub parse_xml() Dim xmlDoc As Object Dim ws As Worksheet Dim xmlHttp As New MSXML2.ServerXMLHTTP60 Dim base_url As String, params As String, search_url As String Dim d..

EXCEL - VBA 2025.03.12

VBA - vworld 사이트에서 토지 특성 조회(2) : 도구 - 참조에서 XML v6.0 추가

3. 준비 사항 가. 개발 도구 탭 표시개발 도구 탭이 보이지 않는다면 파일 - 옵션 - 리본 사용자 지정 옵션을 누른 후 확인 버튼을 누릅니다.  그러면 보기 오른쪽에 개발 도구 탭이 표시됩니다. 나. 작업 파일 위 파일을 엽니다. 다. VB 에디터 열기개발 도구 탭을 누른 후 코드 그룹에서 Visaul Basic을 누릅니다. 그리고, get_land_char.xlsx 파일이 선택된 상태에서 삽입 - 모듈을 눌러  모듈을 추가합니다.왼쪽 get_land_char.xlsx 아래에 모듈과 Module1이 표시되고, 오른쪽에 빈 코드 창이 열립니다. 라. 도구 - 참조 - XML, v6.0에 체크VBA로 매크로를 만들 때 도구 - 참조를 추가할 일이 거의 없는데,XML 파일을 처리하기 위해서는 도구 - 참조..

EXCEL - VBA 2025.03.11

VBA - vworld 사이트에서 토지 특성 조회(1) : 토지특성속성조회 API

1. 토지특성속성 조회 APIvworld 사이트에서 토지특성을 조회하는 API는vworld.kr에서 접속한 후오픈API 메뉴 아래 API 레퍼런스를 누른 후 나오는 목록에서국가중점데이터API의 레퍼런스를 누릅니다. 그러면 레퍼런스를 검색하는 화면이 표시되는데,서비스 란에 '토지특성'이라고 입력하고 엔터 키를 누르면 토지특성WMS, WFS와 속성이 표시되는데, 토지특성속성조회를 선택합니다. 2. 상세 내용가. 요청 변수 그러면, 상세 내용이 표시되는데 위에 요청 변수(pnu: 고유번호, stdrYear: 기준연도, format: 응답결과 형식, key: 인증키 등)가 있고, 나. 출력 결과그 아래에 출력결과가 표시되는데, 코드명(pnu, ldCode 등)과 설명(고유번호, 법정동코드 등)이 표시됩니다. ..

EXCEL - VBA 2025.03.10

vworld 지도 만들기(17) - 개별공시지가 표시하기(5) : PHP(3)

나. vworld_function.php  (1) 사용자 정의 함수 구문    function getAddr($coord, $vworldKey) {        처리 구문    }?> php의 함수도 일반적인 함수 구문과 동일합니다.function 다음에 함수명을 적고, 괄호 안에 전달한 인수를 적습니다. (2) getAddr 함수의 내용(가) url과 전달할 인수 만들기$ch = curl_init(); $url = 'https://api.vworld.kr/req/address'; // URL $queryParams = '?' . 'key=' . $vworldKey; // API Key $queryParams .= '&service=' . "address"; $queryParams .= '&format=..

Map(WEB) 2025.03.07

vworld 지도 만들기(16) - 개별공시지가 표시하기(4) : PHP(2)

1. PHP 파일php 파일은 html 파일에서 호출하는 show_landprice.php 파일과 사용자 정의함수가 들어 있는 vword_function.php 2개입니다. 2. 주소 JSON 파일의 구조Geocoder API 2.0에서 제공하는 정보에 주소(아래 표에서 text)만 있는 줄 알았더니zipcode와 법정동 코드인 level4LC가 있어서, data.go.kr을 이용하지 않고, 이것을 이용하겠습니다.그리고, 동호수가 detail에 있어서 이것도 이용했습니다.   3. 간단한 코드 설명가. show_landprice.php(1) include로 파일을 불러옴include는 다른 언어의 import와 유사한 기능입니다.// 변수($VworldKey) 지정 파일 불러오기 include "./wp..

Map(WEB) 2025.03.06

vworld 지도 만들기(15) - 개별공시지가 표시하기(3) : PHP(1)

이번에는 PHP를 이용해 만드는데 popup창과 alert창이 아니라지도 위의 div 태그에 표시해 보겠습니다. 그동안 계속 cloudaccess.net의 무료 호스팅에서 작업했는데 안 돼서(vworld.kr이 외국 서버를 차단하는 듯, data.go.kr은 문제없음), iwinv.kr의 웹 호스팅에서 작업했습니다.   1. 토지정보 표시영역 설정 토지 정보   head 태그에 style을 지정하는데 class가 txtLand인 것의 position을 absolute로 지정하고, 위 여백을 20px, 왼쪽 여백을 20px, 배경색은 blue, 폭은 화면의 80% 등으로 지정합니다. 토지 정보그리고, txtLand가 들어 있는 div 태그에 '토지 정보'란 글자를 입력합니다. 그러면 아래와 같이 됩니..

Map(WEB) 2025.03.05

vworld 지도 만들기(14) - 개별공시지가 표시하기(2) : JSONP

이번에는 JSONP를 이용해 코드를 만들어보겠습니다. JSONP를 Wikipedia에서 찾아보니 아래와 같은 설명이 나옵니다. 신기한 것은 JSOP가 CORS를 회피하기 위한 것인데, 아래 결론은 CORS로 대체되고 있다고 합니다. 아이러니네요... 1. 샘플 코드샘플 코드를 HTML 문서에 넣으면 아래와 같이 됩니다.인증키와 도메인은 자신의 것으로 수정하기 바랍니다.  샘플코드는 url이 http://api.vworld.kr/... 라고 되어 있는데, 이렇게 하고 실행하면 https라야 한다는 메시지가 나오므로 http를 https로 수정하고 실행하면 {indvdLandPrices:{…}}이라고 배열 형태로 결과가 콘솔창에 표시됩니다.왼쪽의 삼각형 표시를 계속 누르면 JSONP는 JSON형태가 아니..

Map(WEB) 2025.03.04
반응형