swagger: '2.0'
info:
version: 2020-08-01-preview
title: Microsoft Azure AccessControlClient AccessConnector Spatial API
schemes:
- https
tags:
- name: Spatial
paths:
/spatial/geofence/{format}:
get:
x-publish: true
description: "**Search Geofence Get API**
**Applies to:** S1 Pricing tier.
The Geofence Get API allows you to retrieve the proximity of a coordinate to a
geofence that has been uploaded to the Data service. You can use the
[Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) to upload
a geofence or set of fences. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson)
for more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well
as the ID for the fence or set of fences, and the response will contain information about
the distance from the outer edge of the geofence. A negative value signifies that the
coordinate is inside of the fence while a positive value means that it is outside of the
fence.This API can be used for a variety of scenarios that include things like asset
tracking, fleet management, or setting up alerts for moving objects.
The API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).
To test this API, you can upload the sample data from Post Geofence API examples (Request Body) via Data Upload API and replace the `{udid}` from the sample request below with the udid returned by Data Upload API.
### Geofencing InnerError code
In geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.
innererror.code | error.message
---------------------------- | --------------------------------------
NullDeviceId | Device Id should not be null.
NullUdid\t | Udid should not be null.
UdidWrongFormat| Udid should be acquired from user data ingestion API.
InvalidUserTime| Usertime is invalid.
InvalidSearchBuffer| Searchbuffer is invalid.
InvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.
InvalidLatLon| Lat and/or lon parameters are invalid.
InvalidIsAsyncValue| The IsAsync parameter is invalid.
InvalidModeValue| The mode parameter invalid.
InvalidJson| Geofencing data is not a valid json file.
NotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.
InvalidGeoJson| Geofencing data is invalid.
NoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.
NoUserDataWithUdid|\tCan't find user geofencing data with provided udId."
operationId: microsoftAzureSpatialGetgeofence
x-ms-examples:
Geofence:
$ref: ./examples/GetGeofence.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: deviceId
in: query
description: ID of the device
required: true
type: string
- name: udId
in: query
description: The unique id returned from [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) after uploading a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.
required: true
type: string
- name: lat
in: query
description: 'The latitude of the location being passed. Example: 48.36.'
required: true
type: number
- name: lon
in: query
description: 'The longitude of the location being passed. Example: -124.63.'
required: true
type: number
- name: z
in: query
description: 'The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion is used. Example: 200.'
required: false
type: number
- name: userTime
in: query
description: The user request time. If not presented in the request, the default value is DateTime.Now.
required: false
type: string
- name: searchBuffer
in: query
description: The radius of the buffer around the geofence in meters that defines how far to search inside and outside the border of the fence against the coordinate that was provided when calculating the result. The minimum value is 0, and the maximum is 500. The default value is 50.
required: false
type: number
minimum: 0
maximum: 500
default: 50
- name: isAsync
in: query
description: If true, the request will use async event mechanism; if false, the request will be synchronized and do not trigger any event. The default value is false.
required: false
type: boolean
default: false
- $ref: '#/parameters/Mode'
produces:
- application/json
responses:
'200':
description: OK The X-Correlation-id header value is present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.
headers:
X-Correlation-id:
description: Value present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.
type: string
schema:
$ref: '#/definitions/GeofenceResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Spatial Geofence Format
tags:
- Spatial
post:
x-publish: true
description: '**Search Geofence Post API**
**Applies to:** S1 Pricing tier.
The Geofence Post API allows you to retrieve the proximity of a coordinate to a provided geofence or set of fences. With POST call, you do not have to upload the fence data in advance, instead you supply the location of the object you are tracking in query parameters as well as the fence or set of fences data in post request body. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson) for more details on the geofence data format. The response will contain information about the distance from the outer edge of the geofence. A negative value signifies that the coordinate is inside of the fence while a positive value means that it is outside of the fence.This API can be used for a variety of scenarios that include things like asset tracking, fleet management, or setting up alerts for moving objects.
The API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).'
operationId: microsoftAzureSpatialPostgeofence
x-ms-examples:
Geofence:
$ref: ./examples/PostGeofence.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: deviceId
in: query
description: ID of the device
required: true
type: string
- name: lat
in: query
description: 'The latitude of the location being passed. Example: 48.36.'
required: true
type: number
- name: lon
in: query
description: 'The longitude of the location being passed. Example: -124.63.'
required: true
type: number
- name: z
in: query
description: 'The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion geofencing is applied. Example: 200.'
required: false
type: number
- name: userTime
in: query
description: The user request time. If not presented in the request, the default value is DateTime.UtcNow.
required: false
type: string
- name: searchBuffer
in: query
description: The radius of the buffer around the geofence in meters that defines how far to search inside and outside the border of the fence against the coordinate that was provided when calculating the result. The minimum value is 0, and the maximum is 500. The default value is 50.
required: false
type: number
minimum: 0
maximum: 500
default: 50
- name: isAsync
in: query
description: If true, the request will use async event mechanism; if false, the request will be synchronized and do not trigger any event. The default value is false.
required: false
type: boolean
default: false
- $ref: '#/parameters/Mode'
- name: searchGeofenceRequestBody
in: body
description: The geofencing GeoJSON data.
required: true
schema:
$ref: '#/definitions/GeoJSONFeatureCollection'
produces:
- application/json
responses:
'200':
description: OK The X-Correlation-id header value is present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.
headers:
X-Correlation-id:
description: Value present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.
type: string
schema:
$ref: '#/definitions/GeofenceResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Post Spatial Geofence Format
tags:
- Spatial
/spatial/buffer/{format}:
post:
x-publish: true
description: '**Applies to**: S1 pricing tier.
This API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided.'
operationId: microsoftAzureSpatialPostbuffer
x-ms-examples:
PostBuffer:
$ref: ./examples/PostBuffer.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: bufferRequestBody
in: body
description: The FeatureCollection and the list of distances (one per feature or one for all features).
required: true
schema:
$ref: '#/definitions/BufferRequestBody'
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/BufferResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Post Spatial Buffer Format
tags:
- Spatial
get:
x-publish: true
description: '**Applies to**: S1 pricing tier.
This API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided.
To test this API, you can upload the sample data from [Post Buffer API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postbuffer#examples) examples (Request Body without distances array) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getbuffer#examples) with the udid returned by Data Upload API.'
operationId: microsoftAzureSpatialGetbuffer
x-ms-examples:
GetBuffer:
$ref: ./examples/GetBuffer.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- $ref: '#/parameters/UdidSpatial'
- name: distances
in: query
description: The list of distances (one per feature or one for all features), delimited by semicolons. For example, 12.34;-56.78. Positive distance will generate a buffer outside of the feature, whereas negative distance will generate a buffer inside of the feature. If the negative distance larger than the geometry itself, an empty polygon will be returned.
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/BufferResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Spatial Buffer Format
tags:
- Spatial
/spatial/closestPoint/{format}:
post:
x-publish: true
description: '**Applies to**: S1 pricing tier.
This API returns the closest point between a base point and a given set of target points. The set of target points is provided by user data in post request body. The user data may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The algorithm does not take into account routing or traffic. The maximum number of points accepted is 100,000. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.'
operationId: microsoftAzureSpatialPostclosestpoint
x-ms-examples:
PostClosestPoint:
$ref: ./examples/PostClosestPoint.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: lat
in: query
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
type: number
- name: lon
in: query
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
type: number
- name: numberOfClosestPoints
in: query
description: 'The number of closest points expected from response. Default: 1, minimum: 1 and maximum: 50'
required: false
type: integer
- name: closestPointRequestBody
in: body
description: The FeatureCollection of Point geometries from which closest point to source point should be determined. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.
required: true
schema:
$ref: '#/definitions/GeoJSONFeatureCollection'
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/PostClosestPointResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Post Spatial Closestpoint Format
tags:
- Spatial
get:
x-publish: true
description: '**Applies to**: S1 pricing tier.
This API returns the closest point between a base point and a given set of points in the user uploaded data set identified by udid. The set of target points is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.
To test this API, you can upload the sample data from [Post Closest Point API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postclosestpoint#examples) examples (Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getclosestpoint#examples) with the udid returned by Data Upload API.'
operationId: microsoftAzureSpatialGetclosestpoint
x-ms-examples:
GetClosestPoint:
$ref: ./examples/GetClosestPoint.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- $ref: '#/parameters/UdidSpatial'
- name: lat
in: query
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
type: number
- name: lon
in: query
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
type: number
- name: numberOfClosestPoints
in: query
description: 'The number of closest points expected from response. Default: 1, minimum: 1 and maximum: 50'
required: false
type: integer
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/GetClosestPointResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Spatial Closestpoint Format
tags:
- Spatial
/spatial/pointInPolygon/{format}:
post:
x-publish: true
description: '**Applies to**: S1 pricing tier.
This API returns a boolean value indicating whether a point is inside a set of polygons. The user data may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries (referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.'
operationId: microsoftAzureSpatialPostpointinpolygon
x-ms-examples:
PostPointInPolygon:
$ref: ./examples/PostPointInPolygon.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: lat
in: query
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
type: number
- name: lon
in: query
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
type: number
- name: pointInPolygonRequestBody
in: body
description: A FeatureCollection with a set of Polygon/MultiPolygon geometries. The maximum number of vertices accepted to form a Polygon is 10,000. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.
required: true
schema:
$ref: '#/definitions/GeoJSONFeatureCollection'
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/PostPointInPolygonResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Post Spatial Pointinpolygon Format
tags:
- Spatial
get:
x-publish: true
description: '**Applies to**: S1 pricing tier.
This API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.
To test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postpointinpolygon#examples) examples (Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.'
operationId: microsoftAzureSpatialGetpointinpolygon
x-ms-examples:
GetPointInPolygon:
$ref: ./examples/GetPointInPolygon.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- $ref: '#/parameters/UdidSpatial'
- name: lat
in: query
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
type: number
- name: lon
in: query
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
type: number
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/GetPointInPolygonResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Spatial Pointinpolygon Format
tags:
- Spatial
/spatial/greatCircleDistance/{format}:
get:
x-publish: true
description: '**Applies to**: S1 pricing tier.
This API will return the great-circle or shortest distance between two points on the surface of a sphere, measured along the surface of the sphere. This differs from calculating a straight line through the sphere''s interior. This method is helpful for estimating travel distances for airplanes by calculating the shortest distance between airports.'
operationId: microsoftAzureSpatialGetgreatcircledistance
x-ms-examples:
GetGreatCircleDistance:
$ref: ./examples/GetGreatCircleDistance.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: query
in: query
description: The Coordinates through which the distance is calculated, delimited by a colon. Two coordinates are required. The first one is the source point coordinate and the last is the target point coordinate. For example, 47.622942,122.316456:57.673988,127.121513
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/GreatCircleDistanceResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Spatial Greatcircledistance Format
tags:
- Spatial
definitions:
GetClosestPointSummary:
description: Get Closest Point Summary object
type: object
readOnly: true
properties:
sourcePoint:
$ref: '#/definitions/SpatialCoordinate'
udid:
description: A unique data id (udid) for the uploaded content
type: string
readOnly: true
information:
description: Processing information
type: string
readOnly: true
GeofenceGeometry:
description: The geofencing geometry.
type: object
readOnly: true
properties:
deviceId:
description: ID of the device.
type: string
readOnly: true
udId:
description: The unique id returned from [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) after uploading a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.
type: string
readOnly: true
geometryId:
description: The unique id identifies a geometry.
type: string
readOnly: true
distance:
description: Distance from the coordinate to the closest border of the geofence. Positive means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, but more than the value of searchBuffer away from the closest geofence border, then the value is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest geofencing border, then the value is -999. A value of 999 means that there is great confidence the coordinate is well outside the geofence. A value of -999 means that there is great confidence the coordinate is well within the geofence.
type: number
readOnly: true
nearestLat:
description: Latitude of the nearest point of the geometry.
type: number
readOnly: true
nearestLon:
description: Longitude of the nearest point of the geometry.
type: number
readOnly: true
nearestZ:
description: Sea level in meter of the nearest point on the 2D extrusion geometry. This will only be presented in response when value is provided for 'zInMeter' in the request.
type: number
readOnly: true
GetClosestPointResponse:
description: This object is returned from a successful Get Spatial Closest Point call
type: object
properties:
summary:
$ref: '#/definitions/GetClosestPointSummary'
result:
$ref: '#/definitions/ClosestPointResult'
BufferRequestBody:
description: An object with a FeatureCollection and a list of distances. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.
type: object
properties:
geometries:
$ref: '#/definitions/GeoJSONFeatureCollection'
distances:
description: List of the distances to compute the buffer for, one-to-one per Feature in the collection, or one for all Features in the collection.
type: array
items:
type: number
SpatialCoordinate:
description: A location represented as a latitude and longitude
type: object
properties:
lat:
description: Latitude property
type: number
format: double
readOnly: true
lon:
description: Longitude property
type: number
format: double
readOnly: true
PostPointInPolygonResponse:
description: Returns true if point is within the polygon, false otherwise
type: object
properties:
summary:
$ref: '#/definitions/PostPointInPolygonSummary'
result:
$ref: '#/definitions/PointInPolygonResult'
GeoJSONGeometry:
description: A valid `GeoJSON` geometry object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1) for details.
type: object
discriminator: type
required:
- type
properties:
type:
description: Specifies the `GeoJSON` geometry type. Must be one of the seven valid GeoJSON geometry types - Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon and GeometryCollection.
type: string
enum:
- Point
- MultiPoint
- LineString
- MultiLineString
- Polygon
- MultiPolygon
- GeometryCollection
x-ms-enum:
name: GeoJSONGeometryType
modelAsString: true
values:
- value: Point
description: '`GeoJSON Point` geometry.'
- value: MultiPoint
description: '`GeoJSON MultiPoint` geometry.'
- value: LineString
description: '`GeoJSON LineString` geometry.'
- value: MultiLineString
description: '`GeoJSON MultiLineString` geometry.'
- value: Polygon
description: '`GeoJSON Polygon` geometry.'
- value: MultiPolygon
description: '`GeoJSON MultiPolygon` geometry.'
- value: GeometryCollection
description: '`GeoJSON GeometryCollection` geometry.'
GeometryId:
description: The Spatial geometry
type: string
readOnly: true
PostClosestPointSummary:
description: Post Closest Point Summary object
type: object
readOnly: true
properties:
sourcePoint:
$ref: '#/definitions/SpatialCoordinate'
udid:
description: A unique data id (udid) for the uploaded content. Udid is not applicable for POST spatial operations(set to null)
type: string
readOnly: true
information:
description: Processing information
type: string
readOnly: true
PointInPolygonResult:
description: Point In Polygon Result Object
type: object
properties:
pointInPolygons:
description: Point In Polygons Property
type: boolean
readOnly: true
intersectingGeometries:
description: Geometries array
type: array
readOnly: true
items:
$ref: '#/definitions/GeometryId'
GreatCircleDistanceResponse:
description: This object is returned from a successful Great Circle Distance call
type: object
properties:
summary:
description: Summary object
type: object
readOnly: true
properties:
sourcePoint:
$ref: '#/definitions/SpatialCoordinate'
targetPoint:
$ref: '#/definitions/SpatialCoordinate'
result:
description: Result Object
type: object
readOnly: true
properties:
distanceInMeters:
description: The great circle distance in meters from the source point to the target point
type: number
readOnly: true
ODataErrorResponse:
type: object
description: This response object is returned when an error occurs in the Azure Maps API.
properties:
error:
$ref: '#/definitions/ODataError'
GetPointInPolygonResponse:
description: Returns true if point is within the polygon, false otherwise
type: object
properties:
summary:
$ref: '#/definitions/GetPointInPolygonSummary'
result:
$ref: '#/definitions/PointInPolygonResult'
GeofenceResponse:
description: This object is returned from a geofence proximity call.
type: object
properties:
geometries:
description: Lists the fence geometries that contain the coordinate position or overlap the searchBuffer around the position.
type: array
readOnly: true
items:
$ref: '#/definitions/GeofenceGeometry'
expiredGeofenceGeometryId:
description: Lists of the geometry ID of the geofence which is expired relative to the user time in the request.
type: array
readOnly: true
items:
type: string
invalidPeriodGeofenceGeometryId:
description: Lists of the geometry ID of the geofence which is in invalid period relative to the user time in the request.
type: array
readOnly: true
items:
type: string
isEventPublished:
description: True if at least one event is published to the Azure Maps event subscriber, false if no event is published to the Azure Maps event subscriber. This will only be presented in response when 'isAsync' query parameter is set to true.
type: boolean
readOnly: true
PostPointInPolygonSummary:
description: Point In Polygon Summary object
type: object
readOnly: true
properties:
sourcePoint:
$ref: '#/definitions/SpatialCoordinate'
udid:
description: A unique data id (udid) for the uploaded content. Udid is not applicable for POST spatial operations(set to null)
type: string
readOnly: true
information:
description: Processing information
type: string
readOnly: true
GeoJSONFeatureCollection:
description: A valid `GeoJSON FeatureCollection` object type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details.
type: object
properties:
type:
description: Specifies the `type` for the object. Value should always be equal to "FeatureCollection".
type: string
features:
description: Contains a list of valid `GeoJSON Feature` objects.
type: array
items:
description: A valid `GeoJSON Feature` object type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.2) for details.
type: object
properties:
type:
description: Specifies the `type` for the object. Value should always be equal to "Feature".
type: string
geometry:
$ref: '#/definitions/GeoJSONGeometry'
properties:
x-ms-client-flatten: true
description: Properties can contain any additional metadata about the `Feature`. Value can be any JSON object or a JSON null value
type: object
required:
- features
- type
BufferResponse:
description: This object is returned from a successful Spatial Buffer call.
type: object
properties:
summary:
description: Summary of the call.
type: object
readOnly: true
properties:
udid:
description: The udid for the user data if one exists
type: string
readOnly: true
information:
description: The information about what happened during the call.
type: string
readOnly: true
result:
description: The FeatureCollection of buffers for the input.
$ref: '#/definitions/GeoJSONFeatureCollection'
ClosestPointResultEntry:
description: Closest Point Result Entry Object
type: object
readOnly: true
properties:
distanceInMeters:
description: The distance in meters from the source point to the closest point
type: number
readOnly: true
position:
$ref: '#/definitions/SpatialCoordinate'
geometryId:
description: The unique id identifies a geometry
type: string
readOnly: true
GetPointInPolygonSummary:
description: Point In Polygon Summary object
type: object
readOnly: true
properties:
sourcePoint:
$ref: '#/definitions/SpatialCoordinate'
udid:
description: A unique data id (udid) for the uploaded content
type: string
readOnly: true
information:
description: Processing information
type: string
readOnly: true
ClosestPointResult:
description: Closest Point Result Array
type: array
items:
$ref: '#/definitions/ClosestPointResultEntry'
ODataError:
type: object
description: This object is returned when an error occurs in the Azure Maps API.
properties:
code:
type: string
readOnly: true
description: The ODataError code.
message:
type: string
readOnly: true
description: If available, a human-readable description of the error.
details:
type: array
items:
$ref: '#/definitions/ODataError'
target:
type: string
readOnly: true
description: If available, the target causing the error.
PostClosestPointResponse:
description: This object is returned from a successful Post Spatial Closest Point call
type: object
properties:
summary:
$ref: '#/definitions/PostClosestPointSummary'
result:
$ref: '#/definitions/ClosestPointResult'
parameters:
SubscriptionKey:
name: subscription-key
description: One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.
type: string
in: query
required: false
x-ms-parameter-location: client
JsonFormat:
name: format
description: Desired format of the response. Only `json` format is supported.
type: string
in: path
required: true
enum:
- json
x-ms-enum:
name: JsonFormat
modelAsString: true
values:
- value: json
description: '[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)'
x-ms-parameter-location: method
ApiVersion:
name: api-version
description: Version number of Azure Maps API. Current version is 1.0
type: string
in: query
required: true
default: '1.0'
x-ms-parameter-location: client
ClientId:
name: x-ms-client-id
description: Specifies which account is intended for usage in conjunction with the Microsoft Entra ID security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Microsoft Entra ID security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
type: string
in: header
required: false
x-ms-parameter-location: client
Mode:
name: mode
in: query
description: Mode of the geofencing async event mechanism.
required: false
type: string
enum:
- All
- EnterAndExit
x-ms-enum:
name: GeofenceMode
modelAsString: true
values:
- value: All
description: Publish all the query results to Azure Maps account event subscription.
- value: EnterAndExit
description: Only publish result when user location is considered as crossing geofencing boarder.
x-ms-parameter-location: method
UdidSpatial:
name: udid
in: query
description: The unique id returned from [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) after uploading a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.
required: true
type: string
x-ms-parameter-location: method
responses:
'500':
description: An error occurred while processing the request. Please try again later.
schema:
$ref: '#/definitions/ODataErrorResponse'
'404':
description: 'Not Found: the requested resource could not be found, but it may be available again in the future.'
schema:
$ref: '#/definitions/ODataErrorResponse'
'401':
description: Access denied due to invalid subscription key or invalid Microsoft Entra ID bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Microsoft Entra ID bearer token.
schema:
$ref: '#/definitions/ODataErrorResponse'
headers:
WWW-Authenticate:
type: string
description: Bearer realm="https://atlas.microsoft.com/", error="invalid_token", error_description="The access token expired"
'400':
description: 'Bad request: one or more parameters were incorrectly specified or are mutually exclusive.'
schema:
$ref: '#/definitions/ODataErrorResponse'
'403':
description: Permission, capacity, or authentication issues.
schema:
$ref: '#/definitions/ODataErrorResponse'
x-ms-parameterized-host:
hostTemplate: '{endpoint}'
useSchemePrefix: false
parameters:
- $ref: '#/parameters/Endpoint'