ArcGIS Engine 桌面坐标转换为地图坐标
要将 ArcGIS Engine 的桌面坐标转换为地图坐标,请按照以下步骤操作:
-
获取当前激活的 MapControl 对象,例如:
IMapControl3 mapControl = (IMapControl3)axMapControl1.Object; -
获取当前地图对象,例如:
IMap map = mapControl.Map; -
创建一个 IPoint 对象,用于存储桌面坐标,例如:
IPoint desktopPoint = new PointClass(); desktopPoint.PutCoords(100, 100); // 假设桌面坐标是 (100, 100) -
调用 IMapControl3 接口的 ToMapPoint 方法将桌面坐标转换为地图坐标,例如:
IPoint mapPoint = mapControl.ToMapPoint(desktopPoint); -
完成转换后,可以使用 mapPoint 对象的 X 和 Y 属性获取地图坐标,例如:
double mapX = mapPoint.X; double mapY = mapPoint.Y;
注意:在进行坐标转换时,需要确保桌面坐标和地图坐标使用相同的坐标系统。如果它们使用不同的坐标系统,则需要进行投影转换。可以使用 ISpatialReferenceFactory 接口创建投影坐标系统对象,并将其分配给桌面坐标和地图坐标。
原文地址: https://www.cveoy.top/t/topic/nuLg 著作权归作者所有。请勿转载和采集!