13.4.2.2 Geometry 类
Geometry
是该层次结构的根类。它是一个不可实例化的类,但具有以下列表中描述的一些通用属性,这些属性适用于从任何Geometry
子类创建的所有几何值。各个子类都有其特定的属性,后面将进行描述。
Geometry 属性
一个几何值具有以下属性:
-
它的类型。每个几何值都属于层次结构中的可实例化类之一。
-
它的Spatial Reference Identifier(SRID),或空间参考标识符。这一值标识了几何值关联的空间参考系统,该系统描述了坐标空间中几何对象的定义。
在 MySQL 中,SRID 值是一个与几何值相关的整数。可用的最大 SRID 值是 232−1。如果给定的值大于这个范围,只使用低 32 位。
SRID 0 表示无限平面,坐标轴没有单位分配。为了确保 SRID 0 行为,请使用 SRID 0 创建几何值。SRID 0 是新创建的几何值的默认值,如果不指定 SRID。
对多个几何值进行计算时,所有值都必须具有相同的 SRID 或者出现错误。
-
它的坐标 在其空间参考系统中,表示为双精度(8 字节)数字。所有非空几何值至少包含一个(X,Y)坐标对。空几何值不包含任何坐标。
坐标系与SRID相关。例如,在不同的坐标系统中,即使两个对象具有相同的坐标,距离也可能不同,因为平面坐标系和地理坐标系(地球表面的坐标)是不同的概念。
-
它的内部、边界和外部。
每个几何体都占据某个空间位置。几何体的外部是指不被几何体占据的所有空间。内部是指几何体所占据的空间。边界是几何体内部和外部之间的界面。
-
它的MBR(最小包围矩形)或.envelope。这是一个由最小和最大(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
对象具有0个维度。LineString
对象具有1个维度。Polygon
对象具有2个维度。MultiPoint
、MultiLineString
和MultiPolygon
对象的维度与它们组成元素的维度相同。 -