geo_line_densify()
藉由新增中繼點,將平面線條或多線邊緣轉換為地理線。
Syntax
geo_line_densify(
lineString,
寬容,
[ preserve_crossing ])
深入瞭解 語法慣例。
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
lineString | dynamic |
✔️ | GeoJSON 格式的LineString或 MultiLineString。 |
tolerance | int、long 或 real | 定義原始平面邊緣與轉換地理邊緣鏈結之間的最大距離。 支援的值位於 [0.1, 10000] 範圍中。 如果未指定,則會使用預設值 10 。 |
|
preserve_crossing | bool |
如果 true 為 ,則會在覆寫期間保留邊緣交叉。 如果未指定,則會使用預設值 false 。 |
傳回
GeoJSON 格式和動態資料類型的緻密線。 如果行或容錯無效,則查詢將會產生 Null 結果。
注意
地理空間座標會以 WGS-84 座標參考系統的表示來解讀。
LineString 定義
dynamic ({“type”: “LineString”,“coordinates”: [[lng_1,lat_1], [lng_2,lat_2], ..., [lng_N,lat_N]]})
dynamic ({“type”: “MultiLineString”,“coordinates”: [[line_1, line_2, ..., line_N]]})
- LineString 座標陣列必須包含至少兩個項目。
- 座標 [經度, 緯度] 必須有效。 經度必須是範圍 [-180,+180] 內的實數,且緯度必須是範圍 [-90,+90] 內的實數。
- 邊緣長度必須小於 180 度。 將選擇兩個頂點之間的最短邊緣。
條件約束
- 緻密線的最大點數限制為 10485760。
- 以動態格式儲存線條具有大小限制。
動機
- GeoJSON 格式會在使用地理位置時
geo_line_densify()
,將兩點之間的邊緣定義為直線笛卡兒線。 - 使用測地線或平面邊緣的決策可能取決於資料集,而且在長邊緣中特別相關。
範例
下列範例會增加曼哈頓島道路的密度。 邊緣很短,而平面邊緣與其對應測地線之間的距離小於容錯所指定的距離。 因此,結果會維持不變。
print densified_line = tostring(geo_line_densify(dynamic({"type":"LineString","coordinates":[[-73.949247, 40.796860],[-73.973017, 40.764323]]})))
輸出
densified_line |
---|
{"type":"LineString","coordinates":[[-73.949247, 40.796860], [-73.973017, 40.764323]]} |
下列範例會反轉約 130 公里長度的邊緣
print densified_line = tostring(geo_line_densify(dynamic({"type":"LineString","coordinates":[[50, 50], [51, 51]]})))
輸出
densified_line |
---|
{"type":"LineString","coordinates":[[50,50],[50.125,50.125],[50.25,50.25],[50.375,50.375],[50.5,50.5],[50.625,50.625],[50.75,50.75],[50.875,50.875],[51,51]]} |
因為座標輸入無效,所以下列範例會傳回 Null 結果。
print densified_line = geo_line_densify(dynamic({"type":"LineString","coordinates":[[300,1],[1,1]]}))
輸出
densified_line |
---|
因為容錯輸入無效,所以下列範例會傳回 Null 結果。
print densified_line = geo_line_densify(dynamic({"type":"LineString","coordinates":[[1,1],[2,2]]}), 0)
輸出
densified_line |
---|
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應