[Javascript] juso.or.kr 좌표제공 API 좌표를 카카오맵용 좌표로 변환하기

juso.or.kr 좌표제공 API 의 결과로 제공되는 X,Y 좌표를 카카오맵으로 표시하기 위해서는 좌표변환이 필요하다.

좌표변환을 위해서 proj4 패키지가 필요하다.(웹브라우저에서도 동작함)

패키지 설치

npm i pro4

util.js

import proj4 from "proj4";

export function convertWGS84(x, y) {
    const p = [x, y];
    const epsg5179 = proj4(
        "+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"
    );

    let wgs84 = proj4("WGS84");

    const [longitude, latitude] = proj4(epsg5179, wgs84, p);

    return {
        latitude,
        longitude
    };
}

사용

import {convertWGS84} from 'util';


function async test(){
  const { data : result } = await axios.get('https://www.juso.go.kr/addrlink/addrCoordApi.do', params : {
    ...파라메터들,
    resultType : 'json'
  });

  if (result.common.errorCode ==="0") {
    const { entX, entY } = result.juso[0];

    const { latitude, longitude } = convertWGS84(entX, entY);

    console.log(latitude, longitude);
  }
}

test();