ArcEngine连接Arcgis Server地图服务之查询

对加载到ArcEngine里的Arcgis Server地图服务的漫游、缩放等地图浏览操作,与对本地地图一样不过,然而查询时,由于数据不再本地,所以不能用查询本地地图的那些代码,需要另外编码,但是查询的步骤还是大体类似,都需要设置查询条件,只是本地数据用IFeatureLayer.Search方法而地图服务数据则用IMapServer.QueryFeatureData,具体步骤如下。

1、获取IMapServer对象

  在“ArcEngine获取ArcGIS Server上的地图服务”一文中已经详细介绍了怎样获取IMapServer对象,这里就不赘述了,只直接定义一对象表示已经实例化

  IMapServer mapserver;

2、设置查询条件

  设置查询条件方式与查询本地数据一样,都是通过社SpatialFilter对象属性实现

  SpatialFilter filter = new SpatialFilter();

  filter.Geometry = geo;//图形查询方式,设置查询图形

  filter.SpatialRel =  esriSpatialRelEnum.esriSpatialRelIntersects;//空间查询关系

  filter.WhereClause=strSql;//设置属性条件查询SQL语句

3、执行查询

  IRecordSet rcdset=mapserver.QueryFeatureData(mapname, lyrId, filter);//查询结果保存在IRecordSet对象中,mapname表示地图服务地图的名称,lyrId表示要查询的地图服务子图层的I的号,通常为图层序号

完整代码如下:

  View Code

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值