2014-09-06 125 views
1

對於我的應用程序,我需要在LatLon(WGS84)和MGRS之間轉換的緊湊代碼。Java - 將MGRS座標轉換爲LatLon WGS

JCoord.jar: 看起來不錯,但1.1版的jar的大小是0.5Mb。這是雙打我的應用程序只執行一個雙向座標轉換。

Openmap: 從其他人只是隔離MGRSPoint.java(https://code.google.com/p/openmap/source/browse/src/openmap/com/bbn/openmap/proj/coords/MGRSPoint.java)是不容易的。

GeographicLib: 這似乎是一個不錯的解決方案,但我無法找到一個Java源文件。 可用嗎?

美國宇航局: NASA的代碼看起來很棒,看到http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind/src/gov/nasa/worldwind/geom/coords/MGRSCoordConverter.java。僅僅隔離MGRS轉換代碼並不容易。

GDAL: 以另一種編程語言實現。

IBM(經由j-coordconvert.zip): 是complact,以及適合用於UTM轉換,但轉換MGRS被描述爲errorneous。唉。

在LatLon/wgs84和MGRS之間轉換是否有良好(緊湊)Java源代碼?

回答

2

終於找到了一個足夠好的答案。貝里科,謝謝你!

https://github.com/Berico-Technologies/Geo-Coordinate-Conversion-Java

這個源代碼隔離NASA Java源代碼,並增加了1很好的實用工具類。

例子:

double lat = 52.202050; 
double lon = 6.102050; 
System.out.println("To MGRS is " + Coordinates.mgrsFromLatLon(lat, lon)); 

和周圍的其他方式:

String mgrs = "31UCU 59248 14149"; 
double[] latlon = Coordinates.latLonFromMgrs(mgrs);