通过空间数据查询快速实现空间数据选择、查询与统计是GIS数据操作的基本功能,同时也是对特定数据子集进行应用和空间分析的基础。按属性查询是根据属性条件,对某个要素图层查询满足条件的地理要素。本次实验针对空间数据查询中的按属性查询功能开发设计了相应的界面,构造了按属性查询的条件。实验的开发环境为visio studio 2010,arcgis engine10.2。实验的完整代码链接置于文末,方便大家参考学习。

目录

1、将主窗体的MAP属性赋值给按属性查询窗体,完成主窗体对查询窗体的调用。

2、 设计一个通过属性查询的窗体,设置一系列按钮,并设置按钮响应;

3、按属性空间查询及属性值获取的主要代码


1、主窗体对查询窗体的调用

在主窗体中添加名为“按属性查询”的按钮,并添加按钮响应事件。

通过建立CurrentMap属性得到MapControl的Map对象的属性,并加入实现调用子窗体的代码:


2、按属性查询的窗体设计

新建一个windows窗体,按需求添加相应的控件。按属性查询的窗体中需包含图层名称的选择框(对应工具箱中的comboBox),选择方式的选择框(选择方式包含四种,添加到字符串集合),显示图层要素属性字段的listbox,以及图层属性值的listbox(如图所示)。同时还需要有相关筛选要素条件按钮,都为button控件。最后,还需要有包含筛选要素查询条件表达式(where 语句)的textbox控件。

界面设计完成后注意设置相应控件的事件响应,操作的总体思路是:窗体的Load事件中加载当前地图对象中的要素图层到图层下拉列表框ComboBox 中,默认选择是第一个图层;将ComboBox中默认图层的字段读取出来放置于属性字段的ListBox里面,通过条件按钮(“=”、“>”等)构建查询的where语句传入包含筛选要素查询条件表达式(where 语句)的textbox控件中。当点击应用时执行查询。


3、按属性空间查询及属性值获取的相关代码编写

