最近身体不适,静下心来看了一下以前收集的电子书。下面是《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中的查询的更多相关文章

  1. ArcGIS中使用异步回调函数查询图层Graphic

    在我们的地图的操作中经常会有一些操作是需要通过画多边形或者画线来查找某一块区域内的特定的Graphics比如我们在做的交警的项目中通过框选来查找某一块区域中的摄像机,某一块区域中的警力.警情.警员等相 ...

  2. 【转】ArcGIS中File Geodatabase与Personal Geodatabase的区别

    原文地址:ArcGIS中File Geodatabase与Personal Geodatabase的区别作者:最爱忆宝贝 一.平台支援: 1.Personal Geodatabase:仅可在Windo ...

  3. ArcGIS中的WKID(转)

    ArcGIS中的WKID link: https://www.cnblogs.com/liweis/p/5951032.html 提到坐标系统,大家多少能明白一些,但在运用时,有些朋友搞得不是非常清楚 ...

  4. 【总结整理】关于ArcGIS中拓扑的理解

    空间拓扑: https://www.baidu.com/link?url=f8fd1d75GhwtT1JuyPDZydZlWCgEXB9DeuTzDqGQIIRpq0bM-8t3MlC5tXYvEwQ ...

  5. (转)ARCGIS中坐标转换及地理坐标、投影坐标的定义

    原文地址:http://blog.sina.com.cn/s/blog_663d9a1f01017cyz.html 1.动态投影(ArcMap) 所谓动态投影指,ArcMap中的Data 的空间参考或 ...

  6. AE中地图查询方式

    樱木 原文 AE中地图查询方式 地图查询主要有两种查询:空间查询和属性查询 所用到知识点: 1  Cursor(游标)对象 本质上是一个指向数据的指针,本身不包含数据内容,提供一个连接到ROW对象或者 ...

  7. arcgis中的Join(合并连接)和Relate(关联连接)

    arcgis中的Join(合并连接)和Relate(关联连接) 一.区别 1.连接关系不一样. Relate(关联连接)方式连接的两个表之间的记录可以是“一对一”.“多对一”.“一对多”的关系 Joi ...

  8. arcgis中nodata设为0及其小技巧

    一.arcgis中nodata设为0 两个栅格进行叠加,有时会有一部分没有数据,即用identify点击该区域,Value为NoDat a,而不是像其他非空区域一样有值. 此时注意nodata区域要赋 ...

  9. arcgis中栅格矢量计算技巧收藏

    ​ ​编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...

随机推荐

  1. zookeeper【3】服务发现

    服务发现:指对集群中的服务上下线做统一管理,每个工作服务器都可以作为数据的发布方,向集群注册自己的基本信息,而让某些监控服务器作为订阅方,订阅工作服务器的基本信息.当工作服务器的基本信息改变时,如服务 ...

  2. 火狐FoxyProxy配置教程

    原文:http://www.lvtao.net/tool/640.html 虽然autoproxy是火狐上最优秀的代理插件,但是好久不更新,也有一些bug,比如观看youtube视频7分钟左右会无法播 ...

  3. UVALive 5066 Fire Drill BFS+背包

    H - Fire Drill Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Sta ...

  4. IO流-复制多极文件夹(递归实现)

    package com.io.test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  5. 技能树升级——Chrome Headless模式 - 全栈客栈 - SegmentFault

    技能树升级--Chrome Headless模式 - 全栈客栈 - SegmentFault TNPM

  6. PHP-输入变量

    在Web开发过程中,我们经常需要获取系统变量或者用户提交的数据,这些变量数据错综复杂,而且一不小心就容易引起安全隐患,但是如果利用好ThinkPHP提供的变量获取功能,就可以轻松的获取和驾驭变量了. ...

  7. 【Go入门教程4】变量(var),常量(const),内置基础类型(Boolean、数值 byte,int,rune、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

    这小节我们将要介绍如何定义变量.常量.Go 内置类型以及 Go 程序设计中的一些技巧. 定义变量 Go 语言里面定义变量有多种方式. 使用 var 关键字是 Go 最基本的定义变量方式,与 C 语言不 ...

  8. [MySql]默认密码的查找与修改

    摘要 在安装成功后,怎么找到mysql的默认密码,折腾很长时间,最后发现在安装的过程中,产生了一个默认的随机密码. 密码 在mysql安装目录生成的data文件下,查找xxx.err的文件如图: 用记 ...

  9. datagrid在MVC中的运用02-结合搜索

    本文接着上一篇,来体验给datagrid加上搜索功能.主要涉及到: ※ 把一个div与datagrid相关起来 ※ datagrid接收查询参数 ※ 查询参数的封装 效果图: 查询参数封装 分页相关的 ...

  10. 25LINQ拾遗及实例

      投影 □ 遍历数组索引,Select获取 int[] indexes = {0, 2}; string[] strs = {"a", "b", " ...