SRID (空间引用识别号, 坐标系)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

背景

转自互联网

http://www.baike.com/wiki/srid

http://www.cnblogs.com/jackdong/archive/2010/12/20/1911558.html

https://en.wikipedia.org/wiki/Geographic_coordinate_system

https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier

pic

地球并不是平的,也不是正圆形,而是一个非标准的椭圆,在不同的经纬度位置,计算两点的距离没有一个完美的公式(即快速、有准确)。

所以坐标系应运而生,SRID是指数据的坐标系,例如:

在PostGIS中可以查到支持的SRID。查询与北京、中国有关的坐标系。

postgres=# select * from spatial_ref_sys where srtext ~* 'beijing';  
  
postgres=# select * from spatial_ref_sys where srtext ~* 'china';  

数据可以在不同的坐标系之间转换,在进行GIS计算时,一定要在同一个坐标系中进行。

例如

http://postgis.net/docs/manual-2.3/reference.html

SELECT ST_AsText(ST_Transform(ST_GeomFromText('POLYGON((743238 2967416,743238 2967450,
	743265 2967450,743265.625 2967416,743238 2967416))',2249),4326)) As wgs_geom;

 wgs_geom
---------------------------
 POLYGON((-71.1776848522251 42.3902896512902,-71.1776843766326 42.3903829478009,
-71.1775844305465 42.3903826677917,-71.1775825927231 42.3902893647987,-71.177684
8522251 42.3902896512902));
(1 row)

--3D Circular String example
SELECT ST_AsEWKT(ST_Transform(ST_GeomFromEWKT('SRID=2249;CIRCULARSTRING(743238 2967416 1,743238 2967450 2,743265 2967450 3,743265.625 2967416 3,743238 2967416 4)'),4326));

				 st_asewkt
--------------------------------------------------------------------------------------
 SRID=4326;CIRCULARSTRING(-71.1776848522251 42.3902896512902 1,-71.1776843766326 42.3903829478009 2,
 -71.1775844305465 42.3903826677917 3,
 -71.1775825927231 42.3902893647987 3,-71.1776848522251 42.3902896512902 4)

正文1

srid,指的是空间引用标识符。

空间引用标识符 (SRID)

每个空间实例都有一个空间引用标识符 (SRID)。SRID 对应于基于特定椭圆体的空间引用系统,可用于平面球体映射或圆球映射。空间列可包含具有不同 SRID 的对象。然而,在使用 SQL Server 空间数据方法对数据执行操作时,仅可使用具有相同 SRID 的空间实例。从两个空间数据实例派生的任何空间方法的结果仅在这两个实例具有相同的 SRID(该 SRID 基于相同的用于确定实例坐标的度量单位、数据和投影)时才有效。SRID 最常见的度量单位为米或平方米。

如果两个空间实例的 SRID 不相同,则对这两个实例使用 geometry 或 geography 数据类型方法后的结果将返回 NULL。例如,若要以下谓词返回非 NULL 结果,两个 geometry 实例(geometry1 和 geometry2)必须具有相同的 SRID:

geometry1.STIntersects(geometry2) = 1   

注意:空间引用标识系统是由欧洲石油测绘组 (EPSG) 标准定义的,它是为绘图、测绘以及大地测量数据存储而开发的一组标准。该标准归石油天然气生产商 (ogp) 测绘和定位委员会所有。

几何图形实例默认 SRID 为零

SQL Server 中 geometry 实例的默认 SRID 为 0。利用 geometry 空间数据,执行计算是不需要空间实例的指定 SRID 的;因此,实例可驻留在未定义的平面空间。若要在 geometry 数据类型方法的计算中指明未定义的平面空间,SQL Server 数据库引擎 使用 SRID 0。

地域实例必须使用支持的 SRID

SQL Server 支持基于 EPSG 标准的 SRID。必须使用 geography 实例的支持 SQL Server 的 SRID 执行计算或将方法用于地域空间数据。SRID 必须与 sys.spatial_reference_systems 目录视图中显示的 SRID 中的一个匹配。如前所述,在使用 geography 数据类型对空间数据执行计算时,结果将取决于在创建数据时使用的是哪个椭圆体,因为为每个椭圆体都分配了一个特定空间引用标识符 (SRID)。

对 geography 实例使用方法时,SQL Server 使用等于 4326 的默认 SRID,它将映射到 WGS 84 空间引用系统。如果要使用 WGS 84(或 SRID 4326)之外的某个空间引用系统中的数据,您需要确定地域空间数据的特定 SRID。

正文2

EPSG:European Petroleum Survey Group (EPSG), http://www.epsg.org/ , 它成立于1986年,并在2005年重组为OGP(Internation Association of Oil & Gas Producers),它负责维护并发布坐标参照系统的数据集参数,以及坐标转换描述,该数据集被广泛接受并使用,通过一个Web发布平台进行分发,同时提供了微软Acess数据库的存储文件,通过SQL 脚本文件,mySQL, Oracle 和PostgreSQL等数据库也可使用。
目前已有的椭球体,投影坐标系等不同组合都对应着不同的ID号,这个号在EPSG中被称为EPSG code,它代表特定的椭球体、单位、地理坐标系或投影坐标系等信息。

SRID:OGC标准中的参数SRID,也是指的空间参考系统的ID,与EPSG一致;

WMS 1.1.1以前用SRS参数(空间参考系)表示坐标系统,WMS1.3开始用CRS参数(坐标参考系统)来表示。

A Spatial Reference System Identifier(SRID) is a unique value used to unambiguously identify projected, unprojected, and local spatial coordinate system definitions. These coordinate systems form the heart of all GIS applications.

Virtually all major spatial vendors have created their own SRID implementation or refer to those of an authority, such as the European Petroleum Survey Group (EPSG). (NOTE: As of 2005 the EPSG SRID values are now maintained by the International Association of Oil & Gas Producers (OGP) Surveying & Positioning Committee).

以OGC请求为例:

http://localhost/IS/WebServices/wms.ashx?map=World&SERVICE=WMS&REQUEST=GetMap&LAYERS=&STYLES=&SRS=EPSG:4326&BBOX=-3,44,10,53&WIDTH=600&HEIGHT=300&FORMAT=image/gif&BGCOLOR=&VERSION=1.1.1

SRS=EPSG:4326代表地理坐标系WGS1984

WKT:空间参考系统的文字描述;

无论是参考椭球、基准面、投影方式、坐标单位等,都有相应 的EPSG值表示,如下表:

pic

举例:

Beijing 1954地理坐标系,高斯--克吕格投影(横轴等角切圆柱投影)

下面为投影相关信息:

投影方式 Gauss_Kruger  
中央经线 75.000000  
原点纬线 0.000000  
标准纬线(1) 0.000000  
标准纬线(2) 0.000000  
水平偏移量 13500000.000000  
垂直偏移量 0.000000  
比例因子 1.000000  
方位角   0.000000  
第一点经线 0.000000  
第二点经线 0.000000  
地理坐标系 GCS_Beijing_1954  
大地参照系 D_Beijing_1954  
参考椭球体 Krasovsky_1940  
椭球长半轴 6378245.000000  
椭球扁率 0.0033523299  
本初子午线 0.000000  

WKT形式表示该投影坐标系:

PROJCS["Gauss_Kruger",  
GEOGCS["GCS_Beijing_1954",  
   DATUM["D_Beijing_1954",  
    SPHEROID["Krasovsky_1940",6378245.000000,298.299997264589]]   
   ]  
PEIMEM["Greenwich",0]   
UNIT["degree",0.0174532925199433]        //地理单位:0.0174532925199433代表与米之间的转换  
],  
PROJECTION["Gauss_Kruger"],  
PARAMETER["False_Easting",13500000.000000],  
PARAMETER["False_Northing",0],  
PARAMETER["Central_Meridian",75.000000],  
PARAMETER["Scale_Factor",1.0],  
PARAMETER["Latitude_Of_Origin",0.0],  
UNIT["Meter",1.0]] ;  

参考

http://www.baike.com/wiki/srid

http://www.cnblogs.com/jackdong/archive/2010/12/20/1911558.html

http://workshops.boundlessgeo.com/postgis-intro/

https://en.wikipedia.org/wiki/SRID

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
1月前
|
人工智能 UED
DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
【2月更文挑战第17天】DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
132 1
DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
|
11天前
|
算法
几何原本
几何原本
16 8
|
2月前
|
图形学 计算机视觉
GEE错误——如何将原有矢量将维度转化为地理坐标系,重投影坐标坐标无法实现?
GEE错误——如何将原有矢量将维度转化为地理坐标系,重投影坐标坐标无法实现?
32 0
|
4月前
|
传感器 数据采集 编解码
基于EinScan-S的编码结构光方法空间三维模型重建
基于EinScan-S的编码结构光方法空间三维模型重建
|
4月前
|
定位技术 C++ 数据格式
C++中GDAL为CreateCopy()创建的栅格图像增添波段数量的方法
C++中GDAL为CreateCopy()创建的栅格图像增添波段数量的方法
|
4月前
[Halcon&图像] 图像、区域和轮廓相互转化
[Halcon&图像] 图像、区域和轮廓相互转化
76 1
|
4月前
|
C++
[Halcon&定位] 解决Roi区域外的模板匹配成功
[Halcon&定位] 解决Roi区域外的模板匹配成功
58 0
C#编程练习(02):大地坐标系(LBH)向空间直角坐标系(XYZ)的转换及其逆转换
C#编程练习(02):大地坐标系(LBH)向空间直角坐标系(XYZ)的转换及其逆转换
C#编程练习(02):大地坐标系(LBH)向空间直角坐标系(XYZ)的转换及其逆转换
|
9月前
使用边界跟踪方法标识图像中的圆形目标
使用边界跟踪方法,根据对象的圆度对其进行分类。
54 0
|
9月前
|
存储 编解码 对象存储
将图像标记器多边形转换为标记的块图像以进行语义分割
将存储在对象中的多边形标签转换为适用于语义分割工作流的标记阻止图像。 可以使用计算机视觉工具箱中的图像标记器应用来标记太大而无法放入内存和多分辨率图像的图像。有关详细信息,请参阅在图像标记器(计算机视觉工具箱)中标记大图像。图像标记器应用不支持对被阻止的图像进行像素标记。您只能使用 ROI 形状(如多边形、矩形和线条)创建标签。此示例演示如何使用函数将多边形 ROI 转换为像素标记的块图像,以进行语义分割工作流。
44 0
将图像标记器多边形转换为标记的块图像以进行语义分割