OpenAPI 형태의 서비스 단위로 제공되는 GEOCODER-XR이 고객의 요구사항에 맞춰 개선되었습니다. 다음과 같이 3가지 내용이 변경되었습니다.
- 지오코딩 결과에 대한 정좌표, 인근좌표, 대표좌표에 대한 구분(기존에는 인근좌표와 대표좌표의 구분이 없었음)
- 결과가 여러 개인 경우 정확도 순서에 따라 정렬해서 모든 결과를 다 제공하도록 변경
- 결과 형식을 JSON으로 변경(기존은 XML 형식였음)
예를들어 주소 중 “중앙동”으로 검색을 하기 위한 REST 방식의 OpenAPI는 다음과 같습니다.
http://localhost:8080/Gp?command=gc;addr=중앙동
위의 호출에 대한 결과는 다음과 같습니다.
[
{
"user-input":"중앙동",
"full-address":"경기도 성남시 중원구 중앙동",
"coordinate":[
37.43959765091859,
127.1505276103632
],
"vicinity":true,
"type":"대표좌표"
},
{
"user-input":"중앙동",
"full-address":"경상남도 통영시 중앙동",
"coordinate":[
34.84482143430977,
128.42308057122085
],
"vicinity":true,
"type":"대표좌표"
},
{
"user-input":"중앙동",
"full-address":"경상남도 창원시 진해구 중앙동",
"coordinate":[
35.14902784720422,
128.66126916577852
],
"vicinity":true,
"type":"대표좌표"
},
...
]
JSON 형식이며 중앙동이라는 이름의 행정명칭은 우리나라에 여러 개이므로 복수의 결과를 모두 전달하고 vicinity가 true이므로 인근좌표이면서 type을 통해 “대표좌표”라는 것을 파악할 수 있습니다.
이번에는 “중앙로10″으로 호출하기 위해 다음 API를 사용합니다.
http://localhost:8080/Gp?command=gc;addr=중앙로10
결과는 다음과 같습니다.
[
{
"user-input":"중앙로10",
"full-address":"경기도 가평군 중앙로 10 (가평읍)",
"coordinate":[
37.82638794989058,
127.5132600931772
],
"vicinity":false,
"type":"도로명주소"
},
{
"user-input":"중앙로10",
"full-address":"강원도 영월군 중앙로 10 (영월읍)",
"coordinate":[
37.18337775533778,
128.46505641724204
],
"vicinity":false,
"type":"도로명주소"
},
{
"user-input":"중앙로10",
"full-address":"강원도 원주시 중앙로 10 (인동)",
"coordinate":[
37.34571078558531,
127.95473309264851
],
"vicinity":false,
"type":"도로명주소"
},
...
]
vicinity 값이 false이므로 “정좌표”를 의미합니다.
마지막으로 정확히 1건으로 매칭되는 주소에 대한 경우입니다.
http://localhost:8080/Gp?command=gc;addr=아차산로7나길18
결과는 다음과 같습니다.
[
{
"user-input":"아차산로7나길18",
"full-address":"서울특별시 성동구 아차산로7나길 18 (성수동2가)",
"coordinate":[
37.54770170889392,
127.05746040023593
],
"vicinity":false,
"type":"도로명주소"
}
]