共用方式為


geo_line_densify()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

藉由新增中繼點,將平面線條或多行邊緣轉換成地理區域。

語法

geo_line_densify(lineString, 容錯, [ preserve_crossing ])

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
lineString dynamic ✔️ GeoJSON 格式LineString或 MultiLineString。
tolerance int、long 或 real 定義原始平面邊緣與已轉換地理邊緣鏈結之間的公尺距離上限。 支援的值為 [0.1, 10000]。 如果未指定,則會使用預設值 10
preserve_crossing bool 如果 true為 ,則會在加時里線期間保留邊緣交叉。 如果未指定,則會使用預設值 false

傳回

GeoJSON 格式和動態數據類型的 Densified 行。 如果行或容錯無效,查詢將會產生 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 度。 將選擇兩個頂點之間的最短邊緣。

條件約束

  • densified 線條中的點數上限限制為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],[2 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