MySQL 5.7参考手册/…/ 空间数据类型
MySQL具有对应于OpenGIS类的空间数据类型。第11.5.2节“OpenGIS几何模型”中介绍了这些类型的基础 。
11.5.2 OpenGIS几何模型
11.5.2.1几何类层次结构 11.5.2.2几何类 11.5.2.3点类 11.5.2.4曲线类 11.5.2.5 LineString类 11.5.2.6表面类 11.5.2.7多边形类 11.5.2.8 GeometryCollection类 11.5.2.9多点类 11.5.2.10 MultiCurve类 11.5.2.11 MultiLineString类 11.5.2.12 MultiSurface类 11.5.2.13 MultiPolygon类
一些空间数据类型保存单个几何值:
GEOMETRY
,几何
,可以存储任何类型的几何值。POINT
,点
,LINESTRING
,线 字符串
,POLYGON
,多边形
,
GEOMETRY
可以存储任何类型的几何值。
其他单值类型(POINT
, LINESTRING
和POLYGON
)将其值限制为特定的几何类型。
其他空间数据类型保存值的集合:MULTIPOINT
,MULTILINESTRING
,MULTIPOLYGON
,GEOMETRYCOLLECTION
。
GEOMETRYCOLLECTION
可以存储任何类型的对象的集合。
其他集合类型(MULTIPOINT
,MULTILINESTRING
,MULTIPOLYGON
,和GEOMETRYCOLLECTION
)限制集合成员向那些具有特定的几何形状的类型。
要创建一个名为geom
具有名称g
可以存储任何几何类型值的列的表,请使用以下语句:
CREATE TABLE geom (g GEOMETRY);
SPATIAL
索引可以在NOT NULL
空间列创建,所以如果你打算索引列,声明它NOT NULL
:
CREATE TABLE geom (g GEOMETRY NOT NULL);
| 基本类 Geometry
- Point表示0维对象。
- Curve表示1维对象,具有子类LineString,以及次级子类Line和LinearRing。
- Surface是为2维对象设计的,具有子类Polygon。
|
| —- |
几何类定义如下的层次结构:
Surface (noninstantiable)
Polygon
(实例化)
GeometryCollection (实例化)
MultiPoint
(实例化)MultiCurve
(noninstantiable)MultiLineString
(实例化)
MultiSurface
(noninstantiable)MultiPolygon
(实例化)