ArcGIS中的查询
最近身体不适,静下心来看了一下以前收集的电子书。下面是《ArcGIS地理信息系统教程_第5版》(李玉龙)第5章“查询”的读书笔记。
1.查询的常见应用:
选择感兴趣的要素:查找哪些要素满足特定标准。例如当前成都哪些房价是本人能够承受的价格范围?应该没有。
探索图案样式:从选定的要素中创建地图,并检查其空间分布。例如到底是哪些位置排污量大,造成如此重度污染?
为进一步分析而分离要素:例如要分析个人的效益情况,先要把工资高、干活少的员工选择出来。
探索空间关系:哪趟火车能够到达目的地附近50公里城市?
创建栅格查询:矢量查询用得非常多,但栅格也可以按像元进行查询。例如从土地利用类型图上查询近3年本市建筑范围变化的区域。
查询主要包括空间查询(Spatial Query)和属性查询(Attribute Query)两种。
2.属性查询
属性查询遵守SQL语法,但需要每个表达式条件必须包含一个字段名(即使为相同字段),例如SQL无法正确识别表达式”Gay”=’工资高’ AND ‘干活少’,而应当写成”Gay”=’工资高’ AND ‘”Gay”=‘干活少’。
除了AND、OR、NOT外,有时XOR也有用。
当遇到多个表达式时,用括号来区分判断的先后顺序;或者使用“在当前选择集中选择”来一步一步地选择。
模糊查询时,记住通配符,在Shapefile文件文件中’%‘表示任意个字符,’_‘表示一个字符;但在数据库中’?‘表示任意个字符,’?‘表示一个字符。
例如:"NAME" LIKE ‘% LiJie%’,表达中第2个%,也许有人认为是多余的,通常情况是这样的。但是这确定避免出现一种特殊情况,就是姓名后面多出一些意外的空格,以致于无法选择正确的内容。
3.空间查询
空间查询是GIS所独有的一种功能强大的工具,是基于空间关系进行选择。例如大家熟悉的平移和缩放也是一种特殊的空间查询类型。平移和绽放操作基于XY坐标定义了一个兴趣矩形,并提交软件返回落入其中的所有要素。
因为要素类的精确度和几何准确度不同,经常会发生真实世界中的一致的两个对象(例如河流标尺和河流),当在GIS中比较其XY坐标时无法完全精确匹配。当评估空间条件时,指定搜索半径非常有用,可以使用要素不需要精确匹配。
以城市与河流相交的问题为例。国家比例尺下的城市通过点来表达,而河流是通过广义线来表达的。即使城市真的与河流相交,如果点发生在表示西游记的线上也只是幸运,应用搜索半径是一种解决方案,假定典型的大城市可能通过一侧的10km2所表示,那么设置搜索半径为5km也许能够生成一种可以接受的结果。即使如此,可能还是会遇到一些错误的结果(正值的相关与负值)。
必须总是记得真实世界中的实体与GIS所表现的实体之间的差别,并缓和由于比例尺或精度所导致的问题。例如在这种情况下,用户可能继续执行了查询,但是然后通过联机影像来检查每个选定的城市,从而确保存在正确的关系。
4.空间关系
包含:检查一个要素是否包含另一个要素。分为以下六种情况:
A严格等于B(具有完全相同的几何特征),对应are identical to(A相等B);
B所有要素完全被A环绕,对应A completely contains B(A完全包含B),也对应B completely within A(B完全位于A范围内);
B位于A内,但它们共享一条边,对应contains(A包含B),也对应B within A(B位于A范围内);
A中某个要素的中心是否位于B中某个要素范围内,对应A have their center in B(A 中心位于 B)。
相交:返回A中接触、穿越或叠加B中要素任何部分的任何要素. A are crossed by the boundary of B (A被B的边界所穿越),返回A中只穿越B中要素边界的要素。
邻近:检测A中要素与B中要素之间有多么接近。最常见的检测是are within a distance of(在……距离范围内),选择A中位于B某个特定距离范围内的要素。例如返回学校周围2公里范围内所有地块。邻接(Adjacency)是一种特殊的邻近情形,距离变为0,实际上要素的边界彼此之间接触在一起,这些条件为share a line segment with(与……共享一条线段)和touch the boundary of(接触……的边界)运算符所覆盖。
5.要素选择方法
在ArcMap中提供了3种要素选择方法:交互式选择,按属性选择和按位置选择。
处理包含选择的图层,在ArcMap中有一个非常重要的原则:图层要素选中,只会处理选择的部分,否则全部处理。
交互式选择方法:
创建选择图层:选择要素后可以右键创建选择图层,选择图层显示在原图层的上方,其具有几种优势,不仅可以为其指定自己的符号,而且能够独立于原始图层之外进行显示。如果选定的集合是复杂分析的焦点所在,那么该图层会为未来使用而保留选定的要素,从而避免意外清除这个选择而不得不再次执行它的风险。选择图层可用于将相同的要素集合输入到不同的工具或命令,对于 查看和记录长且复杂的系列查询的中间结果很有用。用户也可将该图层保存为图层文件,然后在其他地图文档中使用。当对源图层或选择图层进行编辑时,同时改变。
因为基于要素类,所以不会创建要素的多个副本,也举改变源数据。当需要临时副本的时候,而要素来自于自己的数据或者多个用户所共享的机构数据库,这是最好的解决方案。
定义查询:定义查询是图层的一种属性,类似于选择图层,但是不从选定的集合创建,查询实际上执行的目标是定义哪些要素包含在图层中。像图层一样,定义查询指向原始数据库,而不是创建其副本,并且分享相同的优点和缺点。
ArcGIS中的查询的更多相关文章
- ArcGIS中使用异步回调函数查询图层Graphic
在我们的地图的操作中经常会有一些操作是需要通过画多边形或者画线来查找某一块区域内的特定的Graphics比如我们在做的交警的项目中通过框选来查找某一块区域中的摄像机,某一块区域中的警力.警情.警员等相 ...
- 【转】ArcGIS中File Geodatabase与Personal Geodatabase的区别
原文地址:ArcGIS中File Geodatabase与Personal Geodatabase的区别作者:最爱忆宝贝 一.平台支援: 1.Personal Geodatabase:仅可在Windo ...
- ArcGIS中的WKID(转)
ArcGIS中的WKID link: https://www.cnblogs.com/liweis/p/5951032.html 提到坐标系统,大家多少能明白一些,但在运用时,有些朋友搞得不是非常清楚 ...
- 【总结整理】关于ArcGIS中拓扑的理解
空间拓扑: https://www.baidu.com/link?url=f8fd1d75GhwtT1JuyPDZydZlWCgEXB9DeuTzDqGQIIRpq0bM-8t3MlC5tXYvEwQ ...
- (转)ARCGIS中坐标转换及地理坐标、投影坐标的定义
原文地址:http://blog.sina.com.cn/s/blog_663d9a1f01017cyz.html 1.动态投影(ArcMap) 所谓动态投影指,ArcMap中的Data 的空间参考或 ...
- AE中地图查询方式
樱木 原文 AE中地图查询方式 地图查询主要有两种查询:空间查询和属性查询 所用到知识点: 1 Cursor(游标)对象 本质上是一个指向数据的指针,本身不包含数据内容,提供一个连接到ROW对象或者 ...
- arcgis中的Join(合并连接)和Relate(关联连接)
arcgis中的Join(合并连接)和Relate(关联连接) 一.区别 1.连接关系不一样. Relate(关联连接)方式连接的两个表之间的记录可以是“一对一”.“多对一”.“一对多”的关系 Joi ...
- arcgis中nodata设为0及其小技巧
一.arcgis中nodata设为0 两个栅格进行叠加,有时会有一部分没有数据,即用identify点击该区域,Value为NoDat a,而不是像其他非空区域一样有值. 此时注意nodata区域要赋 ...
- arcgis中栅格矢量计算技巧收藏
编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...
随机推荐
- gradle/maven/eclipse工程相互转化
原文: gradle/maven/eclipse工程相互转化 gradle/maven/eclipse工程相互转化:前提安装好相应的工具和插件.1.Maven->eclipse mvn ecl ...
- 【POJ】1419:Graph Coloring【普通图最大点独立集】【最大团】
Graph Coloring Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5775 Accepted: 2678 ...
- elasticsearch实例讲解增删改查
1.首先弄明白四个概念 elasticsearch 关系型数据库 index 数据库 type 表 document 行 field 字段 如果刚一开始理解比较困难,那你就在心中默念100遍,10遍也 ...
- POJ 1470 Closest Common Ancestors (LCA,离线Tarjan算法)
Closest Common Ancestors Time Limit: 2000MS Memory Limit: 10000K Total Submissions: 13372 Accept ...
- ASP.NET Web Api 实现数据的分页
前言 这篇文章我们将使用不同的方式实现手动分页(关于高端大气上档次的OData本文暂不涉及,但有可能会在系列的后期介绍,还没确定...),对于分页的结果,我们将采用2种不同的方式响应给客户端(1.将分 ...
- PHP自学之路---雇员管理系统(1)
前面已经介绍了Zend studio工具的使用以及软件开发的基本阶段,下面就是我们第一个练习,雇员管理系统,从设计到实现来简单介绍下: 开发环境: 服务器:基于Linux 2.618环境下配置PHP服 ...
- Java基础加强总结(二)——泛型
一.体验泛型 JDK1.5之前的集合类中存在的问题——可以往集合中加入任意类型的对象,例如下面代码: package cn.gacl.generic.summary; import java.util ...
- 分割流 SequenceInputStream (转)
import java.io.*;import java.util.*; class SplitFile{ public static void main(String[] args) throws ...
- UML状态图
状态图(Statechart digram)是系统分析的一种经常使用工具,系统分析员在对系统建模时,最先考虑的不是基于活动之间的控制流,而是基于状态之间的控制流,由于系统中对象的状态变化最易被发现和理 ...
- 列出Windows域中所有的机器
我所在的部门大概管理了300+台Windows终端,最近开始采用域的方式来进行管理.(别笑我们土,原来手工修改Windows口令太痛苦了.) 现在的任务是想在域控服务器中列出纳入域管理的所有机器,以及 ...







