7. 矢量数据的空间分析:使用Shapely

由Shapely提供的几何对象的基本类型包括点, 曲线,和曲面。 每一种都与三套平面的点 (可能无限)相联系。 一个要素的内部, 边界, 外部是相互排斥的,并且它们的并集与整个平面重叠。

  • 点的内部有一个点,边界没有点,点的外部包括其它所有点。点的拓扑维数是0。

  • 曲线有沿其长度的无穷多个点组成的内部集 (想象一个点在空间拖动), 包括2个端点的边界集, 和包括其它所有点的外部集. 曲线的拓扑维数是1。

  • 曲面有一个包含无穷个点内部集 (想象一条曲线在空间上拖动以覆盖一个区域), 有一个由一个或多个曲面组成的边界, 和包含所有其它点的外部集。包括那些所有在表面可能存在的洞.。曲面的拓扑维数是2。

点是由点类实现的; 曲线是由直线和环线类实现的; 曲面是由多边形类实现的。 Shapely不执行平滑的 ( 即有连续的切线)曲线。 所有的曲线必须近似线性样条曲线。 所有的圆斑必须近似线性样条范围内的地区。

点的集合由一多样点类来实现, 曲线的集合由一多样线类来实现, 曲面的集合由一多样多边形来实现. 这些集合在计算上作用不是很大, 但对某些种类的功能建模非常有用。例如,一个Y形线 可以很好地由多样线建模为一个整体。

标准的数据模型对几何对象的特定类型 有特定的附加约束, 这将在接下来的章节里讨论。

使用Shapely涉及到一些术语。

  • 坐标, 在已经定义好的精确度模型中可以被精确地描绘的空间中的一点。

  • 精确计算, 在操作过程中支持所有数字的数值计算,通常要用到大量复杂的算法。

  • 节点, 相同或不同的几何图形内两条线相交的点。这点不必用坐标表示出来,因为大部分的相交点的输出计算比输入计算需要更加严格的精确度。

  • 节点的计算, 计算出在一个或多个几何体相交之处形成的节点的过程。

  • 非坐标, 不可被描绘成一个坐标的点。

  • 数值稳定性, 算法的稳定性取决于它的输出结果中误差的最大范围。如果算法的误差范围是很小的,那么可以认为它是稳定的。

  • 点, R3中任意一点,一般来说,可以无限地描绘出来。

  • 真交点, 两条线段相交所形成的唯一交点,并且是在这两条线段上的点。

  • 健壮计算, 一种对于所有的输入都必定会输出正确答案的数值计算方法,通常需要有特别处理舍入误差而设的算法。

  • SFS, 开放式地理信息系统协会OGC的简单要素实现规范

  • 分辨率单位, 在已经定义好的精确度模型中的最小的可以表示出来的距离。

  • 顶点, 几何体中的边角点,这些点的坐标都可以确定的话,就可以确定一个几何体的位置。