Geometry
是层次结构的根类。它是一个不可实例化的类,但具有一些属性(如下所列),这些属性是所有从任何 Geometry
子类创建的几何值共有的。特定的子类有其自己的特定属性,将在后面描述。
几何属性
几何值具有以下属性
它的 类型。每个几何都属于层次结构中的一个可实例化类。
它的 SRID 或空间参考标识符。此值标识几何的关联空间参考系统,该系统描述定义几何对象的坐标空间。
在 MySQL 中,SRID 值是与几何值关联的整数。可用的最大 SRID 值为 232−1。如果给出更大的值,则只使用低 32 位。
SRID 0 表示一个无限的平面笛卡尔平面,其轴没有分配单位。要确保 SRID 0 行为,请使用 SRID 0 创建几何值。如果未指定 SRID,则 SRID 0 是新几何值的默认值。
对于多个几何值的计算,所有值都必须具有相同的 SRID,否则会发生错误。
它的 坐标 在其空间参考系统中,表示为双精度(8 字节)数字。所有非空几何至少包含一对 (X,Y) 坐标。空几何不包含任何坐标。
坐标与 SRID 相关。例如,在不同的坐标系中,两个对象的距离可能不同,即使对象具有相同的坐标,因为 平面 坐标系上的距离和 大地 系统(地球表面上的坐标)上的距离是不同的。
它的 内部、边界 和 外部。
每个几何都在空间中占据一定位置。几何的外部是几何未占据的所有空间。内部是几何占据的空间。边界是几何内部和外部之间的界面。
它的 MBR(最小边界矩形)或包络。这是由最小和最大 (X,Y) 坐标形成的边界几何。
((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
该值是 简单 还是 非简单。类型为 (
LineString
、MultiPoint
、MultiLineString
) 的几何值是简单或非简单的。每种类型都确定其自己的简单或非简单的断言。该值是 闭合 还是 未闭合。类型为 (
LineString
、MultiString
) 的几何值是闭合或未闭合的。每种类型都确定其自己的闭合或未闭合的断言。该值是 空 还是 非空 几何为空,如果它没有任何点。空几何的外部、内部和边界未定义(即,它们由
NULL
值表示)。空几何被定义为始终是简单的,并且面积为 0。它的 维数。几何可以具有 -1、0、1 或 2 的维数
-1 用于空几何。
0 用于没有长度和面积的几何。
1 用于长度不为零且面积为零的几何。
2 用于面积不为零的几何。
Point
对象的维数为零。LineString
对象的维数为 1。Polygon
对象的维数为 2。MultiPoint
、MultiLineString
和MultiPolygon
对象的维数与其组成元素的维数相同。