Spatial - Post Geofence
Använd för att hämta närhet till en koordinat till en geofence.
API:et Post Geofence
är en HTTP-begäran POST
som hämtar närheten till en koordinat till en angivet geofence eller en uppsättning staket. Med POST
begäranden behöver du inte ladda upp stängseldata i förväg, utan du anger i stället platsen för objektet som du spårar i frågeparametrar samt staket eller uppsättning av staketdata i brödtexten efter begäran. Mer information om geofence-dataformatet finns i Geofencing GeoJSON-data. Svaret innehåller information om avståndet från geofencens yttre kant. Ett negativt värde betyder att koordinaten är inuti stängslet medan ett positivt värde innebär att den ligger utanför stängslet.
Det här API:et kan användas för en mängd olika scenarier som till exempel tillgångsspårning, hantering av vagnpark eller konfiguration av aviseringar för att flytta objekt.
API:et stöder integrering med Event Grid. Parametern isAsync används för att aktivera integrering med Event Grid (inaktiverat som standard).
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-parametrar
Name | I | Obligatorisk | Typ | Description |
---|---|---|---|---|
format
|
path | True |
Önskat format för svaret. Endast |
|
geography
|
path | True |
string |
Platsen för Azure Maps-kontot. Giltiga värden är oss (USA, östra; USA, västra centrala, USA, västra 2) och eu (Europa, norra; Europa, västra). Den här parametern krävs när en |
api-version
|
query | True |
string |
Versionsnummer för Azure Maps API. |
device
|
query | True |
string |
Enhetens ID |
lat
|
query | True |
number |
Latitud för den plats som skickas. Exempel: 48.36. |
lon
|
query | True |
number |
Longitud för den plats som skickas. Exempel: -124.63. |
is
|
query |
boolean |
Om det är sant använder begäran en asynkron händelsemekanism. om det är falskt synkroniseras begäran och utlöser inte någon händelse. Standardvärdet är false. |
|
mode
|
query |
Läge för mekanismen för geofencing-asynkron händelse. |
||
search
|
query |
number |
Radien för bufferten runt geofence i meter som definierar hur långt man ska söka inom och utanför stängslets kant mot koordinaten som angavs vid beräkningen av resultatet. Det minsta värdet är 0 och det högsta värdet är 500. Standardvärdet är 50. |
|
user
|
query |
string date-time |
Tid för användarbegäran. Om det inte visas i begäran är standardvärdet DateTime.UtcNow. |
|
z
|
query |
number |
Havsnivån i mätaren på den plats som passerar. Om den här parametern visas tillämpas 2D-extrusion geofencing. Exempel: 200. |
Begärandehuvud
Name | Obligatorisk | Typ | Description |
---|---|---|---|
x-ms-client-id |
string |
Anger vilket konto som är avsett för användning tillsammans med Microsoft Entra ID-säkerhetsmodellen. Den representerar ett unikt ID för Azure Maps-kontot och kan hämtas från Konto-API:et för Azure Maps-hanteringsplan. Information om hur du använder Microsoft Entra ID-säkerhet i Azure Maps finns i följande artiklar . |
Begärandetext
Name | Obligatorisk | Typ | Description |
---|---|---|---|
features | True |
Innehåller en lista över giltiga |
|
type | True |
string:
Feature |
Anger |
Svar
Name | Typ | Description |
---|---|---|
200 OK |
OK Huvudvärdet X-Correlation-id finns i ett asynkront anrops svar och Event Grid-händelsedata. Det hjälper till att korrelera asynkront anropets svar med motsvarande Event Grid-händelse. Sidhuvuden X-Correlation-id: string |
|
Other Status Codes |
Det uppstod ett oväntat fel. |
Säkerhet
AADToken
Det här är Microsoft Entra OAuth 2.0-flöden . När den är kopplad till rollbaserad åtkomstkontroll i Azure kan den användas för att styra åtkomsten till REST-API:er för Azure Maps. Rollbaserade åtkomstkontroller i Azure används för att ange åtkomst till ett eller flera Azure Maps-resurskonton eller underresurser. Alla användare, grupper eller tjänstens huvudnamn kan beviljas åtkomst via en inbyggd roll eller en anpassad roll som består av en eller flera behörigheter till Rest-API:er för Azure Maps.
För att implementera scenarier rekommenderar vi att du visar autentiseringsbegrepp. Sammanfattningsvis tillhandahåller den här säkerhetsdefinitionen en lösning för modellering av program via objekt som kan få åtkomstkontroll för specifika API:er och omfång.
Kommentarer
- Den här säkerhetsdefinitionen
x-ms-client-id
kräver att huvudet används för att ange vilken Azure Maps-resurs programmet begär åtkomst till. Detta kan hämtas från Maps Management-API:et.
Authorization URL
är specifikt för den offentliga Azure-molninstansen. Nationella moln har unika auktoriserings-URL:er och Microsoft Entra ID-konfigurationer.
* Den rollbaserade åtkomstkontrollen i Azure konfigureras från Azure-hanteringsplanet via Azure-portalen, PowerShell, CLI, Azure SDK:er eller REST-API:er.
* Användning av Webb-SDK för Azure Maps möjliggör konfigurationsbaserad konfiguration av ett program för flera användningsfall.
- Mer information om Microsofts identitetsplattform finns i Översikt över Microsofts identitetsplattform.
Typ:
oauth2
Flow:
implicit
Auktoriseringswebbadress:
https://login.microsoftonline.com/common/oauth2/authorize
Omfattningar
Name | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Det här är en delad nyckel som etableras när du skapar en Azure Maps-resurs via Azure-hanteringsplanet via Azure-portalen, PowerShell, CLI, Azure SDK:er eller REST-API:er.
Med den här nyckeln har alla program behörighet att komma åt alla REST-API:er. Med andra ord kan dessa för närvarande behandlas som huvudnycklar till det konto som de har utfärdats för.
För offentligt exponerade program rekommenderar vi att du använder server-till-server-åtkomst till Azure Maps REST-API:er där den här nyckeln kan lagras på ett säkert sätt.
Typ:
apiKey
I:
header
SAS Token
Det här är en signaturtoken för delad åtkomst som skapas från åtgärden Lista SAS på Azure Maps-resursen via Azure-hanteringsplanet via Azure-portalen, PowerShell, CLI, Azure SDK:er eller REST-API:er.
Med den här token har alla program behörighet att komma åt med rollbaserade Åtkomstkontroller i Azure och detaljerad kontroll av förfallodatum, frekvens och region för användning för den specifika token. Med andra ord kan SAS-token användas för att tillåta program att styra åtkomsten på ett mer säkert sätt än den delade nyckeln.
För offentligt exponerade program rekommenderar vi att du konfigurerar en specifik lista över tillåtna ursprung på map-kontoresursen för att begränsa återgivningsmissbruk och regelbundet förnya SAS-token.
Typ:
apiKey
I:
header
Exempel
PostGeofence
Exempelbegäran
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"
}
}
]
}
Exempelsvar
{
"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
}
Definitioner
Name | Description |
---|---|
Error |
Ytterligare information om resurshanteringsfelet. |
Error |
Felinformationen. |
Error |
Felsvar |
Geofence |
Det här objektet returneras från ett geofence-närhetsanrop. |
Geofence |
Geofencinggeometrin. |
Geofence |
Läge för mekanismen för geofencing-asynkron händelse. |
Geo |
En giltig |
Geo |
En giltig |
Geo |
Ett giltigt |
Geo |
En giltig |
Geo |
En giltig |
Geo |
En giltig |
Geo |
En giltig |
Geo |
En giltig |
Geo |
En giltig |
Geo |
En giltig |
Json |
Önskat format för svaret. Endast |
ErrorAdditionalInfo
Ytterligare information om resurshanteringsfelet.
Name | Typ | Description |
---|---|---|
info |
object |
Den ytterligare informationen. |
type |
string |
Ytterligare informationstyp. |
ErrorDetail
Felinformationen.
Name | Typ | Description |
---|---|---|
additionalInfo |
Ytterligare information om felet. |
|
code |
string |
Felkoden. |
details |
Felinformationen. |
|
message |
string |
Felmeddelandet. |
target |
string |
Felmålet. |
ErrorResponse
Felsvar
Name | Typ | Description |
---|---|---|
error |
Felobjektet. |
Geofence
Det här objektet returneras från ett geofence-närhetsanrop.
Name | Typ | Description |
---|---|---|
expiredGeofenceGeometryId |
string[] |
Visar en lista över geometri-ID:t för geofence som har upphört att gälla i förhållande till användarens tid i begäran. |
geometries |
Visar en lista över stängselgeometrier som innehåller koordinatpositionen eller överlappar searchBuffer runt positionen. |
|
invalidPeriodGeofenceGeometryId |
string[] |
Visar en lista över geometri-ID:t för geofence som är i en ogiltig period i förhållande till användarens tid i begäran. |
isEventPublished |
boolean |
Sant om minst en händelse publiceras till Azure Maps-händelseprenumeranten, falskt om ingen händelse publiceras till Azure Maps-händelseprenumeranten. Detta visas bara som svar när frågeparametern isAsync är inställd på true. |
GeofenceGeometry
Geofencinggeometrin.
Name | Typ | Description |
---|---|---|
deviceId |
string |
Enhetens ID. |
distance |
number |
Avstånd från koordinaten till geofencens närmaste kantlinje (i meter utom när särskilda värden -999/999 används). Positivt innebär att koordinaten ligger utanför geofence-området. Om koordinaten ligger utanför geofence-värdet, men mer än värdet för searchBuffer bort från närmaste geofence-kantlinje, är värdet 999. Negativt innebär att koordinaten är inuti geofencen. Om koordinaten finns inuti polygonen, men mer än värdet för searchBuffer bort från närmaste geofencing-kantlinje, är värdet -999. Värdet 999 innebär att koordinaten är mycket säker på att den ligger långt utanför geofence-området. Värdet -999 innebär att koordinaten är mycket säker på att den ligger väl inom geofence-området. |
geometryId |
string |
Det unika ID:t identifierar en geometri. |
nearestLat |
number |
Latitud för den närmaste punkten i geometrin. |
nearestLon |
number |
Longitud för den närmaste punkten i geometrin. |
nearestZ |
number |
Havsnivå i mätare för närmaste punkt på 2D-extruderingsgeometrin. Detta visas endast som svar när värdet anges för "zInMeter" i begäran. |
udId |
string |
Det unika ID som används när du skapar ett dataregister för att ladda upp ett giltigt GeoJSON FeatureCollection-objekt. Mer information finns i RFC 7946 . Alla egenskaper för funktionen ska innehålla |
GeofenceMode
Läge för mekanismen för geofencing-asynkron händelse.
Name | Typ | Description |
---|---|---|
All |
string |
Publicera alla frågeresultat till händelseprenumerationen för Azure Maps-kontot. |
EnterAndExit |
string |
Publicera endast resultat när användarens plats anses korsa geofencing boarder. |
GeoJsonFeature
En giltig GeoJSON Feature
objekttyp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
featureType |
string |
Funktionens typ. Värdet beror på vilken datamodell som den aktuella funktionen ingår i. Vissa datamodeller kan ha ett tomt värde. |
geometry | GeoJsonGeometry: |
Ett giltigt |
id |
string |
Identifierare för funktionen. |
type |
string:
Feature |
Anger |
GeoJsonFeatureCollection
En giltig GeoJSON FeatureCollection
objekttyp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
features |
Innehåller en lista över giltiga |
|
type |
string:
Feature |
Anger |
GeoJsonGeometry
Ett giltigt GeoJSON
geometriobjekt. Typen måste vara en av de sju giltiga GeoJSON-geometrityperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon och GeometryCollection. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
type |
Geo |
Anger |
GeoJsonGeometryCollection
En giltig GeoJSON GeometryCollection
objekttyp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
geometries | GeoJsonGeometry[]: |
Innehåller en lista över giltiga |
type |
string:
Geometry |
Anger |
GeoJsonLineString
En giltig GeoJSON LineString
geometrityp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Koordinater för |
type |
string:
Line |
Anger |
GeoJsonMultiLineString
En giltig GeoJSON MultiLineString
geometrityp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Koordinater för |
type |
string:
Multi |
Anger |
GeoJsonMultiPoint
En giltig GeoJSON MultiPoint
geometrityp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Koordinater för |
type |
string:
Multi |
Anger |
GeoJsonMultiPolygon
En giltig GeoJSON MultiPolygon
objekttyp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Innehåller en lista över giltiga |
type |
string:
Multi |
Anger |
GeoJsonPoint
En giltig GeoJSON Point
geometrityp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
A |
type |
string:
Point |
Anger |
GeoJsonPolygon
En giltig GeoJSON Polygon
geometrityp. Mer information finns i RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Koordinater för |
type |
string:
Polygon |
Anger |
JsonFormat
Önskat format för svaret. Endast json
format stöds.
Name | Typ | Description |
---|---|---|
json |
string |