§5.8 空间距离量算 距离量算是各种GIS空间分析的定量基础,根据地理实体类型的不同,空间距离量算可分为以下几类: 一、点/点距离计算(一)、平面距离与角度:描述二维空间中两点的距离和矢量夹角。(公式) 设有平面上的两点P1(x1,y1)与P2(x2,y2),则两点之间的平面距离为: |P1P2|= 矢量P2到P1之间的夹角为:
(二)、空间直线距离:描述三维空间中两个点的直线距离。(公式) 设空间两点为P1(x1,y1,z1)与P2(x2,y2,z2),则两点之间的空间直线距离为: |P1P2|= (三)、球面距离:描述地球表面上两点间的球面距离。(公式) 在航空与航海等情况中,作业范围较大,大圆线则是球面上两点之间的最短距离。给定球面两点A(ψ1, λ1)和B(ψ2,λ2),如图5-8-1所示,圆弧长为: 图5-8-1 球面距离 Cos(S)=Sinψ1*Sinψ2+Cosψ1*Cosψ2*Cos(λ2-λ1) S=ArcCos(Sinψ1*Sinψ2+Cosψ1*Cosψ2* Cos(λ2-λ1)) 两点之间的球面距离为: L=R*S*π/1800 二、点/线距离计算(一)、点/线段最短距离:描述点到线段的最短距离。(公式) 如图5-8-2所示,设线段P1P2位于横坐标轴,端点为P1和P2。要计算点p到线段P1P2的距离。 通过两端点P1和P2,与线段P1P2垂直的直线将平面区域划分为A1、A2、A3。则点p到线段l的最短距离的计算方法为: (二)、点/线段垂直距离:描述点到线段所在直线的距离。(公式) 设有A、B两点组成的直线l为ax+by+c=0,则点P(X,Y)到直线l的距离计算式为: distance(P,l)=|aX+bY+c|/ (三)、点/线段平均距离:描述点到线段两个端点距离的平均值。(公式) 点/线段平均距离d(p,l)等于点p与直线段两个端点pa和pb的距离值的平均值。即: d(p,l)=(d(p,pa)+d(p,pb))/2 (四)、点/线段最大距离:描述点到线段两个端点距离中的的最大值。(公式) 点/线段最大距离dmax(p,l)等于点p与直线段两个端点pa和pb的距离中的最大者。即: dmax(p,l)=max(d(p,pa),d(p,pb)) 三、点/面距离计算(一)、点/面最短距离:描述点到面的最短距离(公式) 点p到面An的最短距离肯定在面的边界上,因此点面最短距离为: dmin(p,An)=min{dmin(p,li),i=1,……,n} (二)、点/面最大距离:描述点到面的最大距离(公式) 点/面最大距离为: dmax(p,An)=max{dmax(p,li),i=1,……,n} (三)、点/面平均距离计算:描述点到面的平均距离(公式) 点到面的平均距离计算比较复杂,Atsuyuki Okabe,Harvey H.Miller(1996)将多边形划分为三角形,按照下式计算点到面的平均距离。
其中,|Ti|表示三角形的面积。davg(p,Ti)表示点p到Ti的平均距离。 该方法在时间复杂度上非常大,首先必须将多边形剖分为三角形,按照积分的方法计算点到每个三角形的平均距离,然后才能得出点到面的平均距离。为了高效求取点到平面的平均距离,必须在面目标内寻找一点,转换为点/点距离的计算。传统方法将点/面距离近似表示为点到质心的距离。但对于凹多边形,可在多边形内求取一内点,将点到面的距离近似表示为点到该内点的距离。 四、线/线距离计算(一)、线/线最短、最大距离:描述两条线之间的最短距离和最大距离(公式) 相交线之间的最短距离为零,否则,设有两线段l1和l2,端点分别为(p1s,p1e)与(p2s,p2e)。则线/线之间的最短距离和最大距离为(Atsuyuki Okabe,Harvey H.Miller,1996): dmin(l1,l2)=min{dmin(p1s,l2),dmin(p1e,l2),dmin(p2s,l1),dmin(p2e,l1)} dmax(l1,l2)=max{dmax(p1s,l2),dmax(p1e,l2),dmax(p2s,l1),dmax(p2e,l1)} (二)、线/线平均距离计算描述两条线之间的平均距离(公式) 假设线段l1位于X轴,{(x,0)|a≤x≤b}。l2位于直线Y=kX上,{(X,Y)|c≤X≤d,kc≤Y≤kd}。对于l2上的任意一点P(X,Y),P到l1的平均距离 ,其中 在l2上,每间隔dX取点,则取样点总数n=(d-c)/dX。从而线段l2到l1的平均距离为: davg(l2,l1)=(davg(p1,l1)+ davg(p2,l1)+……+ davg(pn,l1))/n
|
|