EPSG.jar는 (주)지오서비스에서 개발한 EPSG 코드 기반의 좌표변환을 위한 Java 라이브러리입니다. 안드로이드 클라이언트 GIS 엔진인 BlackPoint-Xr(현재 SmartPoint-Xr로 제품명이 변경됨)등과 같은 프로그램에서 이용되고 있습니다. 이 EPSG 라이브러를 이용한 좌표 변환에 대한 예를 기록해 둡니다.
먼저 필요한 jar는 EPSG.jar와 종속성을 갖는 ellip2ellipsoid.jar, javaproj-1.0.6-noawt.jar 입니다.
예제 코드는 다음과 같습니다.
package testEPSG; import geoservice.ellip2ellipsoid.ConstantParameters10; import geoservice.ellip2ellipsoid.IParameters; import geoservice.ellip2ellipsoid.Values3; import geoservice.epsg.EPSG; import geoservice.epsg.EPSGFactory; public class MainEntry { public static void main(String[] args) { EPSG fromEPSG = EPSGFactory.create(5174); EPSG toEPSG = EPSGFactory.create(5179); IParameters params = new ConstantParameters10(); Values3 pt = new Values3(200000, 500000, 0); fromEPSG.to(pt, toEPSG, params); System.out.println(pt.toString()); } }
EPSG:5174 좌표계의 (200000, 500000)를 EPSG:5179로 변환하는 코드인데요. EPSG:5174는 Bessel 타원체를 사용하며, 일본의 기준점을 활용하면서 발생한 경도상의 오차인 10.405가 반영된 대한민국 중부원점 좌표계이고, EPSG:5179는 GRS80 타원체의 단일원점 좌표계인 UTM-K 좌표계입니다.