基于ArcGIS:GIS空间分析复习-理论概念+案例分析3

简介: 基于ArcGIS:GIS空间分析复习-理论概念+案例分析

3.14 水库流域的提取、及在此基础上获取水库给顶水位高程的淹没范围、水库淹没面积、水库库容;利用流水累积量进行地形下挖;分级沟谷或河道的矢量线提取


水库流域的提取及在此基础上获取水库给顶水位高程的淹没范围、水库淹没面积、水库库容。

我们先来计算水库流域的提取,基于水库所在位置DEM数据进行填洼然后通过流向工具计算水流方向矩阵,基于该流水方向矩阵获取流水累积量矩阵(用于倾斜点捕捉作为输入数据),然后获取该水库的出水口位置(通过创建点要素),由于手动创建具有一定的偏差,因此此处再使用捕捉倾斜点工具将我们创建的倾斜点数据进行偏移校正。然后基于填洼后的DEM数据和倾斜点数据使用集水区工具获取水库的流域区域。


接着假定题目给定水位高程为x,那么首先我们需要基于前面得到的流域数据对原始DEM数据进行掩膜,然后对其掩膜后的DEM数据使用栅格计算器或者重分类,将小于x的部分设置为1,大于x的部分设置为nodata或者其他值得到离散型的GRID数据,如此得到掩膜的范围(栅格值为1表示淹没);


再通过其属性表通过计算几何得到每一个面要素的面积从而得到淹没面积。至于库容的话,我们首先需要对DEM数据进行栅格计算,求解每一个像元位置的库容,主要就是DEM * 像元分辨率的²;然后基于刚刚得到的淹没区域对栅格计算后的DEM进行分区统计(SUM),然后得到库容。


利用流水累积量进行地形下挖

这个暂时不明确是什么,百度之后感觉如下操作:


对于得到流水累积量使用栅格计算器对DEM进行地形下挖,例如:


Con("FlowAccumulation" > 1000, "DEM" - 10, "DEM")


当流水累积量大于1000,那么DEM下挖10m,否则不下挖。


分级河谷或河道的矢量线提取

前面略 è 对于得到流水累积量进行重分类(大于阈值赋值为1,小于阈值的赋值为Nodata)得到河网,然后使用河网分级工具对前面的河网进行分级,最后使用栅格河网矢量化工具对其进行矢量化即可。

3.15 流域高程归一化方法

这里应该是打算得到各个流域的相对高程,所以基于分区统计得到各个流域的最大最小高程(max.tif, min.tif),然后使用栅格计算器得到归一化的流域高程,公式如下:

           


04 第四章

4.1 空间叠置分析概念、主要的叠置分析

  1. 叠置分析概念

将有关主题层组成的各个数据层面进行叠置产生一个新的数据层面,其结果综合了原来两个或多个层面要素所具有的属性,并生成新的空间关系和属性

  1. 主要的叠置分析

基于栅格的叠置分析


基于矢量的叠置分析:


多边形叠置分析: Union\Intersect\ Symmetrical Difference\ Identity


相交运算: Intersect:空间上求取公共部分,属性字段取并,属性取值依据原有位置上的值。


空间连接:具体查看ArcGIS Help;空间连接是根据空间关系将一个要素类的属性连接到另一个要素类的属性。目标要素和来自连接要素的被连接属性写入到输出要素类。


说人话就是,如果目标要素与连接要素处在同一位置(此处的同一位置不同于平常,后续说明),那么就将连接要素中的你需要的字段复制粘贴(一般如此)到目标要素中。所以空间连接本质上就是字段的匹配,不过和之前我们在属性表中的字段连接和关联不同,原先的连接和关联是基于主关键字段进行匹配,而此处是基于空间位置关系进行字段的匹配。


例如,目标要素为点要素(假定只有一个),连接要素为面要素(假定为两个不一样的面要素,但在其面范围内都包含了那个点要素),空间位置大致为:


        那么,按照我们之前的假定,我们应该将所有包含点要素的面要素(因为他们都在同一位置)中的字段全部复制到点要素中去,但是如此,就会产生副本也就是说这一个点要素会变成两个点要素,两个点要素处于同一位置但是具有不同的属性(均包含原始点要素的字段,但是包含来自不同面要素的字段),这种字段的连接方法称之为JOIN_ONE_TO_MANEY;如果我们对两个面要素(如果有更多亦是类似处理)的字段进行聚合,例如面要素中某一字段面要素A是10,面要素B是12,那么聚合之后的字段值为22(默认如此),所以给点要素该字段的值即为22,这种字段的连接方法称之为JOIN_ONE_TO_ONE。


