Freigeben über


geo_point_buffer()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Berechnet Polygone, die alle Punkte innerhalb des angegebenen Radius des Punkts auf der Erde enthalten.

Syntax

geo_point_buffer(Längengradradiustoleranz, , , )

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
longitude real ✔️ Geospatialkoordinaten-Längengradwert in Grad. Der gültige Wert ist eine reelle Zahl und im Bereich [-180, +180].
latitude real ✔️ Geospatialkoordinaten-Breitengradwert in Grad. Der gültige Wert ist eine reelle Zahl und im Bereich [-90, +90].
Radius real ✔️ Pufferradius in Metern. Der gültige Wert muss positiv sein.
tolerance real Definiert die Toleranz in Metern, die bestimmt, wie viel ein Polygon vom idealen Radius abweichen kann. Wenn nichts angegeben wird, wird der Standardwert 10 verwendet. Die Toleranz sollte nicht unter 0,0001 % des Radius liegen. Die Angabe der Toleranz, die größer als der Radius ist, verringert die Toleranz auf den größten möglichen Wert unterhalb des Radius.

Gibt zurück

Polygon um den Eingabepunkt. Wenn die Koordinaten oder Radius oder Toleranz ungültig sind, erzeugt die Abfrage ein NULL-Ergebnis.

Hinweis

Beispiele

Die folgende Abfrage berechnet Polygone um [-115.1745008278, 36.1497251277] Koordinaten mit einem Radius von 20 km.

print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
Puffer
{"type": "Polygon","coordinates": [ ... ]}

Die folgende Abfrage berechnet Puffer um jeden Punkt und vereint das Ergebnis.

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

Im folgenden Beispiel wird "true" aufgrund eines ungültigen Punkts zurückgegeben.

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

Im folgenden Beispiel wird "true" aufgrund eines ungültigen Radius zurückgegeben.

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