Sdílet prostřednictvím


geo_point_buffer()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Vypočítá mnohoúhelník, který obsahuje všechny body v daném poloměru bodu na Zemi.

Syntaxe

geo_point_buffer(zeměpisná délka, poloměru šířky, , )

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
zeměpisná délka real ✔️ Hodnota zeměpisné délky geoprostorové souřadnice ve stupních Platná hodnota je reálné číslo a v rozsahu [-180, +180].
zeměpisná šířka real ✔️ Geoprostorová souřadnice hodnoty zeměpisné šířky ve stupních. Platná hodnota je reálné číslo a v rozsahu [-90, +90].
poloměr real ✔️ Poloměr vyrovnávací paměti v metrech. Platná hodnota musí být kladná.
tolerance real Definuje toleranci v metrech, která určuje, kolik mnohoúhelníku se může odcházet od ideálního poloměru. Pokud není zadáno, použije se výchozí hodnota 10 . Tolerance nesmí být nižší než 0,0001 % poloměru. Určení tolerance větší než poloměr snižuje toleranci na největší možnou hodnotu pod poloměrem.

Návraty

Mnohoúhelník kolem vstupního bodu. Pokud jsou souřadnice nebo poloměr nebo tolerance neplatné, dotaz vytvoří výsledek null.

Poznámka:

  • Geoprostorové souřadnice jsou interpretovány jako reprezentované referenčním systémem souřadnic WGS-84 .
  • Geodetické datum použité k měření vzdálenosti na Zemi je sféra.

Příklady

Následující dotaz vypočítá mnohoúhelník kolem souřadnic [-115,1745008278, 36,1497251277] s poloměrem 20 km.

print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
vyrovnávací paměť
{"type": "Mnohoúhelník","souřadnice": [ ... ]}

Následující dotaz vypočítá vyrovnávací paměť kolem každého bodu a sjednocuje výsledek.

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": [ ... ]}

Následující příklad vrátí hodnotu true z důvodu neplatného bodu.

print result = isnull(geo_point_buffer(200, 1,0.1))
result
True

Následující příklad vrátí hodnotu true kvůli neplatnému poloměru.

print result = isnull(geo_point_buffer(10, 10, -1))
result
Pravda