前面我所说的处于同一位置其实是有问题,不过是暂时方便理解,实际上应该说是目标要素与连接要素满足某一种位置关系,之前我都是按照包含关系进行说明,但是实际上这些位置关系用户可自行选择(默认是相交),以下是ArcGIS中空间连接工具(Spatial join)的界面:



那么我们来解决PPT上的问题:求取满足在500m范围内至少5个顾客点的银行。


首先,为顾客点要素添加新字段one,该字段内所有要素的值均为1;


接着,使用空间连接字段,目标要素选择银行(因为我们要选取的是银行),连接要素选择顾客点要素(因为我们选取银行的基于条件是顾客点数量),字段映射我们选取one字段(即将连接要素中的哪些字段映射到目标要素中),连接操作选取JOIN_ONE_TO_ONE(如此,满足位置关系的所有顾客点要素的one字段值便会进行累加,这样我们可以清楚银行点满足该位置关系(500m范围)的顾客点数量),匹配项我们需要选取WITHIN_A_DISTANCE(ArcGIS Help:如果连接要素在目标要素的指定距离之内,将匹配处于该距离内的要素。在搜索半径参数中指定距离),搜索半径选取500m(注意单位,为了避免出错,最好将当前操作的所有文件全部转化为投影坐标系而不是地理坐标系)。最后对于得到的输出要素类我们只需要进行按属性选择,将one字段中大于5的银行要素点选出即可。<说明,其实为了不出错,最好在字段映射的合并规则中选取sum求和,当然你也可以使用计数我猜测它可以完成上述工作而且无需添加新字段当然手上没有数据无法验证>


似乎我们没有说明,如何使用第三章的知识进行解决?


这里给出第三章的解决方法:其实和前面的类似,首先,为顾客点要素添加新字段one,one字段所有要素的值均为1;接着,对顾客点要素进行点统计,注意参数的选取,字段需要选取one字段,邻域分析选取圆形(按照题目要求理应如此),邻域半径选取500,单位选取地图(这里则必须将你的文件转化为投影坐标系,不转则此处的地图单位将是度),统计类型需要选取SUM求和。对于得到的栅格进行重分类,将像元值大于5的赋值为1,其余赋值为Nodata,然后将其转化为矢量数据,将其与银行点要素进行叠置分析(相交)或者按位置选择等等都可以将满足要求的银行点选出。


4.2 缓冲区分析的概念、定半径缓冲区与变半径缓冲区的概念、缓冲区分类

  1. 缓冲区分析的概念


缓冲区分析是围绕地理要素一定宽度(缓冲距离)的区域获取,用于分析地理要素与周围要素之间的空间邻近性。缓冲区分析主要基于点、线、面进行。

  1. 定半径缓冲区

很简单,就是在缓冲距离这里;假定对某要素类进行缓冲区分析,那么对于该要素类中的所有要素,他们的缓冲距离都是相等的,这就是定半径!

  1. 变半径缓冲区

也很简单,仍然是在缓冲区距离这里;假定对某要素类进行缓冲区分析,那么对于该要素类的所有要素,他们的缓冲距离可能各不相同,可能你会问,缓冲距离不一样怎么进行缓冲区创建?很简单,使用要素的某一字段,这一字段表示缓冲距离,对于不同的要素,他们的字段值可能不一致,这就导致不同的要素的缓冲距离不一样了,这就是变半径!


缓冲区分类


按半径:定半径缓冲区、变半径缓冲区、环状缓冲区

按对象影响力特点:均质缓冲区、非均质缓冲区

按分析方法:栅格缓冲区和矢量缓冲区

4.3 叠置分析的概念;各种叠置分析,如线与多边形的叠置分析应用;线与线叠置分析应用(如Stream Order与二级河流的流域);多边形与多边形叠置分析的应用(如利用点数据求取面要素中点某字段的最大值赋值给多边形字段


  1. 叠置分析的概念

将有关主题层组成的各个数据层面进行叠置产生一个新的数据层面,其结果综合了原来两个或多个层面要素所具有的属性,并生成新的空间关系和属性。

  1. 公园选址

说一说题目吧:


选址条件:


1)相对安静(离主要公路0.2公里之外)且交通方便(离主要公路0.8公里之内)


