最近身体不适,静下心来看了一下以前收集的电子书。下面是《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中有一个非常重要的原则:图层要素选中,只会处理选择的部分,否则全部处理。
交互式选择方法:
创建选择图层:选择要素后可以右键创建选择图层,选择图层显示在原图层的上方,其具有几种优势,不仅可以为其指定自己的符号,而且能够独立于原始图层之外进行显示。如果选定的集合是复杂分析的焦点所在,那么该图层会为未来使用而保留选定的要素,从而避免意外清除这个选择而不得不再次执行它的风险。选择图层可用于将相同的要素集合输入到不同的工具或命令,对于 查看和记录长且复杂的系列查询的中间结果很有用。用户也可将该图层保存为图层文件,然后在其他地图文档中使用。当对源图层或选择图层进行编辑时,同时改变。
因为基于要素类,所以不会创建要素的多个副本,也举改变源数据。当需要临时副本的时候,而要素来自于自己的数据或者多个用户所共享的机构数据库,这是最好的解决方案。
定义查询:定义查询是图层的一种属性,类似于选择图层,但是不从选定的集合创建,查询实际上执行的目标是定义哪些要素包含在图层中。像图层一样,定义查询指向原始数据库,而不是创建其副本,并且分享相同的优点和缺点。