有不少初学者想知道ArcGIS Engine的GlobeControl中如何实现类似于ArcGlobe里鼠标三维定位的功能,也就是如何获得鼠标点击位置的X,Y,Z。
这个问题要分两个步骤实现,首先是通过IGlobeDisplay.Locate方法获得屏幕坐标的X,Y对应的地理坐标X,Y,第二步是通过地理坐标X,Y求解到地形影响下对应的高程值。
代码如下:
public sta
1.打开数据属性表添加用于存储点坐标信息的字段(shape文件支持的字符类型长度为254,GDB中的字段理论长度可以达到2147483647)
2.选择计算字段值,并勾中advanced选项。在其中编写提取面要素边界点的VBA代码
3.核心代码如下(其中[shape]字段代表几何对象):Dim geo As IGeometry
Set geo =[Shape]
Dim gtmp As IRing