2)公园最好依附在大小适中的天然河流上(大小适中指二级河流)。


3)公园选址要避免沼泽地;


(假定有交通要道数据、土地利用数据、河流数据)这个我的基本思路就是,求取各个部分区域,最后求交。首先,从交通要道数据、土地利用数据、河流数据中分别按属性提取出主要公路、非沼泽地(Not(landovae = ‘沼泽地’),若土地利用数据为矢量数需要先转化为栅格数据再进行按属性选择)、二级河流数据;接着,对主要公路分别进行200m、800m的缓冲区分析(注意坐标系需要为投影坐标系,地理坐标系的单位是度/°),然后对生成的两个缓冲区进行叠置分析(裁剪/擦除…均可),得到0.2km~0.8km的缓冲区;接着,对二级河流、非沼泽地、0.2km~0.8km主要公路缓冲区三者进行叠置分析(相交),最终得到满足要求的公园选址位置。

二级流域的获取

问题是这个样子:依据区域DEM数据、河流数据,提取二级河流流域。


思路:既然明确说明了需要二级河流流域,那么获取流域我们只能使用集水区工具而不能使用盆域分析工具进行流域的自动获取。要使用集水区工具进行二级流域的获取,需要输入水流方向数据和倾斜点数据,对于水流方向数据比较简单,但是对于倾斜点数据这里需要注意我们需要的时二级流域的倾斜点或者说是出口,那么二级河流的出口在哪里?是不是就是在二级河流汇流进一级河流时,二级河流就不复存在了,所以二级河流与一级河流的交点即是二级河流的倾斜点或者说出口了。


步骤:首先,对DEM数据进行填洼处理,然后使用流向工具对其进行水流方向数据的获取,在此基础上使用流量工具基于填洼DEM数据、水流方向数据进行流水累积量数据的获取(用于倾斜点的获取),接着我们对河流数据按属性提取分别得到一级河流和二级河流数据并进行相交处理(注意输出要素类型必须指定为点,否则输出线),得到粗的倾斜点数据,使用捕捉倾斜点工具基于流水累积量数据和粗倾斜点数据进行倾斜点的精确捕捉。然后使用集水区工具基于流向数据和倾斜点数据进行二级河流流域的提取。


利用点数据求取面要素中点某字段的最大值赋值给多边形字段

我第一时间想到的就是,why not spatial join。很显然这是进行字段的映射,而且从题中面要素中的点 è 要求点要素在面要素 è 包含的位置关系 + 字段连接。


步骤:假定某字段为max字段。使用空间连接工具,目标要素为面要素(因为题目要求将字段赋值给多边形字段显然想要的是面要素),连接要素为点数据。字段映射为max字段,字段中合并规则选取MAX。匹配规则为CONTAIN(ArcGIS Help:如果目标要素中包含连接要素中的要素,将匹配连接要素中被包含的要素。目标要素必须是面或折线。对于此选项,目标要素不能为点,且仅当目标要素为面时连接要素才能为面)。如此可以实现题目要求。


4.4 Spatial Join的原理即应用,如求取行车时间在20分钟内居民点人口总数大于2万人的银行网点;


这个题可能比较难,或许也很简单。假如只给定了银行网点和居民点数据,那么此题将应该简单至极。由于我们无法进行20min的直接衡量,所以按照实际的行车速度将20min转化为距银行网点距离,按照此距离进行空间连接,目标要素选择银行网点,连接要素选择居民点,字段映射传入居民点的人口总数字段即可,合并规则为SUM求和,连接操作为:JOIN_ONE_TO_MANY。匹配规则当然应该是WITHIN_A_DISTANCE(如果连接要素在目标要素的指定距离之内,将匹配处于该距离内的要素。在搜索半径参数中指定距离。),搜索半径为前面换算的距银行网点距离。如此对输出的新银行网点数据按属性选择,将人口总数大于2万人的银行选出;


