ArcGlobe点击IGlobeServerLayer图层读取信息

ArcGISServer将点图层发布成Globe服务,AE开发中自定义识别工具,读取点数据信息。

1) 通过Locate方法获取图层对象,图层对象中的SearchOID就是你点中的要素Objectid。

2) 通过GlobeServer.Identify读取结果集IGlobeServerIdentifyResults。

代码如下:

 public override void OnMouseDown(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;

}

  

时间: 2024-10-13 04:18:11

ArcGlobe点击IGlobeServerLayer图层读取信息的相关文章

“在 setroubleshoot 服务中读取信息时出错:没有那个文件或目录” 的解决办法

在学习鸟哥的LINUX私房菜(基础篇)第17.5.5 SELinux所需的服务 章节中 鸟哥提到: [[email protected] ~]# chkconfig --list setroubleshoot setroubleshoot 0:off 1:off 2:off 3:on 4:on 5:on 6:off # 我们癿 Linux 运作模式是在 3 戒 5 号,因此这两个要 on 卲可. 我的虚拟机为CentOS5.11, 但是我在测试的时候,出现如下信息: [[email protec

javascript 调用谷歌地图API 输入地址 点击弹出悬浮信息

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=zh-CN"></

简析Geoserver中获取图层列表以及各图层描述信息的三种方法

1.背景 实际项目中需要获取到Geoserver中的图层组织以及各图层的描述信息:比如字段列表等.在AGS中,我们可以直接通过其提供的REST服务获取到图层组织情况以及图层详细信息列表,具体如下所示: 那么在Geoserver中是否也有相关用法?各种方法之间有何优劣? 2.REST请求方法 2.1方法描述 该方法与上面讲解的AGS的REST请求方法类似,也是先获取到组织情况然后再进行各个图层的描述信息获取: 获取workspace信息: 获取workspace下的datasource信息:获取w

点击链接将链接信息插入文本框

点击链接将链接信息插入文本框:下面一段代码实例,当点击链接的时候能够将链接的相关信息插入大文本框中,可能在实际编码中很少有这种用法,不顾还是希望浏览者能够从中获取或多或少有用的信息,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.co

mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换等

mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换(上) MP3文件格式(二)---ID3v2 图:ID3V1标签结构 图:ID3V2标签结构 图:ID3V2头结构 图:ID3V2帧头结构 1.帧标识  用四个字符标识一个帧,说明一个帧的内容含义,常用的对照如下:  TIT2=标题 表示内容为这首歌的标题,下同  TPE1=作者  TALB=专集  TRCK=音轨 格式:N/M  其中N为专集中的第N首,M为专集中共M首,N和M为AS

C#:使用OleDb从Excel表格中读取信息到DataTable

从Excel表格中将数据读入到DataTable数据类型中,我是通过使用OLEDB来实现的 (OLEDB是Object Linking and Embedding Database的缩写) 现有一个扩展名为xlsx的工作簿文件"节气表.xlsx",在工作表Sheet1中有24个节气的信息 本文中的示例程序(代码将在后面给出)读取这个数据表后的效果如下图: 可以看出:OleDb读入一个Excel工作表(Sheet)的数据后,工作表的第一行会变成标题,第二行起,逐行变为DataTable的

从配置文件或数据库中读取信息并缓存

在项目中将一些常用的不变的信息可以缓存起来,这样可以减少内存的使用率,提高性能.比如说就数据库连接的相关信息等,可以用单例模式第一次进行连接的时候将数据库连接的相关信息缓存再单例对象中. 首先建个.properties文件,存放数据库连接信息,内容如下: #数据库配置 driver_class = oracle.jdbc.driver.OracleDriver url= jdbc:oracle:thin:@192.168.20.188:1521:orcl username = qwszpt pa

Photoshop脚本 &gt; 查看图层边界信息

源自:http://coolketang.com/tutorials/menu2lesson6.php 本节将演示如何使用脚本,查看当前图层的边界信息.首先创建一个空白的脚本文档,并保存在硬盘上某个位置. 首先创建一个空白的脚本文档,并保存在硬盘上某个位置. 接着输入脚本代码: //定义一个变量[activeLayer],表示Photoshop当前文档的当前图层. var activeLayer = app.activeDocument.activeLayer; //定义一个变量[bounds]

百度地图批量添加标注+点击显示对应窗口信息

<script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); // 创建Map实例 var point = new BMap.Point(121.338403, 31.24203); map.centerAndZoom(point, 7);//创建中心点 map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用 map.enab