ArcGis Chapter02

更新时间:2023-10-02 11:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章 距离和时间的测量

1

本章介绍空间分析中经常遇到的一个问题:测量距离和时间。空间分析归根结底是考察自然和人类活动在空间分布上的变化,换言之,即考察这些活动相对于参照位置随距离的变化。很多时候,一旦通过GIS测定了距离或时间,我们就可以在GIS环境之外开展进一步的研究。GIS技术的不断进步和广泛应用使得相关研究工作变得越来越容易。

距离和时间的估算贯穿全书。例如,在第三章的空间平滑和空间插值中使用距离测量来确定纳入计算的对象及其对计算影响的程度。在第四章服务区分析中,商店与消费者之间的距离(或时间)确定了距离消费者最近的商店以及居民到商店购物的频率。第五章可达性测量中,距离或时间是构建移动搜寻法或引力法的基础。第六章考察的就是人口密度或土地利用强度从城市或区域中心向外随距离衰减的态势。在本书其他各章中也都会用到距离或时间的测量。

本章的结构如下。第2.1节概略介绍各种距离度量。第2.2节介绍如何计算网络的最短距离(时间)及其如何用ArcGIS来实现。第2.3节为方法示例,计算了中国东北地区各县与几大中心城市间的欧式距离和路网距离(Find/Replace all)。第2.4节是本章的简要小结。 2.1距离的测量

日常用到的距离包括欧式距离(直线距离)、曼哈顿距离和网络距离。欧式距离是两点之间的直线距离。除非特别说明,本章提到的距离都是欧式距离。

在有GIS之前,我们全靠用数学公式来计算距离,计算的准确性有限, 也受收集到的数据精度和所用和计算公式的复杂性影想。如果研究区的地理范围较小(如一个城市或一个县域单元),直角坐标系下两个结点(x1, y1) 、 (x2, y2)之间的欧式距离可以近似地表作

d12?[(x221/21?x2)?(y1?y2)] (2.1)

如果研究区范围较大(如一个州或一个国家),则需要计算大地距离,要考虑到地球的曲面。两点之间的大地距离是假设地球为球形时两点之间的最大圆弧的长度。已知两点的地理经

19

20

纬度坐标以弧度计为(a, b)、(c, d),他们之间的大地距离为

2

