『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS Engine 10 开发手册(4-19)使用IFeatureSelection接口高亮显示

ArcGIS Engine 10 开发手册(4-19)使用IFeatureSelection接口高亮显示
在介绍 IMap 接口那一节,我们用 IMap 的 IMap.SelectFeature 方法实现了对查询的要素高亮显示,现 在我们用 IFeatureSelection 接口实现查询高亮显示。

      在介绍 IMap 接口那一节,我们用 IMap IMap.SelectFeature 方法实现了对查询的要素高亮显示,现 在我们用 IFeatureSelection 接口实现查询高亮显示。


      详细代码

IMap pMap = axMapControl1.Map;

 

IFeatureLayer pFeaturelayer = GetLayer (pMap, "Roads") as IFeatureLayer;

IFeatureSelection pFeatureSelection = pFeaturelayer as IFeatureSelection;

IQueryFilter pQuery = new QueryFilterClass ();

 

pQuery.WhereClause = "TYPE=" + "'paved'";

pFeatureSelection.SelectFeatures (pQuery,  esriSelectionResultEnum.esriSelectionResultNew, false);

axMapControl1.ActiveView.Refresh ();

       效果如图


       GetLayer 函数

      其中 GetLayer 函数是我们写的一个根据图层的名称获取图层的方法,代码如下:

 

private ILayer GetLayer (IMap pMap, string LayerName)

{

  IEnumLayer pEnunLayer;

  pEnunLayer = pMap.get_Layers (null, false);

  pEnunLayer.Reset ();

 

  ILayer pRetureLayer;

 

  pRetureLayer = pEnunLayer.Next();

  while (pRetureLayer != null)

  {

    if (pRetureLayer.Name == LayerName)

    {

      break;

    }

    pRetureLayer = pEnunLayer.Next();

  }

  return pRetureLayer;

}

      京ICP备08100627号-22 京公网安备 11010802030428号