geo_point_buffer()
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
計算多邊形,其中包含地球上點指定半徑內的所有點。
語法
geo_point_buffer(
經度,
緯度,
半徑容錯,
)
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
經度 | real |
✔️ | 地理空間座標經度值以度為單位。 有效值為實數,且範圍 [-180, +180]。 |
緯度 | real |
✔️ | 地理空間座標緯度值以度為單位。 有效值為實數,且範圍 [-90, +90]。 |
半徑 | real |
✔️ | 以公尺為單位的緩衝區半徑。 有效值必須是正數。 |
tolerance | real |
定義以公尺為單位的容錯,以決定多邊形可以偏離理想半徑多少。 如果未指定,則會使用預設值 10 。 容錯應不低於半徑的0.0001%。 指定大於半徑的容錯,會將容錯降低到半徑下方的最大可能值。 |
傳回
輸入點周圍的多邊形。 如果座標或半徑或容錯無效,查詢會產生 Null 結果。
範例
下列查詢會計算 [-115.1745008278,36.1497251277] 坐標的多邊形,半徑為 20 公里。
print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
緩衝區 |
---|
{“type”: “Polygon”,“coordinates”: [ ... ]} |
下列查詢會計算每個點周圍的緩衝區,並統一結果
datatable(longitude:real, latitude:real, radius:real)
[
real(-80.3212217992616), 25.268683367546604, 5000,
real(-80.81717403605833), 24.82658441221962, 3000
]
| project buffer = geo_point_buffer(longitude, latitude, radius)
| summarize polygons = make_list(buffer)
| project result = geo_union_polygons_array(polygons)
result |
---|
{“type”: “MultiPolygon”,“coordinates”: [ ... ]} |
下列範例會傳回 true,因為點無效。
print result = isnull(geo_point_buffer(200, 1,0.1))
result |
---|
True |
下列範例會傳回 true,因為半徑無效。
print result = isnull(geo_point_buffer(10, 10, -1))
result |
---|
True |