麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

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 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)