当前位置: 首页 > news >正文

网站建设系统海南网站设计

网站建设系统,海南网站设计,怎么快速推广自己的产品,有做网站的公司吗一、开发环境 开发环境为ArcGIS Engine 10.2与Visual studio2010。在使用ArcEngine查询进行查询的时候主要使用三种查询接口IQueryFilter(属性查询) 、ISpatialFilter(空间查询) 、IQueryDef (多表查询) 那…

一、开发环境

开发环境为ArcGIS Engine 10.2与Visual studio2010。在使用ArcEngine查询进行查询的时候主要使用三种查询接口IQueryFilter(属性查询) 、ISpatialFilter(空间查询) 、IQueryDef (多表查询)
那么这三个接口的区别是什么呢?

要求IQueryFilterISpatialFilterIQueryDef
属性约束TrueTrueTrue
空间约束FalseTrueFalse
查询结果包括多个表的字段FalseFalseTrue
查询结果返回一个游标TrueTrueTrue
RecordSet对象可以从结果中创建TrueTrueTrue
返回的记录可以被编辑TrueTrueFalse
记录集包括在活动编辑会话中进行的编辑TrueTrueFalse

从上面的表格可以看出IQueryFilter、IQueryDef 都可以进行属性查询,ISpatialFilter可以进行空间查询。

  1. IQueryFilter接口

这是最常见的属性查询,输入WhereClause条件用于获取或设置查询过滤条件,然后调用IFeatureClass或者ITable的Search方法就行了。

  • 示例代码
  • private void 属性查询ToolStripMenuItem_Click(object sender, EventArgs e)
    {try{//判断第一个图层是否是矢量图层,如果是则开始属性查询,如果不是程序不再执行if (axMapControl1.get_Layer(0) is IFeatureLayer){//把第一个图层强制转换为要素类图层IFeatureLayer pFeatureLayer = axMapControl1.get_Layer(0) as IFeatureLayer;//创建一个QueryFilter对象IQueryFilter pQueryFilter = new QueryFilter();//输入查询过滤条件【查询当前要素类 FID为1或2的要素】pQueryFilter.WhereClause = "FID = 1 or FID = 2";IFeatureSelection pFeatureSelection = pFeatureLayer as IFeatureSelection;//进行空间查询,并加入选择集pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultNew, false);//刷新主地图进行高亮显示,一般用局部刷新axMapControl1.Refresh();}}catch (Exception ex){MessageBox.Show("请先加载数据后再进行查询!","",MessageBoxButtons.OK,MessageBoxIcon.Warning);}
    }
    

    2.ISpatialFilter接口

  • ISpatialFilter继承了接口IQueryFilter,在属性查询的基础上加了要素与要素的空间关系进行查询。其中Geometry用于设置查询几何;SpatialRel设置查询的空间关系,空间关系esriSpatialRelEnum可参考我另一篇文章的介绍。以及esri官网的介绍。
    SpatialFilterClass还继承了IQueryFilterDefinition2接口。
  • 示例代码
  • #region 通过点击主地图的面状图形,获取其临近要素
    private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
    {try{//清空地图选择集axMapControl1.ActiveView.FocusMap.ClearSelection();//实例化一个点,以该点作拓扑算子,将点击的位置坐标赋予pPointIPoint pPoint = new ESRI.ArcGIS.Geometry.Point();ITopologicalOperator pTopologicalOperator = pPoint as ITopologicalOperator;pPoint.PutCoords(e.mapX, e.mapY);//以缓冲半径为0进行缓冲  得到一个点IGeometry pGeometry = pTopologicalOperator.Buffer(0);//以该点进行要素选择(只能选中面状要素,点和线无法选中)axMapControl1.Map.SelectByShape(pGeometry, null, false);//刷新视图axMapControl1.Refresh(esriViewDrawPhase.esriViewGeoSelection, null, null);// 获取选择集ISelection pSelection = axMapControl1.Map.FeatureSelection;// 获取要素IEnumFeature pEnumFeature = pSelection as IEnumFeature;IFeature pFeature = pEnumFeature.Next();while (pFeature != null){//定义一个空间查询对象ISpatialFilter spatialFilter = new SpatialFilter();//空间查询对象为点选的的几何对象spatialFilter.Geometry = pFeature.Shape;//设置空间查询关系为 空间临接查询spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelTouches;//遍历axMapControl1中的所有图层for (int i = 0; i < axMapControl1.LayerCount; i++){//清空地图选择集axMapControl1.ActiveView.FocusMap.ClearSelection();//判断当前图层是否为矢量图层if (axMapControl1.get_Layer(i) is IFeatureLayer){//将图层强制转换为IFeatureLayerIFeatureLayer pFeatureLayer = axMapControl1.get_Layer(i) as IFeatureLayer;//输入目标图层,并转换为IFeatureSelection对象IFeatureSelection featureSelection = pFeatureLayer as IFeatureSelection;//开始空间查询,查询到的结果保存在ISelectionSet中,可以用游标Cursor来遍历要素                          featureSelection.SelectFeatures((IQueryFilter)spatialFilter, esriSelectionResultEnum.esriSelectionResultNew, false);}}break;}}catch (Exception ex){MessageBox.Show("程序执行失败!"+ex);}
    }
    #endregion
    

    3.IQueryDef 接口
    IQueryDef用于属性查询。它支持复杂的SQL查询并且能在同一工作空间内做连表查询。但是查询后的结果不支持编辑。且不能在Shapefile 和Coverage 数据中使用,而仅仅可以使用在GeoDatabase数据库中。

http://www.ds6.com.cn/news/93216.html

相关文章:

  • h5网站程序厦门推广平台较好的
  • 西安知名网站建设公司排名网络销售渠道有哪些
  • windows10网站建设软文平台发布
  • 河北省水利建设市场网站百度账号管家
  • 工作室网站网站营销策略有哪些
  • 八桂职教网技能大赛德州网站建设优化
  • 上海网站建设y021成品网站1688入口网页版怎样
  • 专业网站建设定制公司广告网站留电话不用验证码
  • 陕西省建设工程监理协会网站 查询广告招商
  • 苏州市智信建设职业培训学校网站公司做个网站多少钱
  • 自己做网站卖东西可以民宿平台搜索量上涨
  • wordpress允许pingseo培训公司
  • 个人可以做行业网站吗广告关键词有哪些类型
  • 网页设计和网站建设关键词优化精灵
  • 用.net做网站好_还是用php搜索引擎网站提交入口
  • wordpress 在模板页显示文章网络优化工程师有前途吗
  • 一级a做爰片免费网站录像重庆最新数据消息
  • 公司做网站的费用记到哪个科目百度推广登录首页
  • 团购网站html模板百度指数如何分析
  • 有哪些外贸公司网站做的比较好橘子seo历史查询
  • 网站建设服务器的配置外贸网站推广优化
  • 深圳做小程序的公司排名天津seo托管
  • 动易学校网站管理系统今天新闻头条新闻
  • 购物商城网站建设方案欧美网站建设公司
  • 不用淘宝客api如何做网站app开发
  • 做网站的小图标宁波seo外包平台
  • 免费建造网站对网站进行seo优化
  • 设计一个网页要多少钱seo顾问收费
  • 怎么做网站弄网盟怎么申请域名建立网站
  • 南京建设工程公共资源交易中心网站详细的营销推广方案