利用IIdentify接口实现点选和矩形选择要素

简介:

duckweeds 原文利用IIdentify接口实现点选和矩形选择要素

Identify接口定义了获得要素图层单个要素的属性的捷径方法。它有一个Identify方法,返回一个IArray数组对象。
将下列代码放入MouseDown事件中,可以实现点选或者矩形选择要素。

复制代码
IMap pMap;
IPoint pPoint;
pMap = axMapControl1.Map;
pPoint = axMapControl1.ToMapPoint(e.x, e.y);
IIdentify pIdentify;
pIdentify = (IIdentify)pMap.get_Layer(0);
IArray pIDArray;
IFeatureIdentifyObj pFeatIdObj;
IIdentifyObj pIdObj;

//点选
IEnvelope pEnv=new EnvelopeClass();
pEnv =axMapControl1.ActiveView.Extent;
pEnv.Height= 100;
pEnv.Width  = 100;
pEnv.CenterAt(pPoint);
pIDArray = pIdentify.Identify(pEnv);

//矩形选择
 //IEnvelope testIRectangleElement;
//testIRectangleElement = axMapControl1.TrackRectangle();
//pIDArray = pIdentify.Identify(testIRectangleElement);
//i = pIDArray.Count;
if (pIDArray != null)
{
    for (int i = 0; i <= pIDArray.Count; i++)
    {
        pFeatIdObj = (IFeatureIdentifyObj)pIDArray.get_Element(i);
        pIdObj = (IIdentifyObj)pFeatIdObj;
        pIdObj.Flash(axMapControl1.ActiveView.ScreenDisplay);
        //消息显示查询目标的信息
        MessageBox.Show("Layer:" + pIdObj.Layer.Name + "Feature:" + pIdObj.Name);
    }
}
else
{
    MessageBox.Show("No feature identified.");
}

}
复制代码

 

此外,有关使用Identify,实现点击查询并闪烁显示,并把查询要素的信息通过DataGridView显示出来。可参考本博文文章AE中Identify查询工具的实现

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。


    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6113655.html ,如需转载请自行联系原作者


相关文章
|
4月前
|
人工智能
视频脚本是什么意思?视频脚本怎么写
果和团队协作的基础。它不同于传统文学剧本,更强调视觉呈现与节奏控制,适用于短视频、广告片、Vlog等多种形式
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI系统】知识蒸馏原理
本文深入解析知识蒸馏(Knowledge Distillation, KD),一种将大型教师模型的知识高效转移至小型学生模型的技术,旨在减少模型复杂度和计算开销,同时保持高性能。文章涵盖知识蒸馏的基本原理、不同类型的知识(如响应、特征、关系知识)、蒸馏方式(离线、在线、自蒸馏)及Hinton的经典算法,为读者提供全面的理解。
1002 2
【AI系统】知识蒸馏原理
|
9月前
|
消息中间件 NoSQL 关系型数据库
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
|
安全 网络安全 数据安全/隐私保护
2023年中职“网络安全“—数字调查取证(attack817.pcapng)
2023年中职“网络安全“—数字调查取证(attack817.pcapng)
395 0
|
存储 算法 安全
量子计算基础介绍
量子计算基础介绍
296 1
|
设计模式 网络协议 Java
【十五】设计模式~~~行为型模式~~~状态模式(Java)
文章详细介绍了状态模式(State Pattern),这是一种对象行为型模式,用于处理对象在其内部状态改变时的行为变化。文中通过案例分析,如银行账户状态管理和屏幕放大镜工具,展示了状态模式的应用场景和设计方法。文章阐述了状态模式的动机、定义、结构、优点、缺点以及适用情况,并提供了Java代码实现和测试结果。状态模式通过将对象的状态和行为封装在独立的状态类中,提高了系统的可扩展性和可维护性。
【十五】设计模式~~~行为型模式~~~状态模式(Java)
|
网络安全 Python
Python:获取ssl证书信息和到期时间
Python:获取ssl证书信息和到期时间
1316 0
|
前端开发 搜索推荐 SEO
【专栏:HTML 与 CSS 实践篇】使用 HTML 与 CSS 构建个人博客网站
【4月更文挑战第30天】本文介绍了使用HTML和CSS构建个性化个人博客网站的步骤。首先,规划设计网站主题、风格和结构;接着,利用HTML搭建首页、文章列表页和文章详情页的结构;然后,通过CSS设计整体风格、布局和交互效果;填充内容并进行SEO优化;最后,通过实际案例展示HTML和CSS的应用。构建博客网站不仅是展示自我和分享知识的平台,也是提升技能和创意实践的好机会。
407 1
|
机器学习/深度学习 算法 数据挖掘
python k-means聚类算法 物流分配预测实战(超详细,附源码)
python k-means聚类算法 物流分配预测实战(超详细,附源码)
981 1
python k-means聚类算法 物流分配预测实战(超详细,附源码)