您好,我在JavaFX应用程序中使用GMapsFX
。我从Google Maps
开始使用API获得经纬度,但是我也希望GGRS87
。
在希腊语中称为EGSA87
。我已经搜索了所有内容。Geotools
或proj4j
的库中可能有一个解决方案,但我对Java的了解并不多,特别是我找不到像这样的大型库中的解决方案那些。
我想要一些数学计算类型或库来解决我的问题。没有一些网站可以进行计算,我自己发现了很多网站。
谢谢。
答案 0 :(得分:0)
您可以使用GDAL库,但是它的设置实际上非常复杂。您将必须在系统上安装GDAL(它在Debian软件包中),然后为其构建Java JNI绑定[1]。 [2]在使其正常工作中也非常有用。
然后,您可以使用Java GDAL库:
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
</dependency>
并执行以下操作:
final SpatialReference source = new SpatialReference();
source.ImportFromEPSG(4326); // EPSG code for WGS84, see www.epsg.io
final SpatialReference target = new SpatialReference();
target.ImportFromEPSG(4121); // EPSG code for GGRS87, see www.epsg.io
this.coordinateTransform = CoordinateTransformation.CreateCoordinateTransformation(source, target);
final Geometry geometry = ogr.CreateGeometryFromWkt(String.format("POINT (%f %f)", longitude, latitude));
geometry.Transform(coordinateTransform);
final double ggrsX = geometry.GetX();
final double ggrsY = geometry.GetY();