在事件下添加对应的代码,其中用于选择要素的代码如下:

 private void SelectFeaturesByAttribute(){//使用FeatureLayer对象的IFeatureSelection接口来执行查询操作。这里有一个接口转换操作。IFeatureSelection featureSelection = currentFeatureLayer as IFeatureSelection;//新建IQueryFilter接口的对象来进行where语句的定义IQueryFilter queryFilter = new QueryFilterClass();//设置where语句内容queryFilter.WhereClause = textBoxWhere.Text;//通过接口转换使用Map对象的IActiveView接口来部分刷新地图窗口,从而高亮显示查询的结果IActiveView activeView = currentMap as IActiveView;//根据查询选择方式的不同,得到不同的选择集switch (comboBoxSelectMethod.SelectedIndex){//在新建选择集的情况下case 0://首先使用IMap接口的ClearSelection()方法清空地图选择集currentMap.ClearSelection();//根据定义的where语句使用IFeatureSelection接口的SelectFeatures方法选择要素,并将其添加到选择集中featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultNew, false); break;//添加到当前选择集的情况case 1:featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultAdd, false);break;//从当前选择集中删除的情况case 2:featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultXOR, false);break;//从当前选择集中选择的情况case 3:featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultAnd, false);break;//默认为新建选择集的情况default:currentMap.ClearSelection();featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultNew, false);break;}

其中,根据定义的where语句使用IFeatureSelection接口的SelectFeatures方法选择要素,并将其添加到选择集中,通过接口转换使用Map对象的IActiveView接口来部分刷新地图窗口,从而高亮显示查询的结果。


属性值的获取:

整体运行结果:

可以看到按属性查询的结果被高亮显示了出来。


本文完整代码链接:链接:https://pan.baidu.com/s/1LulV1m15OKIMNKGHKAQuIQ 
提取码:1234

如果有充足时间的话, 接下来的几期会持续更新AE空间查询及数据操作的一些内容。

AE开发基础实验二(空间查询之按属性查询)相关推荐

  1. 基础实验二:流水灯设计实现【硬件课程设计】

    基础实验二:流水灯设计实现[硬件课程设计] 前言 推荐 基础实验二:流水灯设计实现 1.实验内容 2.实验原理图设计 3.实验仿真与仿真结果 4.遇到的问题及解决办法 V0:首先设计了从中间向俩边&l ...

  2. 大学计算机实验二报告表答案,北理大学计算机实验基础实验二实验报告表答案...

    <北理大学计算机实验基础实验二实验报告表答案>由会员分享,可在线阅读,更多相关<北理大学计算机实验基础实验二实验报告表答案(4页珍藏版)>请在人人文库网上搜索. 1.实验二实验 ...

  3. AE开发笔记(二)制图输出

    一.制作mxd模板文件 尽可能在模板图层中标注要素,这样在模板图层中插入要素后,标注可以随之自动显示. 二.打开真实数据要素类 打开真实要素类,获取该要素类和空间参考,以及标注需要的字段索引. 三.打 ...

  4. GIS二次开发:实验二 地图数据访问与渲染

    实验二 地图数据访问与渲染 一.实验目的 熟悉不同数据类型对应的工作空间及其使用: 掌握矢量文件.栅格文件.个人数据库以及文件夹数据库的加载: 掌握ArcGIS engine 中图层的渲染类型及所用接 ...

  5. 大学计算机实验二报告表答案,北理大学计算机实验基础实验二实验报告表答案(1页)-原创力文档...

    实验二实验报告表 实验名称: 学号姓名:班级:实验时间: 实验报告表 2-1 数值型数据在计算机中的二进制实验记录表 十进制整数分 输入十进制整数 内存整型数据 内存地址号 类 任意正整数 7 000 ...

  6. SQL service基础(二)对数据指定列查询、条件查询、查询结果排序、聚集函数查询、分组统计查询

    实验目标: 1.掌握指定列或全部列查询 2.掌握按条件查询 3.掌握对查询结果排序 4.掌握使用聚集函数的查询 5.掌握分组统计查询 一.请完成书中实验7.1,并完成以下问题. 1.查询所有学生的姓名 ...

  7. 实验楼Linux基础挑战2答案,实验楼-Linux基础-实验二 Linux的基本概念及操作

    一.实验介绍 1.1 实验内容 实验楼环境介绍 常用 Shell 命令及快捷键 Linux 使用小技巧 1.2 实验知识点 Linux 基本命令 通配符的使用 查看帮助文档 二.桌面环境 1.Linu ...

  8. VR开发基础(二)一文详解Oculus环境helloxr的openxr核心接口流程

    注:Oculus使用的是开源的hello_xr示例,但要使用自家的loader:在hello_xr上篇侧重分析了入口和图形的基本流程,此篇将侧重分析XR相关的流程 一,Setup and Build ...

  9. HCIA(华为体系初级网络安全工程师)eNSP(基础实验二RIP实验)

    目录 实验要求:​ 实验内容及步骤: 步骤一:IP地址的划分及IP地址的配置 步骤二:配置RIP协议及进行宣告 步骤三:配置缺省路由及空接口 实验结果: 实验要求: 实验内容及步骤: 步骤一:IP地址 ...

最新文章

  1. 综述 | 语言分析技术在社会计算中的应用
  2. 焦李成院士:进化优化与深度学习的思考
  3. vcpkg安装_微软牌包管理器vcpkg更新及路线图计划
  4. 什么时候需要用到RCC_APB2Periph_AFIO–复用IO时钟的使用
  5. 信息系统项目管理-项目变更管理-十六
  6. oracle imp命令参数,oracle exp和imp命令参数详解
  7. php启用 兼容性视图,新版Edge浏览器兼容性视图设置及添加兼容性站点教程(图示)...
  8. iOS集成支付宝支付 Alipay
  9. word有符号时 对齐_对齐Excel货币符号时遇到问题
  10. python爬虫爬妹子图_【爬虫】直接上干货-爬取妹子图整站图片
  11. ChatGLM-6B【完全转载】
  12. 微信授权登陆【yixiyun】
  13. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
  14. 如何让青少年在AI时代抢占先机
  15. .Net Framework 4安装失败,提示RGB9RAST_x86.msi或者Windows6.0-KB956250-v6001-x86.msu
  16. 解析Hander消息处理机制
  17. 【双节快乐】十万人都在疯转的国旗中秋专属头像
  18. python获取数组长度_Python返回数组(List)长度的方法
  19. HTML链接跳转与vue链接跳转
  20. Python shuffle() 函数---元素随机排序

热门文章

  1. 坚果云企业网盘:帮助企业规范管理非结构数据
  2. 什么是游戏盾,游戏被攻击怎么用游戏盾防护,不能错过
  3. SequoiaDB巨杉数据库-错误码
  4. Javascript中你必须理解的执行上下文和调用栈
  5. 电脑录屏怎么录?人人都会用的录屏方法
  6. AST批量替换函数名,并且删除原有的节点
  7. Android UI界面目前做的最好的一个:索尼爱立信Xperia X10
  8. markdown 换行
  9. 烤仔TVのCCW丨密码学通识(三)选择明文攻击
  10. 计算机病毒渗透法制教育,法制教育在英语教学中随时、适时和反复渗透