728x90
반응형
아직도 삽질을 열심히 하고 있다...
도로명 주소 API를 이용해서 좌표값을 받아서 바로 사용을 할수 없다.
도로명 API에서는 ※ 좌표계 안내 : 좌표계(ITRF2000), 기준타원체(GRS80), 투영법(UTM), 장반경(6,378,137m) 기준으로 제공을 한다.
그래소 바로 구글맵에서 사용을 할수가 없다.
구글맵에서 사용하기 위해서는 데이터값을 변환을 해야 한다.
라이브러니는 proj4j를 사용했다.
https://mvnrepository.com/artifact/org.locationtech.proj4j/proj4j
<dependency>
<groupId>org.locationtech.proj4j</groupId>
<artifactId>proj4j</artifactId>
<version>1.1.1</version>
</dependency>
위의 정보는 maven repository정보이다.
java 소스
double x = Double.parseDouble( contents.getFd_x_pos() );//x좌표
double y = Double.parseDouble( contents.getFd_y_pos() );//y좌표
CRSFactory factory = new CRSFactory();
CoordinateReferenceSystem srcCrs = factory.createFromName("EPSG:5179");
CoordinateReferenceSystem dstCrs = factory.createFromName("EPSG:4326");
BasicCoordinateTransform transform = new BasicCoordinateTransform(srcCrs, dstCrs);
ProjCoordinate srcCoord = new ProjCoordinate(x, y);
ProjCoordinate dstCoord = new ProjCoordinate();
transform.transform(srcCoord, dstCoord);//좌표변환
contents.setChange_x_pos(dstCoord.x+"");
contents.setChange_y_pos(dstCoord.y+"");
EPSG:5179값을 찾는데 시간이 소요 됐다. 도로명 주소의 API 값으로는 조회가 되지 않아서 관련 좌표계를 찾아보았다.
728x90
반응형
'Dev > 공공데이터&API연동' 카테고리의 다른 글
도로명 주소 변환 Juso (0) | 2020.07.29 |
---|---|
공공데이터-보건복지부_코로나19 시·도발생_현황 (0) | 2020.07.20 |