空間函數如何運作的範例
資料庫提供對空間資料執行各種作業的函數。 這些功能可以根據它們所執行的作業類型來分類。
範例 1: 傳回特定幾何形狀的相關資訊
在此範例中, ST_Area 函數會傳回代表商店 10 銷售區域的數值。 函數會以與用來定義區域位置的座標系統單位相同的單位傳回區域。
SELECT ST_Area(sales_area)
FROM stores
WHERE id = 10
範例 2: 進行比較
在此範例中, ST_Within 函數會比較代表客戶居住地的幾何形狀座標與代表商店 10 銷售區域的幾何形狀座標。 此函數的輸出將表示該住宅是否位於銷售區域內。
SELECT c.first_name, c.last_name, ST_Within(c.location, s.sales_area)
FROM customers as c. stores AS s
WHERE s.id = 10
範例 3: 從現有幾何形狀衍生新的幾何形狀
在此範例中,函數 ST_Buffer 從代表商店位置的幾何形狀衍生出代表商店銷售區域的幾何形狀。
UPDATE stores
SET sales_area = ST_Buffer(location, 10, 'KILOMETERS')
WHERE id = 10
範例 4: 與資料交換格式來回轉換幾何佈置。
在此範例中,以 GML 編碼的客戶資訊會轉換成幾何形狀,以便儲存在資料庫中。
INSERT
INTO c.name,c.phoneNo,c.address
VALUES ( 123, 'Mary Anne', Smith', ST_Point('
<gml:Point><gml:coord><gml=X>-130.876</gml:X>
<gml:Y>41.120'</gml:Y></gml:coord></gml:Point>, 1) )