도로명주소 안내시스템 개발자센터

Tech & Tips 상세보기 | 도로명주소 개발자센터

Tech & Tips

API, DB, 전자지도등 도로명주소를 이용한 기술개발 및 활용팁을 올려주세요

proj4j를 활용한 경위도 좌표전환 방법

9088님의 제안

  • 댓글 : 0
  • 조회수 : 1053
  • 추천수 2 +1

2020-02-03

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); 

d0cument .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);//변환된 좌표 
****************************************

댓글쓰기

댓글쓰기