Spatial - Post Geofence
Gebruik om de nabijheid van een coördinaat tot een geofence te krijgen.
De Post Geofence
API is een HTTP-aanvraag POST
waarmee de nabijheid van een coördinaat tot een opgegeven geofence of set omheiningen wordt opgehaald. Met POST
aanvragen hoeft u de omheiningsgegevens niet van tevoren te uploaden, maar geeft u de locatie op van het object dat u bijhoudt in queryparameters, evenals de omheining of set hekkengegevens in de hoofdtekst van de aanvraag. Zie Geofencing GeoJSON-gegevens voor meer informatie over de geofence-gegevensindeling. Het antwoord bevat informatie over de afstand tot de buitenrand van de geofence. Een negatieve waarde geeft aan dat de coördinaat zich binnen de omheining bevindt, terwijl een positieve waarde betekent dat deze zich buiten de omheining bevindt.
Deze API kan worden gebruikt voor verschillende scenario's, waaronder het bijhouden van activa, het beheren van het wagenpark of het instellen van waarschuwingen voor het verplaatsen van objecten.
De API ondersteunt integratie met Event Grid. De parameter isAsync wordt gebruikt om integratie met Event Grid in te schakelen (standaard uitgeschakeld).
POST https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&lat={lat}&lon={lon}
POST https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&lat={lat}&lon={lon}&z={z}&userTime={userTime}&searchBuffer={searchBuffer}&isAsync={isAsync}&mode={mode}
URI-parameters
Name | In | Vereist | Type | Description |
---|---|---|---|---|
format
|
path | True |
Gewenste indeling van het antwoord. Alleen |
|
geography
|
path | True |
string |
Locatie van het Azure Maps-account. Geldige waarden zijn us (VS - oost, VS - west-centraal, VS - west 2) en eu (Europa - noord, Europa - west). Deze parameter is vereist wanneer een |
api-version
|
query | True |
string |
Versienummer van Azure Maps-API. |
device
|
query | True |
string |
Id van het apparaat |
lat
|
query | True |
number |
De breedtegraad van de locatie die wordt doorgegeven. Voorbeeld: 48.36. |
lon
|
query | True |
number |
De lengtegraad van de locatie die wordt doorgegeven. Voorbeeld: -124,63. |
is
|
query |
boolean |
Als dit waar is, gebruikt de aanvraag een asynchroon gebeurtenismechanisme; indien onwaar, wordt de aanvraag gesynchroniseerd en wordt er geen gebeurtenis geactiveerd. De standaardwaarde is false. |
|
mode
|
query |
Modus van het geofencing asynchrone gebeurtenismechanisme. |
||
search
|
query |
number |
De straal van de buffer rond de geofence in meters die bepaalt hoe ver binnen en buiten de rand van de omheining moet worden gezocht ten opzichte van de coördinaat die is opgegeven bij het berekenen van het resultaat. De minimumwaarde is 0 en de maximumwaarde is 500. De standaardwaarde is 50. |
|
user
|
query |
string date-time |
De aanvraagtijd van de gebruiker. Als de aanvraag niet wordt weergegeven, is de standaardwaarde DateTime.UtcNow. |
|
z
|
query |
number |
Het zeeniveau in meter van de locatie die wordt doorgegeven. Als deze parameter wordt weergegeven, wordt 2D-extrusie-geofencing toegepast. Voorbeeld: 200. |
Aanvraagkoptekst
Name | Vereist | Type | Description |
---|---|---|---|
x-ms-client-id |
string |
Hiermee geeft u op welk account is bedoeld voor gebruik in combinatie met het Microsoft Entra ID-beveiligingsmodel. Het vertegenwoordigt een unieke id voor het Azure Maps-account en kan worden opgehaald uit de Azure Maps-beheervlak Account-API. Als u Microsoft Entra ID-beveiliging in Azure Maps wilt gebruiken, raadpleegt u de volgende artikelen voor hulp. |
Aanvraagbody
Name | Vereist | Type | Description |
---|---|---|---|
features | True |
Bevat een lijst met geldige |
|
type | True |
string:
Feature |
Hiermee geeft u het |
Antwoorden
Name | Type | Description |
---|---|---|
200 OK |
OK De waarde van de X-Correlation-id-header is aanwezig in het antwoord van een asynchrone aanroep en de Event Grid-gebeurtenisgegevens. Het helpt het antwoord van de asynchrone oproep te correleren met de bijbehorende Event Grid-gebeurtenis. Kopteksten X-Correlation-id: string |
|
Other Status Codes |
Er is een onverwachte fout opgetreden. |
Beveiliging
AADToken
Dit zijn de Microsoft Entra OAuth 2.0-stromen . Wanneer het wordt gekoppeld aan op rollen gebaseerd toegangsbeheer van Azure , kan het worden gebruikt om de toegang tot Azure Maps REST API's te beheren. Op rollen gebaseerd toegangsbeheer van Azure wordt gebruikt om toegang tot een of meer Azure Maps-resourceaccounts of subresources aan te wijzen. Elke gebruiker, groep of service-principal kan toegang krijgen via een ingebouwde rol of een aangepaste rol die bestaat uit een of meer machtigingen voor Azure Maps REST API's.
Als u scenario's wilt implementeren, raden we u aan om verificatieconcepten te bekijken. Samengevat biedt deze beveiligingsdefinitie een oplossing voor het modelleren van toepassingen via objecten die toegangsbeheer kunnen hebben voor specifieke API's en bereiken.
Notities
- Voor deze beveiligingsdefinitie moet de
x-ms-client-id
header worden gebruikt om aan te geven tot welke Azure Maps-resource de toepassing toegang aanvraagt. Dit kan worden verkregen via de Beheer-API van Maps.
De Authorization URL
is specifiek voor het azure-exemplaar van de openbare cloud. Onafhankelijke clouds hebben unieke autorisatie-URL's en Microsoft Entra ID-configuraties.
* Op rollen gebaseerd toegangsbeheer van Azure wordt geconfigureerd vanuit het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.
* Gebruik van de Azure Maps Web SDK maakt configuratie van een toepassing mogelijk voor meerdere use cases.
- Zie Overzicht van Microsoft Identity Platform voor meer informatie over Microsoft Identity Platform.
Type:
oauth2
Stroom:
implicit
Autorisatie-URL:
https://login.microsoftonline.com/common/oauth2/authorize
Bereiken
Name | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Dit is een gedeelde sleutel die wordt ingericht bij het maken van een Azure Maps-resource via het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.
Met deze sleutel wordt elke toepassing gemachtigd voor toegang tot alle REST API's. Met andere woorden, deze kunnen momenteel worden behandeld als hoofdsleutels voor het account waarvoor ze zijn uitgegeven.
Voor openbaar beschikbare toepassingen wordt aanbevolen om server-naar-servertoegang van Azure Maps REST API's te gebruiken, waar deze sleutel veilig kan worden opgeslagen.
Type:
apiKey
In:
header
SAS Token
Dit is een shared access signature-token dat is gemaakt op basis van de SAS-bewerking List op de Azure Maps-resource via het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.
Met dit token is elke toepassing gemachtigd om toegang te krijgen met op rollen gebaseerd toegangsbeheer van Azure en fijnmazige controle over het verloop, de snelheid en de gebruiksregio(s) voor het specifieke token. Met andere woorden, het SAS-token kan worden gebruikt om toepassingen in staat te stellen toegang op een veiligere manier te beheren dan de gedeelde sleutel.
Voor openbaar beschikbaar gemaakte toepassingen wordt aanbevolen om een specifieke lijst met toegestane oorsprongen te configureren op de resource Van het account toewijzen om misbruik van het genereren te beperken en het SAS-token regelmatig te vernieuwen.
Type:
apiKey
In:
header
Voorbeelden
PostGeofence
Voorbeeldaanvraag
POST https://us.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId=unique_device_name_under_account&lat=48.36&lon=-124.63&userTime={userTime}&searchBuffer=50&isAsync=True&mode=EnterAndExit
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.13241226662022,
47.61701140091722
],
[
-122.12810106940353,
47.6169969269402
],
[
-122.12824948956276,
47.61907683751349
],
[
-122.12833297981392,
47.621929787055336
],
[
-122.12971398040168,
47.62184100705295
],
[
-122.1318413862121,
47.62195364373008
],
[
-122.13231034769727,
47.61716332618121
],
[
-122.13241226662022,
47.61701140091722
]
]
]
},
"properties": {
"geometryId": "2",
"name": "Crossroad Mall"
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.1534220563239,
47.60981818546625
],
[
-122.153451623509,
47.60628733146004
],
[
-122.14971782206638,
47.606250040787046
],
[
-122.14817354810637,
47.606391046012305
],
[
-122.1482735128807,
47.60983316796356
],
[
-122.15225500989803,
47.60982613678752
],
[
-122.1534220563239,
47.60981818546625
]
]
]
},
"properties": {
"geometryId": "1",
"name": "Sammamish High school"
}
}
]
}
Voorbeeldrespons
{
"geometries": [
{
"deviceId": "unique_device_name_under_account",
"geometryId": "2",
"distance": -999,
"nearestLat": 47.621954,
"nearestLon": -122.131841
},
{
"deviceId": "unique_device_name_under_account",
"geometryId": "1",
"distance": 999,
"nearestLat": 47.609833,
"nearestLon": -122.148274
}
],
"expiredGeofenceGeometryId": [],
"invalidPeriodGeofenceGeometryId": [],
"isEventPublished": true
}
Definities
Name | Description |
---|---|
Error |
Aanvullende informatie over de resourcebeheerfout. |
Error |
De foutdetails. |
Error |
Foutreactie |
Geofence |
Dit object wordt geretourneerd door een geofence-nabijheidsaanroep. |
Geofence |
De geofencinggeometrie. |
Geofence |
Modus van het asynchrone geofencing-gebeurtenismechanisme. |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Geo |
Een geldig |
Json |
Gewenste indeling van het antwoord. Alleen |
ErrorAdditionalInfo
Aanvullende informatie over de resourcebeheerfout.
Name | Type | Description |
---|---|---|
info |
object |
De aanvullende informatie. |
type |
string |
Het type aanvullende informatie. |
ErrorDetail
De foutdetails.
Name | Type | Description |
---|---|---|
additionalInfo |
Aanvullende informatie over de fout. |
|
code |
string |
De foutcode. |
details |
De foutdetails. |
|
message |
string |
Het foutbericht. |
target |
string |
Het foutdoel. |
ErrorResponse
Foutreactie
Name | Type | Description |
---|---|---|
error |
Het foutobject. |
Geofence
Dit object wordt geretourneerd door een geofence-nabijheidsaanroep.
Name | Type | Description |
---|---|---|
expiredGeofenceGeometryId |
string[] |
Een lijst met de geometrie-id van de geofence die is verlopen ten opzichte van de gebruikerstijd in de aanvraag. |
geometries |
Een lijst met de omheiningsgeometrieën die de coördinaatpositie bevatten of de searchBuffer rond de positie overlappen. |
|
invalidPeriodGeofenceGeometryId |
string[] |
Een lijst met de geometrie-id van de geofence die zich in een ongeldige periode bevindt ten opzichte van de gebruikerstijd in de aanvraag. |
isEventPublished |
boolean |
Waar als ten minste één gebeurtenis is gepubliceerd naar de Azure Maps-gebeurtenisabonnee, onwaar als er geen gebeurtenis is gepubliceerd naar de gebeurtenisabonnee van Azure Maps. Dit wordt alleen weergegeven als antwoord wanneer de queryparameter 'isAsync' is ingesteld op true. |
GeofenceGeometry
De geofencinggeometrie.
Name | Type | Description |
---|---|---|
deviceId |
string |
Id van het apparaat. |
distance |
number |
Afstand van de coördinaat tot de dichtstbijzijnde rand van de geofence (in meters behalve wanneer speciale waarden -999/999 worden gebruikt). Positief betekent dat de coördinaat zich buiten de geofence bevindt. Als de coördinaat zich buiten de geofence bevindt, maar meer dan de waarde van searchBuffer verwijderd van de dichtstbijzijnde geofence-rand, is de waarde 999. Negatief betekent dat de coördinaat zich in de geofence bevindt. Als de coördinaat zich binnen de veelhoek bevindt, maar meer dan de waarde van searchBuffer verwijderd van de dichtstbijzijnde geofencingrand, is de waarde -999. Een waarde van 999 betekent dat er een groot vertrouwen is dat de coördinaat zich ver buiten de geofence bevindt. Een waarde van -999 betekent dat er veel vertrouwen is dat de coördinaat goed binnen de geofence ligt. |
geometryId |
string |
De unieke id identificeert een geometrie. |
nearestLat |
number |
Breedtegraad van het dichtstbijzijnde punt van de geometrie. |
nearestLon |
number |
Lengtegraad van het dichtstbijzijnde punt van de geometrie. |
nearestZ |
number |
Zeeniveau in meter van het dichtstbijzijnde punt op de 2D-extrusiegeometrie. Dit wordt alleen weergegeven als antwoord wanneer er een waarde is opgegeven voor 'zInMeter' in de aanvraag. |
udId |
string |
De unieke id die wordt gebruikt bij het maken van een gegevensregister om een geldig GeoJSON FeatureCollection-object te uploaden. Raadpleeg RFC 7946 voor meer informatie. Alle eigenschappen van de functie moeten bevatten |
GeofenceMode
Modus van het asynchrone geofencing-gebeurtenismechanisme.
Name | Type | Description |
---|---|---|
All |
string |
Publiceer alle queryresultaten naar het gebeurtenisabonnement van het Azure Maps-account. |
EnterAndExit |
string |
Publiceer alleen het resultaat wanneer de gebruikerslocatie wordt beschouwd als het overschrijden van geofencing boarder. |
GeoJsonFeature
Een geldig GeoJSON Feature
objecttype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
featureType |
string |
Het type functie. De waarde is afhankelijk van het gegevensmodel waarvan de huidige functie deel uitmaakt. Sommige gegevensmodellen hebben mogelijk een lege waarde. |
geometry | GeoJsonGeometry: |
Een geldig |
id |
string |
Id voor de functie. |
type |
string:
Feature |
Hiermee geeft u het |
GeoJsonFeatureCollection
Een geldig GeoJSON FeatureCollection
objecttype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
features |
Bevat een lijst met geldige |
|
type |
string:
Feature |
Hiermee geeft u het |
GeoJsonGeometry
Een geldig GeoJSON
geometrieobject. Het type moet een van de zeven geldige GeoJSON-geometrietypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon en GeometryCollection. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
type |
Geo |
Hiermee geeft u het |
GeoJsonGeometryCollection
Een geldig GeoJSON GeometryCollection
objecttype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
geometries | GeoJsonGeometry[]: |
Bevat een lijst met geldige |
type |
string:
Geometry |
Hiermee geeft u het |
GeoJsonLineString
Een geldig GeoJSON LineString
geometrietype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
coordinates |
number[] |
Coördinaten voor de |
type |
string:
Line |
Hiermee geeft u het |
GeoJsonMultiLineString
Een geldig GeoJSON MultiLineString
geometrietype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
coordinates |
number[] |
Coördinaten voor de |
type |
string:
Multi |
Hiermee geeft u het |
GeoJsonMultiPoint
Een geldig GeoJSON MultiPoint
geometrietype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
coordinates |
number[] |
Coördinaten voor de |
type |
string:
Multi |
Hiermee geeft u het |
GeoJsonMultiPolygon
Een geldig GeoJSON MultiPolygon
objecttype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
coordinates |
number[] |
Bevat een lijst met geldige |
type |
string:
Multi |
Hiermee geeft u het |
GeoJsonPoint
Een geldig GeoJSON Point
geometrietype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
coordinates |
number[] |
A |
type |
string:
Point |
Hiermee geeft u het |
GeoJsonPolygon
Een geldig GeoJSON Polygon
geometrietype. Raadpleeg RFC 7946 voor meer informatie.
Name | Type | Description |
---|---|---|
coordinates |
number[] |
Coördinaten voor het |
type |
string:
Polygon |
Hiermee geeft u het |
JsonFormat
Gewenste indeling van het antwoord. Alleen json
de indeling wordt ondersteund.
Name | Type | Description |
---|---|---|
json |
string |