前言
遵从OpenGIS联盟(OGC)的规范,MySQL实施了空间扩展。OGC是一个由250多家公司、代理机构和大学参与的国际联盟,负责开发公开的概念解决方案,这类解决方案对所有用来管理空间数据的应用都是有用的。OGC的网站是http://www.opengis.org/。
MySQL实施了OGC建议的具有Geometry类型的SQL环境的一个子集。该术语指的是用一组集合类型扩展的环境。具有几何值的SQL列是作为拥有集合类型的列实施的。该规范描述了SQL几何类型集合,以及作用在这些类型上用于创建和分析几何值的函数。
OpenGis几何模型https://blog.csdn.net/q383965374/article/details/17142621
Geometry类
Geometry类是层次结构的根类,Geometry是一个抽象类,Geometry的可实例化子类限制为可在2维坐标空间中存在的0、1、2维几何对象。所有的可实例化几何类是这样定义的,从而使得几何类的实例从拓扑意义上讲是闭合的(也就是说,所有定义的几何类包含其边界)。
基本Geometry类具有关于Point、Curve、Surface和GeometryCollection的子类
0维:Point
1维:Curve ,具有子类LineString,以及次级子类Line和LinearRing
2维:Surface , 具有子类Polygon
GeometryCollection是特殊的0维、1维和2维类集合,名为MultiPoint、MultiLineString和MultiPolygon,分别用于为对应的Points、LineStrings和Polygons集合进行几何建模。
- MultiCurve和MultiSurface是作为抽象超类引入的,它们归纳了用于处理Curves和Surfaces的集合接口。
- Geometry、Curve、Surface、MultiCurve和MultiSurface定义为非实例化类。它们为其子类定义了公用方法集合,而且是为扩展而包含在内的。
- Point、LineString、Polygon、GeometryCollection、MultiPoint、MultiLineString和MultiPolygon定义为可实例化类。
- Point
字段类型: point
样例: Point(1 1)
- MultiPoint
字段类型: multipoint
样例: MULTIPOINT (1 1,2 2,3 3)
- LineString
字段类型: linestring
样例: LINESTRING(1 1,2 2,3 3)
- MultiLineString
字段类型: multilinestring
样例: MULTILINESTRING ((1 1,2 2,3 3),(2 2,2 3,2 4))
- Polygon
字段类型: polygon
样例:
单面 POLYGON((1 1,1 2,2 2,2 1,1 1))
- MultiPolygon
字段类型: multipolygon
样例: MULTIPOLYGON(((1 1,1 2,2 2,2 1,1 1)),((2 2,2 3,3 2,2 2)))
里面是多个polygon