d?r*acos[sinb*sind?cosb*cosd*cos(c?a) (2.2) 12这里,r为地球半径(约为6,367.4 km)。

正如其名,曼哈顿距离是度量那些路网类似纽约曼哈顿区(正北正南直东直西)距离。曼哈顿距离是x和y方向距离之和。欧氏距离是直角三角形中的弦, 曼哈顿距离为勾,股之和。例如,直角坐标系下,两点(x1, y1)、 (x2, y2)之间的曼哈顿距离记为

d?|x?x|?|y?y| 121212 (2.3)

与式(2.1)一样,式(2.3)定义的曼哈顿距离只在一个较小地区内(例如一个城市)才有意义。

网络距离是基于实际路网(如公路网,铁路网)的最短路径(或最短时间或最小成本)距离,将在第2.2节中详细讨论。如果是栅格形路网,可以用曼哈顿距离近似地代替网络距离。

在ArcGIS中,可以通过简单地点击

(“measure”)工具来得到两点之间的欧式距离(或若

干点之间的累计距离)。许多ArcGIS空间分析会顺带给出一些距离值。例如,第1.3节介绍的距离连接(空间连接法)给出了两个空间数据集合中不同物体之间的最短距离。在空间连接中,线或多边形之间的距离是最近点之间的距离。在ArcToolbox > Analysis Tools > Proximity中,Near工具用来计算图层中任一点与另一图层中跟它最近的线或点的距离。某些操作需要用到同一图层或不同图层中任意两点之间的距离即距离矩阵。ArcToolbox里的点距离(Point Distance)工具可以实现这个功能,调用办法为依次点击ArcToolbox > Analysis Tools > Proximity > Point Distance。在输出文件中,如果DISTANCE值为0,则可能实际距离确实为0(例如,某点跟它自身的距离),也可能是超出了搜索半径之外。

当前ArcGIS版本中没有内嵌不太常用的曼哈顿距离计算工具。计算曼哈顿距离时,需要从ArcToolbox生成各点的直角坐标。对于一个shape文件,可以调用Data Management Tools > Features > Add XY Coordinates来实现。对于一个coverage文件,可以调用Coverage Tools >

3

Data Management > Tables > Add XY Coordinates来完成。在ArcGIS中计算网络距离则更为复杂,我们将用以下两节介绍。 2.2测算网络距离和网络时间

网络由一组结点及连接结点的线段(边或连接线)组成。如果线段方向是确定的(如单向的街道),我们得到一个定向网络。一个没有确定方向的网络可以看作定向网络的一种特例,即每条线段有两个可能的方向。最短路径问题就是寻找从某个起点到某个终点之间的最短路径,即在给定线段阻滞(如旅行速度)的情况下距离最短或时间(费用)最省。最短路径问题有多种解决办法,如本节将要讨论的标号设定算法及附录2中介绍的赋值图像法(或L-矩阵法)。

2.2.1最短路径问题的标号设定算法

广为使用的标号设定算法最早由迪卡斯缺(Dijkstra,1959)提出。该方法是这样的,为每个结点设置一个“标签”,代表到某个结点的最短距离。为简便起见,起始结点被名为结点1。本法包括如下四步:

1. 赋予起始结点(结点1)的固定标签y1=0,其他结点赋予一个临时标签yj=M(一个很大

的数)。令i=1。

2. 以结点i为起点,重新计算临时标签yj=min(yj,yi+dij),从而得到结点j的临时标签,

并且dij

3. 寻找所有临时标签中的最小值,例如yi。于是,结点i得到一个固定的标签值yi*。 4. 重复上述2~3步直到所有结点都得到一个固定的标签值。

我们用下面的例子来演示这种方法。图2.1a为由结点及连接线组成的网络,连接线上的数字为阻滞。

第(1)步,设置结点1的固定标签值为y1*=0;临时标签 y2 = y3 = y4 = y5 = M。令i=1。固定标签以“*”标记。见图2.1b。

第(2)步,结点1与结点2、3相连,于是重新计算得到2、3的临时标签。y2 = min (y2,

21

4

y1+d12) = min (M, 0+25) = 25,类似地,y3 = min (y3, y1+d13) = min (M, 0+55) = 55。

第(3)步,最小的临时标签值是min (25, 55, M, M) = 25 = y2。于是给结点2一个固定标签,令i=2。见图2.1c。

回到第(2)步,重新计算结点3、4、5的临时标签值。结点2与结点3、4、5相连。y3 = min (y3, y2+d23) = min (55, 25+40) = 55, y4 = min (y4, y2+d24) = min (M, 25+45) = 70, y5 = min (y5, y2+d25) = min (M, 25+50) = 75。

再是第(3)步,最小临时标签值为min (55, 70, 75) = 55 = y3。给结点3一个固定标签,令i = 3。参见图2.1d。

再回到第(2)步,重新计算结点4、5的临时标签值。结点3与结点5相连,则y5 = min (y5, y3+d35) = min (75, 55+30) = 75。

再是第(3)步,最小临时标签值为min (70, 75) = 70 = y4。给结点4一个固定标签,令i = 4。参见图2.1e。

再回到第(2)步,计算结点5的值。从结点4到结点5,可得y5 = min (y5, y4+d45) = min (75, 70+35) = 75。

结点5是剩下的唯一临时标注点,因此我们给它一个固定标签。于是,所有结点都得到一个固定值,问题得到解决。参见图2.1f。

固定标签值yi是结点1到结点i之间的最短距离。一旦某个结点被赋予一个固定的标签值,则该结点被扫描一次。当标签改变时,最短距离随之改变,并以“扫描结点”的形式保存下来(Wu and Coppins, 1981: 319)。上面的例子可以总结为表2.1。

2.2.2用ArcGIS测算网络距离和时间

ArcGIS中处理的网络包括交通网络和市政管道网络,我们这里只讨论交通网络。许多GIS教科书(如Chang(2004),第十六章;Price(2004)第十四章)讨论了如何用ArcGIS获取两点之间的距离(或某点与多个点之间的距离)。在许多空间分析中,我们需要一系列起点和终点两两之间的距离矩阵。为此,需要用ArcInfo工作站,即用ArcPlot模块里面的

22

23

5

NODEDISTANCE命令。默认情况下,NODEDISTANCE命令是通过公路网络来计算最短距离。同时它也提供了计算欧式距离或曼哈顿距离的选项。恰当地定义选项IMPEDANCE作为时间或成本,就可以计算最短交通时间或最小交通成本。下面介绍如何用ArcGIS计算网络距离矩阵。

第一步,建立网络。交通网络由线段费时、转弯费时、单行线、天桥、地下通道等网络要素构成(Chang, 2004: 351)。建立这样一个路网的数据采集和处理工作量都很大,往往是非常昂贵甚至是不可行的。例如,从美国人口普查局的TIGER线文件里提取的公路图层并不包含公路结点、转弯参数或限速等信息。在此情况下,我们只好假设用一些自动工具(如ArcGIS里构建拓扑关系的工具)生成的公路结点是相对可靠的,近似反映了真实路网的情况。而对于线段费时,我们可以基于道路等级设定限速标准,并考虑到交通堵塞的因素。有的研究(Luo and Wang, 2003根据美国统计局)在TIGER线文件中公路等的CFCC编码来设定公路限速。另一项研究(Wang, 2003基于土地利用强度(商业和居住密度)及其他一些因素建立回归模型来考虑交通堵塞程度从而预测行车速度。

第二步,用NETCOVER命令建立网络计算的路径系统。

第三步,定义始结点、末结点及阻力参数。可以用CENTERS、STOPS、NODES等来定义始末结点,用IMPEDANCE指定用网络属性表中的哪一项来定义线段长度或费时。

最后,用NODEDISTANCE命令来计算始末结点之间的网络距离。

需要注意的是,NODEDISTANCE命令只计算网络上结点之间的距离。但是,起始点或终点有可能并不在网络上。虽然起始点(或终点)到网络结点之间的距离有可能很小,但仍需计算在内。这是计算网络距离时需要考虑的一个重要步骤,详见下面的案例2。 2.3案例2:测算中国东北地区各县到四大中心城市之间的距离

本例计算中国东北地区各县到中心城市之间的距离。所得结果将在案例4B中用于定义城市腹地(参见第四章,第4.4节)。

我们的研究区选为中国的东北平原是因为该地区是一个相对完整的区域。包括三个省:黑

24

本文来源:https://www.bwwdw.com/article/lr5d.html

Top