我有两个具有相同坐标系(Wgs84)的几何图形,但它们的数据单位不同,一个是度数,另一个是米。我需要对它们执行一些操作,例如:
var g1 = GeometryEngine.Difference(geometry1, geometry2);
但我得到一个错误:
System.ArgumentException:'Invalid argument: geometry1 and geometry2 must have equivalent spatial references.'
所以我想将度数的数据转换成米的数据,我不知道该怎么做。
以米为单位的数据来自 shp 文件。这个 shp 文件被加载到 SceneView。
度数数据来自 SceneView 的 PreviewMouseLeftButtonDown 事件:
// Get the mouse position.
Point cursorSceenPoint = mouseEventArgs.GetPosition(MySceneView);
// Get the corresponding MapPoint.
MapPoint onMapLocation = MySceneView.ScreenToBaseSurface(cursorSceenPoint);
然后想了想是否可以通过设置修改单位SceneView.SpatialReference.Unit
,但是是只读的。
.NET 解决方案是最好的,其他语言也是可以接受的。