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

ArcGIS Identify要素查询
本文介绍如何使用ArcGIS的IIdentify接口实现地图上的点选和矩形选择要素功能。通过示例代码展示了如何获取选中要素的属性,并在界面上进行高亮显示及消息提示。同时提供了一个参考链接来进一步展示如何结合DataGridView组件展示查询结果。

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查询工具的实现

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值