Microsoft SQL Server/地理空間資料/WKT
外觀
Well-known text (WKT) 是一種文字標記語言,用於表示地圖上的向量幾何物件、空間物件的參考系統以及空間參考系統之間的轉換。一個二進位制等效物,稱為 well-known binary (WKB) 用於在資料庫(如 PostGIS)中傳輸和儲存相同的資訊。這些格式由開放地理空間聯盟 (OGC) 規範,並描述在他們的簡單要素訪問和座標轉換服務規範中。
可以使用 WKT 表示的幾何物件包括:點、線、多邊形、TIN 和多面體。還可以使用多幾何體在單個物件中表示多個相同維度的幾何體,並且可以在幾何體集合中儲存不同維度的幾何體。
幾何體的座標可以是 2D (x, y)、3D (x, y, z)、4D (x, y, z, m)(其中 m 值是線性參考系統的一部分)或 3D 帶 m 值 (x, y, m)。三維幾何體由幾何體型別後的 Z 表示,具有線性參考系統的幾何體在幾何體型別後有 M。
WKT 幾何體在整個 OGC 規範中使用,並且存在於實現這些規範的應用程式中。例如,PostGIS 包含可以將幾何體轉換為 WKT 表示形式(反之亦然)的函式,使它們可讀。
以下是一些示例幾何 WKT 字串。
POINT(6 10) LINESTRING(3 4,10 50,20 25) POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2)) MULTIPOINT(3.5 5.6,4.8 10.5) MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4)) MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2)),((3 3,6 2,6 4,3 3))) GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)) POINT ZM (1 1 5 60) POINT M (1 1 80)
空間參考系統的 WKT 字串描述了空間物件的基準面、大地水準面、座標系和地圖投影。
Well-known text 在許多 GIS 程式中被廣泛使用。ESRI 在 shapefile 中使用 WKT*.prj檔案。
以下是一個空間參考系統 WKT 字串的示例。
COMPD_CS["OSGB36 / British National Grid + ODN",
PROJCS["OSGB 1936 / British National Grid",
GEOGCS["OSGB 1936",
DATUM["OSGB_1936",
SPHEROID["Airy 1830",6377563.396,299.3249646,AUTHORITY["EPSG","7001"]],
TOWGS84[375,-111,431,0,0,0,0],
AUTHORITY["EPSG","6277"]],
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],
AXIS["Lat",NORTH],
AXIS["Long",EAST],
AUTHORITY["EPSG","4277"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",49],
PARAMETER["central_meridian",-2],
PARAMETER["scale_factor",0.999601272],
PARAMETER["false_easting",400000],
PARAMETER["false_northing",-100000],
UNIT["metre",1,AUTHORITY["EPSG","9001"]],
AXIS["E",EAST],
AXIS["N",NORTH],
AUTHORITY["EPSG","27700"]],
VERT_CS["Newlyn",
VERT_DATUM["Ordnance Datum Newlyn",2005,AUTHORITY["EPSG","5101"]],
UNIT["metre",1,AUTHORITY["EPSG","9001"]],
AXIS["Up",UP],
AUTHORITY["EPSG","5701"]],
AUTHORITY["EPSG","7405"]]
WKT 格式用於描述用於在兩個不同的空間參考系統之間轉換座標的轉換方法和引數。
以下是兩個 WKT 變換描述的示例。
PARAM_MT["Mercator_2SP",
PARAMETER["semi_major",6370997.0],
PARAMETER["semi_minor",6370997.0],
PARAMETER["central_meridian",180.0],
PARAMETER["false_easting",-500000.0],
PARAMETER["false_northing",-1000000.0],
PARAMETER["standard_parallel_1",60.0]]
PARAM_MT["Affine",
PARAMETER["num_row",3],
PARAMETER["num_col",3],
PARAMETER["elt_0_1",1],
PARAMETER["elt_0_2",2],
PARAMETER["elt_1_2",3]]