-
Mysql空间数据&空间索引(spatial)
转自:http://www.cnblogs.com/linkerCRed/p/5443200.html
Extensions for Spatial Data
Open Geospatial Consortium (OGC) 是一个由超过两百五十个公司,机构,大学组成的致力于发展管理空间数据的解决方案的组织。-
用于表示空间值得数据类型 Data types for representing spatial values
-
用于操作空间值得方法Functions for manipulating spatial values
-
提高访问空间列速度的空间索引Spatial indexing for improved access times to spatial columns
MyISAM
, InnoDB
, NDB
, and ARCHIVE中可用。至于空间索引, MyISAM
and InnoDB支持空间和非空间索引,其他引擎支持非空间索引
-
一个实体,例如一座山,一个池塘,一个城市 An entity. For example, a mountain, a pond, a city.
-
一个空间,例如城区,热带地区A space. For example, town district, the tropics.
-
一个确定的位置。例如一个特定两条街交叉的十字路口A definable location. For example, a crossroad, as a particular place where two streets intersect.
MySQL GIS Conformance(一致性) and Compatibility(兼容性)
Mysql 没有实现以下GIS特性:LineString
MultiLineString
的方法length() 应该使用ST_Length()
Additional Resources
Spatial Data Types
-
GEOMETRY 几何体
-
POINT 点
-
LINESTRING 线
-
POLYGON 多边形
-
MULTIPOINT 多点
-
MULTILINESTRING 多线
-
MULTIPOLYGON 多个多边形
-
GEOMETRYCOLLECTION 几何集合
GEOMETRYCOLLECTION可以存放任意类型的集合。其他类型需要特定几何类型
12.5.2 The OpenGIS Geometry Model
OGC's SQL with Geometry Types推荐的几何类型基于OpenGIS Geometry Model.在这个模型中每个几何包含以下通用的属性:
-
它由一个空间关系系统关联起来,这个系统描述了对象定义的坐标空间。
-
他属于一些几何类
12.5.2.1 The Geometry Class Hierarchy几何类层级
-
Geometry
(noninstantiable)几何 -
Point
(instantiable)点 -
Curve
(noninstantiable)曲线 -
LineString
(instantiable)线串 -
Line线
-
LinearRing线圈
-
-
-
Surface
(noninstantiable) 面 -
Polygon
(instantiable)多边形
-
-
GeometryCollection
(instantiable)几何集合 -
MultiPoint
(instantiable)多点 -
MultiCurve
(noninstantiable)多曲线 -
MultiLineString
(instantiable)多线串
-
-
MultiSurface
(noninstantiable)多面 -
MultiPolygon
(instantiable) 多个多边形
-
-
-
Geometry是基本类,他是一个虚拟类。Geometry
可实例化子类限制在0、1/2维几何对象,这个对象存在于一个二维坐标空间。所有可实例化几何类被定义可以判断几何类型实例是否是 topologically closed
(拓扑闭,也就是说所有的几何类型包含他们的边界)Point
, Curve
, Surface
, and GeometryCollection
-
点表示0维对象 Point
represents zero-dimensional objects. -
Curve曲线代表一维对象,他有LineString线串子类(子-子类=》
Line
线,LinearRing线圈) -
面Surface表示一个二 维对象,他有Polygon多边形这个子类
-
GeometryCollection几何集合有专门的0/1/2维集合类叫做
MultiPoint
,MultiLineString
, andMultiPolygon
来建立 Points
,LineStrings
, andPolygons集合
相应的几何模型, .MultiCurve
and MultiSurface
是做为处理 Curves
and Surfaces几何的接口引进的虚拟父类。
12.5.2.2 Geometry Class
Geometry是层级中的root class,他是不可实例化类,但是包含一些属性,这些属性是所有Geometry子类共有的。
Geometry Properties
-
Its type. 每一个geometry属于层级中的某一个可实例化类。 -
Its
SRID, or Spatial Reference Identifier.空间关系标示,这个值标识了geometr关联的空间关系系统,系统描述了几何对象在其中定义的坐标空间。 In MySQL, the SRID value是一个整数关联到几何value.所有的计算通过欧几里得(平面)几何所得.
SRID最大值是232−1. 如果提供了一个更大值只会取其低32位。 -
Its
coordinates 在他的空间关系系统中的坐标。由双精度(8-byte)数据表示. 所有的非空几何体包含至少一对(X,Y)坐标.空几何体不包含任何坐标. 坐标Coordinates和SRID相关 .例如,在不同的坐标系统,两个对象即使这两个对象有相同的坐标但是距离可能会不同,,因为在平面
planar 坐标系统的距离和在地理测量geodetic 系统(地球表面上的系统坐标)的距离是不同的东西. -
Its
interior内部, boundary边界, and exterior外部. 每一个几何占据了一些空间中的位置。 几何体的外部是指所有没有被几何体占用的空间.内部是指几何体占据的空间。边界是指内部和外部间的交接处
-
Its
MBR (最小边框矩形minimum bounding rectangle), 或者envelope封闭线. 这个是边界几何体,由最大的坐标和最小的坐标组成(X,Y): -
Whether the value is
simple or nonsimple.