MySQL具有与OpenGIS类相对应的空间数据类型。中介绍了这些类型的基础GydF4y2Ba第11.4.2节,“OpenGIS几何模型”GydF4y2Ba.GydF4y2Ba
某些空间数据类型包含单个几何体值:GydF4y2Ba
几何学GydF4y2Ba
点GydF4y2Ba
线串GydF4y2Ba
多边形GydF4y2Ba
几何学GydF4y2Ba
可以存储任何类型的几何体值。其他单值类型(GydF4y2Ba点GydF4y2Ba
,GydF4y2Ba线串GydF4y2Ba
,和GydF4y2Ba多边形GydF4y2Ba
)将其值限制为特定的几何图形类型。GydF4y2Ba
其他空间数据类型包含值集合:GydF4y2Ba
多点GydF4y2Ba
多重约束GydF4y2Ba
多边形GydF4y2Ba
几何集合GydF4y2Ba
几何集合GydF4y2Ba
可以存储任何类型的对象集合。其他集合类型(GydF4y2Ba多点GydF4y2Ba
,GydF4y2Ba多重约束GydF4y2Ba
,和GydF4y2Ba多边形GydF4y2Ba
)将集合成员限制为具有特定几何体类型的成员。GydF4y2Ba
示例:创建名为GydF4y2Ba几何GydF4y2Ba
有一列名为GydF4y2BaGGydF4y2Ba
如果可以存储任何几何图形类型的值,请使用以下语句:GydF4y2Ba
创建表geom(g GEOMETRY);GydF4y2Ba
具有空间数据类型的列可以具有GydF4y2BaSRID公司GydF4y2Ba
属性,以显式指示存储在列中的值的空间参照系(SRS)。例如:GydF4y2Ba
创建表格geom(p点SRID 0,g几何不为空SRID 4326);GydF4y2Ba
空间GydF4y2Ba
可以在空间列上创建索引,如果它们是GydF4y2Ba不为空GydF4y2Ba
并且有一个特定的SRID,所以如果您计划索引该列,请使用GydF4y2Ba不为空GydF4y2Ba
和GydF4y2BaSRID公司GydF4y2Ba
属性:GydF4y2Ba
创建表格geom(g GEOMETRY NOT NULL SRID 4326);GydF4y2Ba
InnoDB公司GydF4y2Ba
表格许可证GydF4y2BaSRID公司GydF4y2Ba
笛卡尔和地理SRS的值。GydF4y2Ba密萨姆GydF4y2Ba
表格许可证GydF4y2BaSRID公司GydF4y2Ba
笛卡尔SRS的值。GydF4y2Ba
这个GydF4y2BaSRID公司GydF4y2Ba
属性使空间列SRID受限,这意味着:GydF4y2Ba
列只能包含具有给定SRID的值。尝试插入具有不同SRID的值会产生错误。GydF4y2Ba
优化器可以使用GydF4y2Ba
空间GydF4y2Ba
列上的索引。看到了吗GydF4y2Ba第8.3.3节,“空间索引优化”GydF4y2Ba.GydF4y2Ba
空间列没有GydF4y2BaSRID公司GydF4y2Ba
属性不受SRID限制,并接受具有任何SRID的值。但是,优化器不能使用GydF4y2Ba空间GydF4y2Ba
在列定义被修改为包含GydF4y2BaSRID公司GydF4y2Ba
属性,这可能要求首先修改列内容,以便所有值都具有相同的SRID。GydF4y2Ba
有关如何在MySQL中使用空间数据类型的其他示例,请参见GydF4y2Ba第11.4.6节,“创建空间柱”GydF4y2Ba. 有关空间参照系的信息,请参见GydF4y2Ba第11.4.5节,“空间参考系统支持”GydF4y2Ba.GydF4y2Ba