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
对象的维数与其包含的元素的维数相同。