分享

33

 桦芊树图书馆 2011-11-15

§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(ψ22),如图5-8-1所示,圆弧长为:

图5-8-1 球面距离

Cos(S)=Sinψ1*Sinψ2+Cosψ1*Cosψ2*Cos(λ21)

S=ArcCos(Sinψ1*Sinψ2+Cosψ1*Cosψ2* Cos(λ21))

两点之间的球面距离为:

                       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

                    

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多