资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
关于GIS中距离测算的探讨 摘要: 本文对GIS中常用的几种距离测算的基本概念、原理进行分析,结合ArcGIS和相关软件阐述了欧氏距离、曼哈顿距离和网络距离在实际应用中的测算,并探讨了不同尺度和应用环境下距离测算时应该注意的事项。关键词:距离测算;GIS;欧氏距离;曼哈顿距离;网络距离0引言“距离”是人们日常生活中经常涉及的概念,它描述了两个事物或实体之间的远近程度。日常用到的距离包括欧氏距离、曼哈顿距离和网络距离。其中,最常用的是欧氏距离,无论是矢量结构还是栅格结构都很容易实现。在GIS中,距离通常是两个地点之间的计算,但有时人们想知道一个地点到所有其他地点的距离,这时得到的距离是一个距离表面。如果一区域中所有的性质与方向无关,则称为各向同性区域。以旅行时间为例,如果从某一点出发、到另一点的所耗费的时间只与两点之间的欧氏距离成正比,则从一固定点出发、旅行特定时间后所能达到的点必然组成一个等时圆。现实生活中,旅行所耗的时间不只与欧氏距离成正比,还与路况、运输工具性能等有关,从固定点出发、旅行特定时间后所能到达的点则在各个方向上是不同距离的,形成各向异性距离表面,如图1所示。图1 各向同性和各向异性的距离表面考虑到阻力影响计算的距离称为耗费距离。物质在空间中移动总要花费一些代价,如资金、时间等,阻力越大耗费也越大。相应的通过耗费距离得到的距离表面成为阻力表面或耗费表面,其属性值代表一耗费或阻力大小。可以根据阻力表面计算最小耗费距离。对于描述点、线、面坐标的矢量结构,也有一系列的不同于欧氏距离的概念。欧氏距离通常用于计算两点的直线距离: (1)当有障碍或阻力存在时,两点之间的距离就不能用直线距离。计算非标准欧氏距离的一般公式为: (2)当k=2时,就是欧氏距离计算公式。当k=1时,得到的距离称为曼哈顿距离1-2。1欧氏距离1.1欧氏距离的原理及实现方法欧氏距离是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。在ArcGIS中,可以通过简单地点击(“measure”)工具来得到两点之间的欧氏距离(或若干点之间的累计距离)。许多ArcGIS空间分析会顺带给出一些距离值。在空间连接中,线或多边形之间的距离是最近点之间的距离。在ArcToolbox Analysis Tools Proximity中,Near工具用来计算图层中任一点与另一图层中跟它最近的线或点的距离。某些操作需要用到同一图层或不同图层中任意两点之间的距离即距离矩阵。ArcToolbox里的点距离(Point Distance)工具可以实现这个功能,调用办法为依次点击ArcToolbox Analysis Tools Proximity Point Distance。在输出文件中,如果DISTANCE值为0,则可能实际距离确实为0(例如,某点跟它自身的距离),也可能是超出了搜索半径之外。1.2 欧氏距离的计算公式二维的公式: (3)三维的公式: (4)推广到n维空间,的公式: (5)其中i=1,2.n (n为自然数),Xi1表示第一个点的第i维坐标,Xi2表示第二个点的第i维坐标。n维欧氏空间是一个点集,它的每个点可以表示为(X(1),X(2),.X(2),其中X(i)(i=1,2.n)是实数,称为X的第i个坐标,两个点X和Y=(Y(1),Y(2),.Y(2)之间的距离d(x,y)定义为上面的公式。可看作信号的相似程度。距离越近就越相似,就越容易相互干扰,误码率就越高。1.3 欧氏距离的测算及适用欧氏距离的测算方法不止一个,如可以通过网络分析中心NODEDISTANCE命令来实现,在此主要探讨如何不用网络分析来计算。在计算欧氏距离之前,首先要准备数据,并一次完成数据格式的转换,生成相应coverage。如果研究区的地理范围较小(如一个城市或一个县域单元),直角坐标系下两个结点(x1, y1)、(x1, y2)之间的欧氏距离可以近似地表作: (6)1.3.1生成县域重心县域重心的生成主要利用ArcToolbox工具箱中的Data Management Tools工具来实现,从而完成要素到点之间的转换。1.3.2计算欧氏距离在ArcGIS软件中的测算主要是通过具体工具来实现的,具体就是利用ArcToolbox工具箱Analysis Tools工具下的Proximity来实现Point Distance。需要注意的是这里不需要限定收索半径,因为我们需要计算所有的距离。同时所得表中一共有203(县) 4(市)= 812条距离记录。在距离表中加入一列airdist,根据公式airdist=distance/1000计算,就可得到欧氏距离的公里数。2曼哈顿距离2.1曼哈顿距离的概念及原理曼哈顿距离是指两点在南北方向上的距离加上在东西方向上的距离,即 (7)对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离因此曼哈顿距离又称为出租车距离,曼哈顿距离不是距离不变量,当坐标轴变动时,点间的距离就会不同。例如在平面上,坐标(x1, y1)的点P1与坐标(x2, y2)的点P2的曼哈顿距离为: (8)要注意的是,曼哈顿距离依赖坐标系统的转度,而非系统在坐标轴上的平移或映射。其命名原因是从规划为方型建筑区块的城市(如曼哈顿)间,最短的行车路径而来(忽略曼哈顿的单向车道以及只存在于3、14大道的斜向车道)。任何往东三区块、往北六区块的的路径一定最少要走九区块,没有其他捷径。2.2曼哈顿距离的测算及应用曼哈顿距离的测算方法也是不止一种,我们在此还是主要探讨如何不用网络分析来计算。2.2.1县域重心和城市重心XY坐标的添加这里主要利用ArcToolbox工具箱中Data Management Tools和Coverage Tools工具,来实现县域重心和城市重心XY坐标的添加。并将所得结果保存在x-coord和y-coord两列中。2.2.2将坐标连接到县和市的距离表要实现这部需要利用Dist.dbf表,通过Joins and Relates来实现。过程中应当注意的是要选择FID字段和INPUT_FID字段作为连接关键词把两个表连接起来(源数据表CntyNEpt和目标表Dist.dbf)。同样,在连接City4属性表和Dist.dbf表时也应选择FID和NEAR_FID字段作为关键字。2.2.3曼哈顿距离的计算曼哈顿距离的计算非常简单,在前期数据准备到位之后只需利用公式:Mdist = abs(x-coord - point-x)/1000+abs(y-coord - point-y)/1000 (9)来计算其数值就行。过程中应当注意的是所得曼哈顿距离的单为公里,通常要比欧氏距离大。3网络距离3.1网络距离的概念网络距离是基于实际路网(如公路网,铁路网)的最短路径(或最短时间或最小成本)距离。如果是栅格形路网,可以用曼哈顿距离近似地代替网络距离。3.2网络距离和网络时间的测算网络由一组结点及连接结点的线段(边或连接线)组成。如果线段方向是确定的(如单向的街道),我们得到一个定向网络。一个没有确定方向的网络可以看作定向网络的一种特例,即每条线段有两个可能的方向。最短路径问题就是寻找从某个起点到某个终点之间的最短路径,即在给定线段阻滞(如旅行速度)的情况下距离最短或时间(费用)最省。最短路径问题有多种解决办法,如标号设定算法及赋值图像法(或L-矩阵法)。3.2.1最短路径问题的标号设定广为使用的标号设定算法最早由迪卡斯缺(Dijkstra,1959)提出。该方法是这样的,为每个结点设置一个“标签”,代表到某个结点的最短距离。为简便起见,起始结点被命名为结点1。本法包括四个步骤,在此就不再论述。3.2.2用ArcGIS测算网络距离和时间ArcGIS中处理的网络包括交通网络和市政管道网络,在这里我们只讨论交通网络。在许多空间分析中,我们需要一系列起点和终点两两之间的距离矩阵。为此,需要用ArcInfo工作站,即用ArcPlot模块里面的NODEDISTANCE命令。默认情况下,NODEDISTANCE命令是通过公路网络来计算最短距离。同时它也提供了计算欧氏距离或曼哈顿距离的选项。恰当地定义选项IMPEDANCE作为时间或成本,就可以计算最短交通时间或最小交通成本。网络距离矩阵的计算也主要是通过利用ArcGIS软件来实现的。具体就是在建立网络的基础上用NETCOVER命令建立网络计算的路径系统,从而定义始结点、末结点及阻力参数,最后,用NODEDISTANCE命令来计算始末结点之间的网络距离。需要注意的是,NODEDISTANCE命令只计算网络上结点之间的距离。但是,起始点或终点有可能并不在网络上。虽然起始点(或终点)到网络结点之间的距离有可能很小,但仍需计算在内。这是计算网络距离时需要考虑的一个重要步骤。4 网络距离实例应用在ArcGIS的空间分析中,网络距离的应用非常常见,可以说无处不在。在此仅以河南省的108个县级单位为例来阐述网络距离的实例应用。采用的数据有河南省108个县级行政区域图、河南省公路网、河南省道路网及区域边界。具体如下图2所示:图2 河南省公路、铁路网络图欲实现网络距离的测算首先要得到这108个县级行政单位的重心点,而重心点的求得又必须在网络数据集的基础上才能进行。所以首先要利用ArcCatalog模块建立网络数据集,然后将所得数据集拉到ArcMap操作界面下,从而求得这108个县级行政单位的重心点。接下来,用ArcToolbox工具箱中的Network Analyst工具下的OD成本矩阵来测算这108个重心点两两之间的距离,从而就实现了网络距离的测算。其中要注意的就是在设定搜索范围的时候,我们可以根据具体情况来适当扩大搜索半径。由于最终测算的结果是一个108乘以108的矩阵,在此就不在以图示的方式呈现了。5测地距离虽然欧氏距离和曼哈顿距离是GIS距离测算中最常见的两种,但在地理信息系统的具体应用过程中,我们又常常会遇到这样的问题,如求一个状崎岖蜿蜒的地块长度;在某一具体地块内两点间铺设管线,选取最短路径并计算相应的距离;行驶在形状极不规则的湖泊中的小船沿什么样的路径前进才能使起点与终点间的航程最短3-4。通常情况下,我们总是习惯在相应的起点和终点之间用直线段来相连,来求取相应的直线距离,即欧氏距离。但这种常用的方法并不是对所有的情况都是有效的,当两点间的直线段有部分落在所考虑的区域之外时,欧氏距离对所要讨论的问题在实际上是没有意义的,自然这就是欧氏距离在GIS空间分析过程中的局限所在。原因在于在定义区域中两点间距离的过程中,没有考虑到区域连通性,仅考虑了起点与终点间的抽象距离。为了克服欧氏距离的局限性,在实际应用的过程中,我们运用数学形态中的测地距离,将其引用到GIS空间分析的领域里,并得到了一种在矢量型GIS中测地距离的求取方法,显然,无论在理论还是应用方面,它都具有十分重要的意义。5.1测地距离求取的基本思想首先要求得两点间的直线段与多边形各边所有可能的交点并判断出首末交点的位置,然后依据首末交点来对其间的多边形顶点重新排序,并在此基础上逐次剔除所有的凹点,这样就能得到测地弧(标注引用)上所有的转折点,最后通过累加测地弧上相邻转折点间的距离就可得到两点间的测地距离。6方
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号