1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > [AE] ArcGIS Engine - 属性查询与空间查询 - QueryFilter|SpatialFilter

[AE] ArcGIS Engine - 属性查询与空间查询 - QueryFilter|SpatialFilter

时间:2024-05-08 11:47:26

相关推荐

[AE] ArcGIS Engine - 属性查询与空间查询 - QueryFilter|SpatialFilter

文章目录

QueryFilter属性查询SpatialFilter空间查询Cursor游标

QueryFilter属性查询

得到将要查询的图层

IFeatureLayer pFeatureLayer = this.axMapControl1.get_Layer(0) as IFeatureLayer;IFeatureSelection pFeatureSelection = pFeatureLayer as IFeatureSelection;

创建查询,并设置属性

IQueryFilter pQueryFilter = new QueryFilterClass();pQueryFilter.WhereClause = "ID = 2"; //查询条件

执行查询

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

刷新图层

axMapControl1.Refresh();

SpatialFilter空间查询

得到将要查询的图层

IFeatureLayer pFeatureLayer = axMapControl1.get_Layer(layerNum) as IFeatureLayer;

创建空间查询类

ISpatialFilter spatialFilter = new SpatialFilterClass();//设置过滤器的Geometry属性IPoint pPoint = new PointClass();pPoint.PutCoords(e.mapX, e.mapY);spatialFilter.Geometry = pPoint;spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects; //空间过滤关系

执行查询,并返回游标

IFeatureCursor featureCursor = pFeatureLayer.Search(spatialFilter, false);

遍历结果,进行闪烁

IFeature pFeature;while ((pFeature = featureCursor.NextFeature()) != null){axMapControl1.FlashShape(pFeature.Shape); //在地图控件上闪烁显示图形}

Cursor游标

本质上是一个指向数据的指针,本身并不包含数据内容,它是连接到Row对象或要素对象的桥梁

三种类型:

查询游标插入游标更新游标

通过与之相适应的方法来获得,如Search、Insert、Update方法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。