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可以存储任何类型的几何值。
其他单值类型(POINTLINESTRINGPOLYGON)将其值限制为特定的几何类型。
其他空间数据类型保存值的集合:MULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRYCOLLECTION

GEOMETRYCOLLECTION可以存储任何类型的对象的集合。
其他集合类型(MULTIPOINTMULTILINESTRINGMULTIPOLYGON,和GEOMETRYCOLLECTION)限制集合成员向那些具有特定的几何形状的类型。

要创建一个名为geom具有名称g可以存储任何几何类型值的列的表,请使用以下语句:

  1. CREATE TABLE geom (g GEOMETRY);

SPATIAL索引可以在NOT NULL空间列创建,所以如果你打算索引列,声明它NOT NULL

  1. CREATE TABLE geom (g GEOMETRY NOT NULL);

| 基本类 Geometry
- Point表示0维对象。
- Curve表示1维对象,具有子类LineString,以及次级子类Line和LinearRing。
- Surface是为2维对象设计的,具有子类Polygon。
| | —- |

几何类定义如下的层次结构:

  • Geometry (noninstantiable)

  • Point (实例化)

  • Curve (noninstantiable)

  • LineString (实例化)

  • Line

  • LinearRing

  • Surface (noninstantiable)

  • Polygon (实例化)

  • GeometryCollection (实例化)

  • MultiPoint (实例化)

  • MultiCurve (noninstantiable)

  • MultiLineString (实例化)

  • MultiSurface (noninstantiable)

  • MultiPolygon (实例化)