空间数据的空间参考系统 (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 节“INFORMATION_SCHEMA ST_SPATIAL_REFERENCE_SYSTEMS 表”)。
以下示例显示了 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 信息的语句产生解析开销。
为了能够操作存储在数据字典中的 SRS 条目,MySQL 提供了以下 SQL 语句