proj4j를 활용한 경위도 좌표전환 방법을 공유합니다.
※ proj4j는 오픈소스이며 해당사에트에서 제공해드리는 소스가 아님을 알려드리고,
좌표를 변환하는것은 수식으로 계산을 다시 하는것이기 때문에 수식 계산중에 x,y 오차가 발생 할 수 있습니다.
- web에서 전환하는 방법
proj4.defs['EPSG:5179'] = '+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs';//제공되는 좌표
var grs80 = proj4.Proj(proj4.defs['EPSG:5179'])
var wgs84 = proj4.Proj(proj4.defs['EPSG:4326']); //경위도
var p = proj4.Point( 945959.0381341814 , 1953851.7348996028 );//한국지역정보개발원 좌표
p = proj4.transform( grs80, wgs84, p);
document .write(p.x + ' ' + p.y);
****************************************
출력결과
wgs84 : 126.88793748501445 37.582468731587305
- java application에서 전환하는 방법
double x = Double.parseDouble( point[0] );//x좌표
double y = Double.parseDouble( point[1] );//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);//좌표변환
System.out.println(dstCoord.x + ',' + dstCoord.y);//변환된 좌표
****************************************
- 자료 출처 : 주소기반산업지원서비스
'JavaScript' 카테고리의 다른 글
자바스크립트 새로운 코드 방식 (0) | 2022.12.27 |
---|---|
자바스크립트 새로운 코드 방식 (0) | 2022.12.25 |