首页 > 代码库 > ArcGlobe点击IGlobeServerLayer图层读取信息
ArcGlobe点击IGlobeServerLayer图层读取信息
ArcGISServer将点图层发布成Globe服务,AE开发中自定义识别工具,读取点数据信息。
1) 通过Locate方法获取图层对象,图层对象中的SearchOID就是你点中的要素Objectid。
2) 通过GlobeServer.Identify读取结果集IGlobeServerIdentifyResults。
代码如下:
public override void onm ouseDown(int Button, int Shift, int X, int Y) { if (Button != 1) return; //Get the element that the user selects ESRI.ArcGIS.Geometry.IPoint ppPoint = new ESRI.ArcGIS.Geometry.PointClass(); ESRI.ArcGIS.Geometry.IZAware zAware = ppPoint as ESRI.ArcGIS.Geometry.IZAware; zAware.ZAware = true; object ppObject; object ppOwner; globeDisplay.Locate(globeDisplay.ActiveViewer, X, Y, false, false, out ppPoint, out ppOwner, out ppObject); if (ppPoint == null) return; if (!(ppOwner is IGlobeServerLayer)) return; Help_Globe.FlashPoint(ppPoint); gLayer = ppOwner as IGlobeServerLayer; IGlobeLayerInfo gLayeInfo = gLayer.GlobeLayerInfo; if (gLayeInfo.Name != "3dd文件中的点图层名称") return; IGlobeServerIdentifyResults results = gLayer.GlobeServer.Identify(gLayer.GlobeServerLayerID, gLayer.SearchOID, gLayeInfo.Extent.Envelope); if (results.Count > 0) { IGlobeServerIdentifyResult result = results.get_Element(0); object dwmc = result.Properties.GetProperty("DW_MC"); if (Convert.IsDBNull(dwmc) || dwmc == null) return; FormWuZhongInfo dlg = new FormWuZhongInfo(dwmc.ToString(), dwmc.ToString()); dlg.Text = dwmc.ToString(); dlg.ShowDialog(); } return; }
ArcGlobe点击IGlobeServerLayer图层读取信息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。