ArcGIS Engine 10 开发手册(3-12)IMap接口
该接口主要用于管理 Map 对象中的图层对象,要素选择集和空间参考等对象,IMap 接口也往往是我 们一个任务的起点。使用 IMap 接口,我们可以获取这个 Map 对象中的图层的个数,可以添加图层,删除 图层,还可以利用 IMap 实现查询的高亮显示。IMap 接口提供了两个和查询相关的方法 IMap.SelectByShape 方法和 IMap.SelectFeature 方法。
IMap.SelectFeature 方法可以将在 Map 中获得的一个要素放到这个要素的图层选择集中,这个方法有一 个很重要的用途就是这个方法能使获取的要素高亮显示
使用IMap.SelectByShape方法对地图中的要素进行查询
public void SelectByShape (
IGeometry Shape,
ISelectionEnvironment env,
bool justOne
);
IMap.SelectByShape 方法将会在 Map 中的所有图层中进行查询,这个方法需要三个参数,第一个参数 是一个 Geomtry 对象,IMap.SelectByShape 在查询的时候凡是和我们输入进去的这个几何对象相交的要素 都会查询出来,但是这有一个前提就是每一个要素图层的 Selectable 属性是 true。
第二个参数 ISelectionEnvironment,ISelectionEnvironment 参数控制着构造选择集的结果和显示的方法等。
第三个参数是一个 bool 值。
我们在 MapControl’控件中画一个多边形的面,查找出和我们这个多边形面相交的所有图层中的要素
IGeometry pGeo =axMapControl1.TrackPolygon();
axMapControl1.Map.SelectByShape(pGeo, null, false);
axMapControl1.ActiveView.Refresh();
效果如下:
使用IMap.SelectFeature方法对地图中的要素进行查询
public void SelectFeature (
ILayer Layer,
IFeature Feature
);
void SearchHightlight (IMap_pMap, IFeatureLayer_pFeatureLayer, IQueryFilter_pQuery, bool_Bool)
{
IFeatureCursor pFtCursor = _pFeatureLayer.Search (_pQuery,_Bool);
IFeature pFt = pFtCursor.NextFeature ();
while (pFt != null)
{
_pMap.SelectFeature (_pFeatureLayer as ILayer, pFt);
pFt = pFtCursor.NextFeature ();
}
}
效果如下:
ArcGIS Engine 10 开发手册全集
ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。