得鹿梦鱼 得鹿梦鱼

空间分析

主要内容

从宏观上划分,空间分析可以归纳为以下三个方面:

  1. 拓扑分析 包括空间图形数据的拓扑运算,即旋转变换、比例尺变换、三维及三维显示、几何元素计算等。
  2. 属性分析 包括数据检索、逻辑与数学运算、重分类、统计分析等。
  3. 拓扑与属性的联合分析 包括与拓扑相关的数据检索、叠置处理、区域分析、邻域分析、 网络分析 、形状探测、 瘦化处理、空间内插等。

步骤

  1. 建立分析的目的和标准
  2. 准备空间操作的数据
  3. 进行空间操作
  4. 准备表格分析的数据
  5. 进行表格分析
  6. 对结果进行评价
  7. 如果必要,改进分析
  8. 输出最终的结果和报告

空间度量算法

长度量算

  1. 2点之间的距离

d2=x2x12+y2y12d_2 = \sqrt{x_2 - x_1^2 + y_2 - y_1^2}
d3=x2x12+y2y12+z2z12d_3 = \sqrt{x_2 - x_1^2 + y_2 - y_1^2 + z_2 - z_1^2}

  1. 点到直线的距离

2.1 两点定义的直线

在二维和三维中,当L是通过两个点P0,P1P_0,P_1给出的,我们可以使用矢量积直接计算出点P到L的距离,两个矢量的矢量积的模等于两个矢量构成的平行四边形的面积,即:v×w=vwsinθ\vec v \times \vec w = \vec v\vec w\sin \theta,其中θ\theta是两个矢量之间的夹角。

点到显式二维方程定义的直线的距离

dP,L=v×wvl=vl×wdP,L = \frac{\vec v \times \vec w}{\vec v_l} = \vec v_l \times \vec w

2.2 二维隐式方程定义的直线

在二维中,有许多情况下,直线L是很容易通过一个隐式方程来定义fx,y=ax+by+c=0fx,y = ax + by + c = 0。 对于任意二维点P=x,yP = x,y、距离dP,Ld P,L可以直接用这个方程计算出

矢量nL=abn_L= a,b是直线L的法线矢量,利用nLn_L我们可以计算任意点P到L的距离。 首先在L上任意选一点P0P_0,然后将矢量P0PP_0P投影到nLn_L

点到二维隐式方程定义的直线的距离

dP,L=ax+by+ca2+b2dP,L = \frac{ax + by + c}{\sqrt{a^2 + b^2}}

2.3 参数方程定义的直线

在n维空间中,已知直线L的参数方程为Pt=P0+tP1P0Pt = P0 + t P1-P0,P为任意n维空间中的任意一点。 为了计算点P到直线L的距离dP,LdP,L,从点P作直线L的垂线,交于点PbP_b。 则向量P0PbP_0P_b是矢量P0PP_0P在线段P0P1P_0P_1上的投影,如下图

点到参数方程定义的直线的距离

b=dP0,PbdP0,P1=wcosθvl=wvlvl2=wvlvlv\vec b = \frac{dP_0, P_b}{dP_0, P_1} = \frac{\vec w \cos \theta}{\vec v_l} = \frac{\vec w - \vec v_l}{{\vec v_l}^2} = \frac{\vec w \cdot \vec v_l}{\vec v_l \cdot \vec v_}

dP,L=PPb=wbvl=wwvlvldP,L = P - P_b = \vec w - b \vec v_l = \vec w - \vec w \cdot \vec v_l \vec v_l

角度度量

求直线a0x+b0y+c=0a_0x + b_0y + c = 0与直线a1x+b1y+c=0a_1x + b_1y + c = 0的夹角公式
tanθ=a0b1a1b0a0a1+b0b1\tan \theta = \frac{a_0b_1 - a_1b_0}{a_0a_1 + b_0b_1}
当分子为零时则两直线平行
当分母为零时则两直线垂直

面积量算

矢量数据多边形的面积计算基于求三角形面积之和的原理,即多边形面积等于其内部所有三角形的面积和。

分布中心

  1. 算数平均中心
  2. 加权平均中心:
  3. 中位中心:中位中心是指到各个离散点距离和为最小的一个点
  4. 极值中心:极值中心是指到各个离散点中最大距离为最小的一个点