空间数据的空间参考系统(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,该ID由欧洲石油勘探集团(EPSG)使用。
SRS定义在DEFINITION
列中是WKT值,按照开放地理空间联盟文档OGC 12-063r5指定。
SRS_ID
值表示与几何值的SRID或传递给空间函数的SRID参数相同的值。SRID 0(无单位的笛卡尔平面)是特殊的,它总是一个合法的空间参考系统ID,可以在任何依赖SRID值的空间数据计算中使用。
对于多个几何值的计算,所有值必须具有相同的SRID,否则将发生错误。
SRS定义解析是在需要时进行的,当需要GIS函数时。解析后的定义存储在数据字典缓存中,以便重用和避免每个语句的解析开销。
为了使SRS条目在数据字典中可被操作,MySQL提供了以下SQL语句: