SRID (空間引用識別號, 坐標係)
背景
轉自互聯網
https://www.baike.com/wiki/srid
https://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
地球並不是平的,也不是正圓形,而是一個非標準的橢圓,在不同的經緯度位置,計算兩點的距離沒有一個完美的公式(即快速、有準確)。
所以坐標係應運而生,SRID是指數據的坐標係,例如:
在PostGIS中可以查到支持的SRID。查詢與北京、中國有關的坐標係。
postgres=# select * from spatial_ref_sys where srtext ~* 'beijing';
postgres=# select * from spatial_ref_sys where srtext ~* 'china';
數據可以在不同的坐標係之間轉換,在進行GIS計算時,一定要在同一個坐標係中進行。
例如
https://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), https://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請求為例:
SRS=EPSG:4326代表地理坐標係WGS1984
WKT:空間參考係統的文字描述;
無論是參考橢球、基準麵、投影方式、坐標單位等,都有相應 的EPSG值表示,如下表:
舉例:
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]] ;
參考
https://www.baike.com/wiki/srid
https://www.cnblogs.com/jackdong/archive/2010/12/20/1911558.html
https://workshops.boundlessgeo.com/postgis-intro/
https://en.wikipedia.org/wiki/SRID
最後更新:2017-07-21 11:03:14