查询功能

 分类:1 图形查询属性(点击查询、多边形查询)  2 属性查询图形(单一属性查询,多种属性复合查询)

              1.1点击查询

                IFeatureLayer pfeaturelayer = axMapControl1.get_Layer(0) as IFeatureLayer;   // 主要是确定要查找的图层
                IPoint point = new PointClass();                                                                                   // 点选查询,获取点信息
                point.PutCoords(e.mapX, e.mapY);
                ISpatialFilter spatialfilter = new SpatialFilterClass();                                               // ISpatialFilter两个关键参数分别为Geometry和SpatialRel
                spatialfilter.Geometry = point;
                spatialfilter.SpatialRel = ESRI.ArcGIS.Geodatabase.esriSpatialRelEnum.esriSpatialRelEnvelopeIntersects;  // 点与图层的关系
                IFeatureCursor FeatureCursor = pfeaturelayer.FeatureClass.Search(spatialfilter, false);
                IFeature feature;
                feature = FeatureCursor.NextFeature();

              1.2 多边形查询

                     多边形查询分很多种包括矩形,圆形,多边形等等,其实主要方法还是一样的,与点击查询不同的是ISpatialFilter.Geometry不再是point

                IFeatureLayer pfeaturelayer=axMapControl1.get_Layer(0) as IFeatureLayer;   
                IGeometry poylogn = axMapControl1.TrackRectangle() as IGeometry;
                ISpatialFilter spatialfileter = new SpatialFilterClass();
                spatialfileter.Geometry = poylogn;
                spatialfileter.SpatialRel = esriSpatialRelEnum.esriSpatialRelEnvelopeIntersects;
                IFeatureCursor cursor = pfeaturelayer.FeatureClass.Search(spatialfileter, false);
                IFeature pfeature = cursor.NextFeature();

             2.1属性查询图形

                     主要用的接口为IQueryFilter接口,查询是属性为Double和String 的时候还是有区别的,比如: 

                     属性为string的时候  地块编号=’01A’

                     属性为double的时候地块面积=100;

            string test = textBox6.Text;
            IFeatureLayer featurelayer = axMapControl1.get_Layer(0) as IFeatureLayer;
            IQueryFilter filter = new QueryFilterClass();
            filter.WhereClause = "地块编号='" + test + "'";
            IFeatureCursor featurecursor;
            featurecursor = featurelayer.FeatureClass.Search(filter, false);
            IFeature feature;

                    当然属性查询图形还有一个必要的功能是,能够定位到图形。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值