如何将投影 EPSG:3857 转换为 java 中的 EPSG:4326(地理空间)

How to transform projection EPSG:3857 to EPSG:4326 in java (Geospatial)

有没有办法将 EPSG:3857 投影转换为 java 中的 EPSG:4326?我正在使用 esri java SDK。我浏览了 esri skd 文档,但找不到将 EPSG:3857 转换为 EPSG:4326 的方法。有办法吗?

我有一个这样的 webMercator:Point property = new Point(1.7040237624799997e7,-3099509.4953500014, SpatialReferences.getWebMercator());

并拥有这样的 WSG84 Point point1 = new Point(153.089361, -26.802295, SpatialReferences.getWgs84());

我需要合并它们,由于这些点具有不同的空间参考,我无法显示地图 属性。

我假设您使用的是 Java 的 ArcObjects SDK?那么下面的代码应该可以工作,因为你的 Point class 正在根据 esri java doc

实现 IGeometry 接口

https://desktop.arcgis.com/en/arcobjects/latest/java/api/arcobjects/com/esri/arcgis/geometry/IGeometry.html

Point property = new Point(1.7040237624799997e7,-3099509.4953500014, 
                           spatialReferences.getWebMercator());
Point reprojected = property.project(SpatialReferences.getWgs84());

因为您的 Point 构造函数看起来您正在使用较新的 Esri SDK 之一,例如 ArcGIS Pro SDK 或 Runtime SDK,所以我也为它们添加了一个解决方案:

Point originalPoint = new Point(1.7040237624799997e7,-3099509.4953500014, 
                          spatialReferences.getWebMercator());
Point projectedPoint = (Point) GeometryEngine.project(originalPoint, 
                           SpatialReference.create(4326));

根据 https://developers.arcgis.com/java/latest/sample-code/project.htm