如果还给定了交通道路数据,那么此题还涉及了交通网络知识。首先是基于银行网点和交通道路数据进行网络数据集的构建,成本或者阻抗选取行车时间(行车时间通过交通道路长度字段加以计算, time = L / speed),然通过建立服务区(10min阻断),将得到的服务区导出为shp文件(含有银行网点字段信息的面要素类),在此基础上进行空间连接,参数选取类似,仅匹配规则应该换为CONTAINS(ArcGIS Help:如果目标要素中包含连接要素中的要素,将匹配连接要素中被包含的要素。目标要素必须是面或折线。对于此选项,目标要素不能为点,且仅当目标要素为面时连接要素才能为面。)。然后为了我们能够原滋原味的获取满足要求的银行网点而不是对应的面要素,我们可以将银行网点与对应的面要素进行字段联合或者连接(都可以操作略有不同),然后进行按属性选取得到满足要求的银行网点。


4.5 缓冲区和叠置分析案例的主要思想,主要侧重于应用,并注意与其他章节的结合,比如地形分析结合(地势北高南低的处理)、与空间量算的结合(可选面积为最大怎样实现?)


此处模棱两可,仅简单说明,思想就不说了,自行体会。地势北高南低处理,不清楚,可能是对DEM进行坡向和坡度处理?然后选取出坡度满足一定阈值,坡向(坡向:斜坡的面对的方向。给定点位的坡向定义为斜面法线在平面上的投影和正北方向之间夹角)应该为180左右的北高南低地势区域?;


对于可选面积最大,可能就是属性表计算几何获取面积,然后按属性选择得到最大面积的要素。


以下内容暂时无


4.6 网络分析的概念、网络分析的主要功能、连通分量求解的概念;最佳路径分析的概念、TSP和VRP的概念、中国邮递员问题概念

  1. 网络分析的概念
  2. 网络分析的主要功能
  3. 连通分量求解的概念
  4. 最佳路径分析的概念
  5. TSP、VRP的概念
  6. 中国邮递员的问题概念


4.7 两种基本的网络:传输网络和效用网络的概念和主要研究内容

4.8 服务区分析的原理与应用(高级应用的理解:就医方便程度评价;服务区交叠区域的提取、消防站盲区及其中心位置建立新消防站)

ArcGIS传输网络

创建步骤,网络属性的创建


05 第五章

5.1 3D Feature Data的概念和创建方法

5.2 3D模型的概念;表面数据的概念;TIN概念

5.3 TIN模型与Arc/Info的TIN

5.4 TIN的显示风格化和TIN的创建方法

5.5 Terrain概念

5.6 三维透视观察的一些关键技术(可能与其他章节结合,如水库大坝和水库水面的三维展示);可视区分析的概念、通视性分析的概念

5.7 三维分析模块的表面分析、数字化小区关键技术

目录
相关文章
|
算法 定位技术
基于ArcGIS:GIS空间分析复习-理论概念+案例分析2
基于ArcGIS:GIS空间分析复习-理论概念+案例分析
431 0
|
7月前
ArcGIS中ArcMap相交分析Intersect解决要素落入另一多部分矢量面要素的问题
ArcGIS中ArcMap相交分析Intersect解决要素落入另一多部分矢量面要素的问题
基于平均出行时间的ArcGIS交通可达性分析
基于平均出行时间的ArcGIS交通可达性分析
1657 0
|
定位技术 数据格式
GIS开发:arcgis server发布CGCS2000切片
GIS开发:arcgis server发布CGCS2000切片
242 0
|
人工智能 数据可视化 API
ArcGIS API for Python
ArcGIS API for Python
73 0
|
JavaScript 前端开发 应用服务中间件
Arcgis api for javascript 详细部署
Arcgis api for javascript 详细部署
|
人工智能 数据可视化 数据管理
ArcGIS API for Python
ArcGIS API for Python
119 0
|
数据可视化 数据管理 API
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
arcgis api 3.X 修改自带弹窗样式 2022年6月12日
自带的弹窗介绍: arcgis api 3.X 修改自带弹窗样式插图 /*修改原有弹窗的css样式*/ /* 弹窗整体 */ .esriPopup { font-size: 16px; box-shadow: 10px 10px 5px #888888; } .esriPopup .sizer { position: relative; width: 400px; /* 弹窗宽度 */ z-index: 1; } /* 标题部分 */ .esriPopup .titlePane { background-color: rgba(7
|
JavaScript 前端开发 定位技术
ArcGIS API For JavaScript官方文档(六)之设置范围
ArcGIS API For JavaScript官方文档(六)之设置范围