有没有办法在Java中将EPSG:3857投影转换为EPSG:4326?我正在使用esri java sdk。我浏览了esri skd文档,但找不到将EPSG:3857转换为EPSG:4326的方法。有办法吗?
我有一个像这样的webMercator:Point property = new Point(1.7040237624799997e7,-3099509.4953500014, SpatialReferences.getWebMercator());
并拥有一个Point point1 = new Point(153.089361, -26.802295, SpatialReferences.getWgs84());
这样的WSG84
我需要将它们合并,并且由于这些点具有不同的空间参考,因此无法显示map属性。
答案 0 :(得分:1)
我假设您正在使用ArcObjects SDK for Java?然后下面的代码应该起作用,因为您的Point类根据esri java doc实现了IGeometry接口
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