geo_point_buffer()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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
- Die Geospatialkoordinaten werden durch das WGS-84-Koordinatenverweissystem interpretiert.
- Das geodetische Datum , das zum Messen der Entfernung auf der Erde verwendet wird, ist eine Kugel.
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 |