首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 空間資料實戰 (三):geography 與 geometry 兩大空間資料類型詳解

     編輯:關於SqlServer

前言

SQL Server 2008 提供兩種 CLR 空間資料類型:geography (大地測量、經緯度、考慮地球曲率) 與 geometry (平面幾何、任意座標、不考慮曲率)。本文詳細比較兩者定義、儲存方式、測量單位、空間參考系統支援,並示範 SSMS 空間結果視覺化功能。

一、SQL Server 2008 通用資料類型回顧

char, datetime, float, int, money, nvarchar 等與 2005 相同。

二、空間資料類型核心差異

特性geographygeometry
定義域經度/緯度 (大地座標)平面 X/Y 座標
地球曲率考慮 (真實大地距離)忽略 (平面歐幾里得距離)
典型用途GPS 軌跡、全球地圖、航線平面投影地圖、CAD、室內圖
標準相容自有擴充OGC Simple Features for SQL
SRID 強制是否 (可選)
測量單位公尺 (由 SRID 決定)座標單位 (由 SRID 或自訂)

geography 型別說明

geometry 型別說明

兩者比較總結

三、查詢空間參考系統測量單位

SELECT unit_of_measure
FROM sys.spatial_reference_systems
WHERE authority_name = 'EPSG' 
  AND authorized_spatial_reference_id = 4326;

結果:metre (EPSG:4326 使用公尺)。

四、空間資料儲存方式

  • 變長二進位格式,每列 8 位元組頭部儲存型別 (Point/Line/Polygon)、SRID、座標值。
  • 複雜度越高 (點數越多) 佔用空間越大。
  • Max 大小受限於 CLR 型別上限 (2GB)。

五、空間資料視覺化 (SSMS 空間結果分頁)

SSMS 查詢視窗執行含空間欄位的 SELECT,切換至「空間結果」分頁即可視覺化預覽。

SELECT [ID], [CODE], [ELEV], [NAME], [geom]
FROM [BingMapsDB].[dbo].[CQ_Area_region];

SSMS 空間結果視覺化

六、參考資源

  1. 空間資料 (百度百科):https://baike.baidu.com/view/125911.htm
  2. 空間資料視覺化 (MSDN Magazine):https://msdn.microsoft.com/zh-cn/magazine/ee335706.aspx

總結

選擇 geography 處理全球尺度、需真實距離的場景;選擇 geometry 處理局部投影、平面幾何運算。兩者皆整合於關聯引擎,支援索引、空間查詢方法與 SSMS 視覺化,為位置智慧應用提供強大原生支援。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved