2009-11-04 5 views
2

공간 시스템에서 다른 좌표계로 좌표 변환을 수행 할 수있는 Java의 오픈 소스 또는 '무료'라이브러리가 있습니까?좌표 변형

Opengeo http://opengeo.org/을 찾았지만 모든 종류의 공간적인 것들을위한 거대하고 종합적인 라이브러리입니다.

더 작은 것이 있습니까? MGA56에서 WGS84로 변환해야합니다.

+0

은 무엇 변환하면 (무엇 무엇에) 필요합니까 :

이 프로젝트의 소스 코드에 있습니다? – Seth

답변

3

간단한 해결책은 PROJ.4이지만 Java 바인딩이 없으므로 작업이 약간 까다로울 수 있습니다. 더 완전한 (그러나 아마도 당신이 원하는 것보다 큽니다) 해결책은 GeoTools이 될 것입니다. 그러나 빠른 검색은 PROJ.4의 Java 포트 인 것으로 보이는 Java Map Projection Library을 발견했습니다. 나는 그것을 시도 할 것이다.

투영뿐만 아니라 데이텀 이동이 필요하기 때문에 어떤 종류의 좌표계 데이터베이스가 있어야합니다. 가장 쉬운 방법은 EPSG 데이터베이스입니다. PROJ.4는 EPSG 매핑 파일과 함께 제공됩니다. EPSG 매핑 파일은 대부분의 용도에 적합해야합니다.

MGA56이 EPSG:28356 인 것처럼 보입니다. 물론 WGS84는 EPSG:4326입니다.

+0

OP가 GeoTools를 이미 사용하고있는 것으로 보입니다. http://stackoverflow.com/questions/1676940/google-maps-spatial-reference-system –

+0

PROJ.4가 멋지게 보입니다. 나는 ProjectionFactory.getNamedPROJ4CoordinateSystem()을 사용하여 투영을 잡았습니다. 그러나 변환은 불가능합니다. – JavaRocky

+0

GeoTools를 사용하는 경우 PROJ4로 직접 작업하지 말고 EPSG 문자열'CRSAuthorityFatory.createCoordinateReferenceSystem (epsgString)'을 사용하십시오. "EPSG : 28356"및 "EPSG : 4326"'그런 다음'CRS.findMathTransform (sourceCRS, targetCRS, true)'를 수행하십시오. 수업 경로에 GeoTools EPSG JAR 중 하나가 있어야합니다. 가장 쉬운 방법 인'gt-epsg-hsql'을 권하고 싶습니다. –

3

Java로 작성된 경량 라이브러리가 있습니다.

좌표 변환 모음 (요약 된 CTS)은 잘 알려진 측지 알고리즘과 매개 변수 집합을 사용하여 좌표 변환을 수행하기 위해 개발 된 라이브러리입니다.

CTS는 4257 좌표 참조 시스템 (3910 EPSG)을 처리합니다.

https://github.com/irstv/CTS