导图社区 10-空间距离计算与邻近分析
10-空间距离计算与邻近分析,内容有空间距离计算、空间缓冲区分析、Voronoi(Thiessen泰森)多边形分析,一起来看。
编辑于2023-09-06 18:37:01 陕西10-空间距离计算与邻近分析
空间距离计算
栅格欧氏距离计算
栅格欧氏距离
指计算某一个栅格单元的中心点与其他栅格单元中心点之间的平面直线距离
已知一个“源”栅格数据,计算栅格数据范围内所有栅格单元中心到“源”栅格单元中心的欧氏距离。
计算该源栅格数据的欧氏距离就是计算所有的栅格单元中心到最近的源栅格单元中心的欧氏距离,也是直线距离。把计算出的欧氏距离数值赋值给每一个栅格单元,所以,每个栅格单元中的数值是该栅格单元中心到距离最近的源栅格单元中心的欧氏距离。
距离方向栅格数据
该栅格数据中每一个栅格单元记录的是该栅格单元中心点到最近源栅格中心点的方向,该方向用方位角的角度值来表示
0—源栅格
值域[0,360]
欧氏距离空间分配
空间分配
对每一个栅格单元按照计算出的欧氏距离判别其到哪一个“源”栅格最近,则该栅格单元被赋予“源”栅格的属性值
识别栅格单元分配给哪一个“源”,能够确定在距离上地理实体(也就是源栅格单元)的影响范围
栅格欧氏距离算法
两种栅格欧氏距离的算法
二次扫描法
针对简单的没有障碍存在的栅格数据
进行两次扫描(到最近的源栅格单元的栅格行数差和列数差)
效率高,但是河流,湖泊就不行
扩散法
针对栅格数据中具有障碍栅格单元的情况
从源栅格出发,逐步向外进行栅格距离的计算,直到把所有栅格都计算完
算法
首先把所有源栅格的欧氏距离数值、行数差和列数差都设为0,所有其他栅格单元距离值都设为无穷大
然后设置一个优先队列的数据结构、按照栅格单元的欧氏距离从小到大把源栅格单元排进队列。每次从队首取出一个欧氏距离最小的栅格单元,用与上述二次扫描法相同的方法计算其相邻8个栅格单元的欧氏距离,并把得到了新的更小欧氏距离的相邻栅格单元排入优先队列
循环直到队列为空
优势
绕过障碍进行距离计算
在扩散过程中若遇到表示障碍的栅格单元,则把该障碍栅格单元作为新的源栅格单元进行扩散
栅格成本距离计算
成本栅格数据
说明经过每个栅格可能花费的成本
成本距离算法
与欧氏距离的扩散法相似,区别在于计算栅格距离不是通过行数差和列数差来计算,而是通过最小累积成本距离来计算
最小累积成本距离——就是从源栅格单元出发,走到某一个栅格单元所经过的所有栅格单元成本的最小累积数值
横向和纵向方向计算成本使用两个相邻栅格单元成本和的一半
对角线方向的相邻两个栅格单元之间计算成本则还要乘以根号2
回溯路径栅格
当找到从一个栅格单元到其相邻8个栅格单元中的某一个为累积成本最小时,则让那个相邻的栅格单元记录下该栅格单元为其最小累积成本距离路径上的上一个栅格单元
0值留给源栅格数据
成本距离空间分配栅格
成本距离计算也可以生成空间分配栅格数据
成本路径栅格
从源栅格单元到目标点栅格单元之间最小累积成本距离经过的栅格单元都被标记出来,其他的栅格单元都是空值
指某个栅格单元到某个源的最小累积成本路径
最小成本廊道
要从某个栅格单元到2个源求最小累积成本的情况,即寻找经过每个栅格单元连接2个源的最小累积成本,则需要使用另一种叫做最小成本廊道分析的方法
空间网络分析
最短路径的求解算法
给定一个起点和一个目的地,在网络数据基础上寻找连接这两个点的最短路径的算法
Dijkstra算法基本思想
网络拓扑结构
除了表示组成网络的一条条线状要素的空间位置以外,还要表示这些线之间的连接关系
网络拓扑关系
计算机逻辑表达称为拓扑结构
图论
图
一个顶点集合
一个边集合
具有方向性
双向
单向
带有数值——权重/阻抗(交通网)
有权重的图=网络拓扑结构
GIS中的网络数据——一种特殊的空间数据
既有表示地理空间位置的点要素(如城市的坐标)又有这些点要素在网络拓扑里对应的顶点信息
既有表示地理空间位置的线要素(如连接城市的交通线),又有这些线要素在网络拓扑里对应的边信息
网络拓扑信息
每个顶点与哪些边相连
每条边是连接哪两个顶点的信息
Dijkstra算法
算法流程
1⃣️初始创建一个包含所有还没有找到最短路径的顶点集合,即所有网络的顶点都在集合内。每个顶点都赋予一个临时的最短路径长度的初值,其中起点的初值为0,其他所有顶点的初值为无穷大
2⃣️从集合中取出路径长度最小的顶点,设置其为当前顶点,通过网络拓扑信息在集合中查找出所有和当前顶点直接相连的顶点,对这些直接相连的顶点,根据当前顶点和它们连接的边上的距离数据,重新计算经过当前顶点到达这些直接相连的顶点的路径距离,如果比顶点原来距离值要小,则用新的距离值替换集合中顶点原来的距离值;否则不改变集合中顶点原来的距离值。
3⃣️重复2⃣️,知道集合中最短路径数值的最小顶点就是终点,则结束算法,从起点到终点的最短路径即是终点的数值
当集合中的最短路径数值最小的顶点其数值也是无穷大,则表明从该起点没有道路可以连通到终点,算法也可以结束了
最小优先队列
栈结构实现
最优路径
阻抗
道路长度——最优路径就是最短距离路径
通行时间——最优路径就是最省时的路径
最近设施
首先指定一个或数个事件点的位置
其次提出事件点周围按照路径寻找设施的数量和最大距离
运用Dijkstra算法计算出事件点到所有备选设施的最短路径,最后对比各条最短路径,从备选设施中选择符合条件的设施即可。
服务范围
设定某个服务中心或设施的位置,可以得到该服务中心沿着道路的服务范围。
设定
按距离
按时间
取决于道路网络中阻抗数值所表示的意义
空间缓冲区分析
缓冲区
地理空间要素的一种影响范围或服务范围
概念
指根据设定的距离在点要素、线要素或面(多边形)要素的周围建立一定宽度的区域范围。
把空间分成两个区域
一个区域在空间要素周围的一定距离之内——缓冲区
另一个区域在距离之外
缓冲区的各种形式
点要素
该点为圆心,缓冲距离为半径的圆所覆盖的范围
线要素
以线要素为中心,向线的两侧扩展出给定距离所形成的条带状多边形区域
线要素的两端生成把圆形边界,边界连接起来,形成一个封闭的条带状的线要素缓冲区
面要素
以表示面的多边形边界按照设定的距离进行扩展,从而得到的面状多边形区域
简单缓冲区和复杂缓冲区
简单缓冲区
点要素、线要素或者面要素的周围以同样的距离建立缓冲区
复杂缓冲区
对简单缓冲区的生成条件加以拓展或限制而形成的缓冲区
拓展缓冲区的距离条件,就可以对不同的要素生成不同宽度的缓冲区
对生成缓冲区条件的限制可以生成单边缓冲区和内外缓冲区
单边缓冲区
相对于线要素而言,可以分别在线要素的左边、右边和两边做缓冲区。
默认——两边
内外缓冲区
相对于面要素而言,指在面要素的边界之外或边界之内形成一定宽度的缓冲区
独立缓冲区和融合缓冲区
独立缓冲区
缓冲区之间不论重叠与否都会生成独立的缓冲区
融合缓冲区
要在生成独立缓冲区的基础上,把彼此重叠的独立缓冲区融合成一个复杂的缓冲区
欧氏缓冲区和测地线缓冲区
欧氏缓冲区
以直线距离生成,在地图投影后的平面直角坐标系中按照欧氏距离生成缓冲区范围
缓冲区范围不大,可以不考虑地球的曲率对缓冲区距离的影响
测地线缓冲区
生成范围比较大(弹道导弹覆盖),使用地球表面(椭球体表面)的距离即测地线距离,从而生成测地线缓冲区
Voronoi(Thiessen泰森)多边形分析
二维空间中的Voronoi多边形也称为泰森多边形
以点要素为源栅格,从而生成的欧氏距离空间分配
Voronoi图表达了一组点或其他几何对象之间的邻近关系。假设给定了在平面上分布的n个离散点(称为顶点),根据这些顶点将平面划分成n个区域,每个区域都包含一个给定的顶点,且该区域中的任意点到该顶点的距离都小于到其他区域中顶点的距离。也就是说,平面上的点到哪个给定顶点的距离近,就把它归为哪个给定顶点的区域
这些区域都是凸多边形——Voronoi多边形
平面上的点到2个给定顶点的距离相等,则这些点构成voronoi图中多边形的边,到3个或更多给定顶点距离相等的点构成Voronoi图
Voronoi图互为对偶图
Delaunay三角网
将voronoi图中生成各多边形单元的顶点连接后,得到一个布满整个区域且互不重叠的三角网结构
有一个Voronoi图—>唯一Delaunay三角网
每个三角形的外接圆的圆心就是Voronoi图中的节点
应用
气象站的位置分区
学区的划分
选举区的划分