13.4.5 空间参考系统支持
空间参考系统(SRS)是对空间数据的坐标系统,用于地理位置。
有不同的空间参考系统类型:
-
投影SRS是将球体投影到平面上;也就是说,平面地图。例如,一个内球体中的灯泡,照亮围绕球体的纸筒,投影地图到纸上。结果是地理参考:每个点映射到球体上的一个地方。该平面上的坐标系统使用长度单位(米、英尺等),而不是经度和纬度。
在这里,球体是椭球体,即扁平球体。地球在北南方向上的长度比东西方向上的长度短,因此扁平球体更正确,但完美球体可以加速计算。
-
地理SRS是非投影SRS,表示经度-纬度(或纬度-经度)坐标在椭球体上,使用任何角度单位。
-
MySQL通过SRID 0表示无单位的平面坐标系,不是地理参考,不一定代表地球。它是一个抽象的平面,可以用于任何事情。SRID 0是MySQL中空间数据的默认SRID。
MySQL维护了关于可用的空间参考系统的信息,用于空间数据的数据字典表mysql.st_spatial_reference_systems
,可以存储投影和地理SRS的条目。这个数据字典表是不可见的,但是SRS条目内容可以通过INFORMATION_SCHEMA
ST_SPATIAL_REFERENCE_SYSTEMS
表实现的视图,基于mysql.st_spatial_reference_systems
(见Section 28.3.36, “The INFORMATION_SCHEMA ST_SPATIAL_REFERENCE_SYSTEMS Table”)。
以下示例展示了SRS条目的样子:
mysql> SELECT *
FROM INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS
WHERE SRS_ID = 4326\G
*************************** 1. row ***************************
SRS_NAME: WGS 84
SRS_ID: 4326
ORGANIZATION: EPSG
ORGANIZATION_COORDSYS_ID: 4326
DEFINITION: GEOGCS["WGS 84",DATUM["World Geodetic System 1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
UNIT["degree",0.017453292519943278,
AUTHORITY["EPSG","9122"]],
AXIS["Lat",NORTH],AXIS["Long",EAST],
AUTHORITY["EPSG","4326"]]
DESCRIPTION:
这个条目描述了GPS系统使用的SRS。它有名称(SRS_NAME
)WGS 84和ID(SRS_ID
)4326,这是欧洲石油勘探集团(EPSG)的ID。
SRS定义在DEFINITION
列中,以指定在Open Geospatial Consortium文件OGC 12-063r5中指定的WKT值。
SRS_ID
值表示与几何值的SRID相同,或者作为空间函数的SRID参数传递。SRID 0(无单位的平面)是特殊的。它总是合法的空间参考系统ID,可以在任何依赖SRID值的空间数据计算中使用。
对于多个几何值的计算,所有值都必须具有相同的SRID或出现错误。
SRS定义解析在需要时发生,定义被存储在数据字典缓存中,以便重用,并避免在每个语句中解析SRS信息的开销。
为了启用对数据字典中SRS条目的操作,MySQL 提供了这些 SQL 语句: