Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this article
Applies to: ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Calculates polygon that contains all points within the given radius of the point on Earth.
Syntax
geo_point_buffer(
longitude,
latitude,
radius,
tolerance)
Learn more about syntax conventions.
Parameters
Name | Type | Required | Description |
---|---|---|---|
longitude | real |
✔️ | Geospatial coordinate longitude value in degrees. Valid value is a real number and in the range [-180, +180]. |
latitude | real |
✔️ | Geospatial coordinate latitude value in degrees. Valid value is a real number and in the range [-90, +90]. |
radius | real |
✔️ | Buffer radius in meters. Valid value must be positive. |
tolerance | real |
Defines the tolerance in meters that determines how much a polygon can deviate from the ideal radius. If unspecified, the default value 10 is used. Tolerance should be no lower than 0.0001% of the radius. Specifying tolerance bigger than radius lowers the tolerance to biggest possible value below the radius. |
Returns
Polygon around the input point. If the coordinates or radius or tolerance is invalid, the query produces a null result.
Note
- The geospatial coordinates are interpreted as represented by the WGS-84 coordinate reference system.
- The geodetic datum used to measure distance on Earth is a sphere.
Examples
The following query calculates polygon around [-115.1745008278, 36.1497251277] coordinates, with 20km radius.
print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
buffer |
---|
{"type": "Polygon","coordinates": [ ... ]} |
The following query calculates buffer around each point and unifies result
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": [ ... ]} |
The following example returns true, due to invalid point.
print result = isnull(geo_point_buffer(200, 1,0.1))
result |
---|
True |
The following example returns true, due to invalid radius.
print result = isnull(geo_point_buffer(10, 10, -1))
result |
---|
True |