空间数据的空间参考系统 (SRS) 是地理位置的基于坐标的系统。
有不同类型的空间参考系统
投影 SRS 是将地球仪投影到平面上的投影;也就是说,一张平面地图。例如,地球仪内部的一个灯泡照射到环绕地球仪的纸筒上,将地图投影到纸上。结果是地理参考:每个点都对应于地球仪上的一个位置。该平面上的坐标系是笛卡尔坐标系,使用长度单位(米、英尺等),而不是经度和纬度的度数。
在这种情况下,地球仪是椭球体;也就是说,是扁平的球体。地球的南北轴比东西轴略短,因此稍微扁平的球体更准确,但完美的球体可以更快地进行计算。
地理 SRS 是一个非投影 SRS,表示椭球体上的经度-纬度(或纬度-经度)坐标,以任何角度单位。
MySQL 中由 SRID 0 表示的 SRS 代表一个无限的平面笛卡尔平面,其轴没有分配单位。与投影 SRS 不同,它不是地理参考的,也不一定代表地球。它是一个抽象平面,可用于任何事物。SRID 0 是 MySQL 中空间数据的默认 SRID。
MySQL 在数据字典 mysql.st_spatial_reference_systems
表中维护有关可用空间参考系统的信息,该表可以存储投影和地理 SRS 的条目。此数据字典表是不可见的,但 SRS 条目内容可通过 INFORMATION_SCHEMA
ST_SPATIAL_REFERENCE_SYSTEMS
表获取,该表实现为 mysql.st_spatial_reference_systems
的视图(参见 第 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。
DEFINITION
列中的 SRS 定义是 WKT 值,表示为 开放地理空间联盟 文档 OGC 12-063r5 中指定的那样。
SRS_ID
值表示与几何值 SRID 相同的值,或作为 SRID 参数传递给空间函数。SRID 0(无单位笛卡尔平面)是特殊的。它始终是合法的空间参考系统 ID,并且可以在依赖 SRID 值的空间数据的任何计算中使用。
对于多个几何值的计算,所有值必须具有相同的 SRID,否则会发生错误。
当 GIS 函数需要定义时,SRS 定义解析会按需进行。解析后的定义存储在数据字典缓存中,以便重用并避免为每个需要 SRS 信息的语句产生解析开销。
为了能够操作存储在数据字典中的 SRS 条目,MySQL 提供以下 SQL 语句