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

JsonFormat

Önskat format för svaret. Endast json format stöds.

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 udid anges i begäran. Om till exempel Azure Maps-kontot finns i USA, östra godkänns endast begäranden till oss geografi.

api-version
query True

string

Versionsnummer för Azure Maps API.

deviceId
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.

isAsync
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

GeofenceMode

Läge för mekanismen för geofencing-asynkron händelse.

searchBuffer
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.

userTime
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äkerhetsmodell. Den representerar ett unikt ID för Azure Maps-kontot och kan hämtas från Azure Maps hanteringsplans konto-API. 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

GeoJsonFeature[]

Innehåller en lista över giltiga GeoJSON Feature objekt.

type True string:

FeatureCollection

Anger GeoJSON typen . Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

Svar

Name Typ Description
200 OK

Geofence

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.

Headers

X-Correlation-id: string

Other Status Codes

ErrorResponse

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 Azure Maps REST-API:er. Rollbaserade åtkomstkontroller i Azure används för att ange åtkomst till en eller flera Azure Maps resurskonto 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 för att Azure Maps REST-API:er.

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-idkräver att huvudet används för att ange vilken Azure Maps resurs som 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 Azure-åtkomstkontrollen konfigureras från Azure-hanteringsplanet via Azure Portal, PowerShell, CLI, Azure SDK:er eller REST-API:er. * Användning av Azure Maps Web SDK möjliggör konfigurationsbaserad konfiguration av ett program för flera användningsfall.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

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 Portal, 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 för Azure Maps REST-API:er där den här nyckeln kan lagras på ett säkert sätt.

Type: apiKey
In: header

SAS Token

Det här är en signaturtoken för delad åtkomst som skapas från åtgärden Lista SAS på den Azure Maps resursen via Azure-hanteringsplanet via Azure Portal, 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.

Type: apiKey
In: header

Exempel

PostGeofence

Sample Request

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"
      }
    }
  ]
}

Sample Response

{
  "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
ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

ErrorDetail

Felinformationen.

ErrorResponse

Felsvar

Geofence

Det här objektet returneras från ett geofence-närhetsanrop.

GeofenceGeometry

Geofencinggeometrin.

GeofenceMode

Läge för händelsemekanismen geofencing async.

GeoJsonFeature

En giltig GeoJSON Feature objekttyp. Mer information finns i RFC 7946 .

GeoJsonFeatureCollection

En giltig GeoJSON FeatureCollection objekttyp. Mer information finns i RFC 7946 .

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 .

GeoJsonGeometryCollection

En giltig GeoJSON GeometryCollection objekttyp. Mer information finns i RFC 7946 .

GeoJsonLineString

En giltig GeoJSON LineString geometrityp. Mer information finns i RFC 7946 .

GeoJsonMultiLineString

En giltig GeoJSON MultiLineString geometrityp. Mer information finns i RFC 7946 .

GeoJsonMultiPoint

En giltig GeoJSON MultiPoint geometrityp. Mer information finns i RFC 7946 .

GeoJsonMultiPolygon

En giltig GeoJSON MultiPolygon objekttyp. Mer information finns i RFC 7946 .

GeoJsonPoint

En giltig GeoJSON Point geometrityp. Mer information finns i RFC 7946 .

GeoJsonPolygon

En giltig GeoJSON Polygon geometrityp. Mer information finns i RFC 7946 .

JsonFormat

Önskat format för svaret. Endast json format stöds.

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

Name Typ Description
info

object

Den ytterligare informationen.

type

string

Ytterligare informationstyp.

ErrorDetail

Felinformationen.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Ytterligare information om felet.

code

string

Felkoden.

details

ErrorDetail[]

Felinformationen.

message

string

Felmeddelandet.

target

string

Felmålet.

ErrorResponse

Felsvar

Name Typ Description
error

ErrorDetail

Felobjektet.

Geofence

Det här objektet returneras från ett geofence-närhetsanrop.

Name Typ Description
expiredGeofenceGeometryId

string[]

Listor av geometri-ID för geofence som har upphört att gälla i förhållande till användarens tid i begäran.

geometries

GeofenceGeometry[]

Listor de stängselgeometrier som innehåller koordinatpositionen eller överlappar searchBuffer runt positionen.

invalidPeriodGeofenceGeometryId

string[]

Listor av geometri-ID 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ändelseprenumerant, falskt om ingen händelse publiceras till Azure Maps händelseprenumerant. 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 specialvärden -999/999 används). Positivt innebär att koordinaten ligger utanför geofencen. Om koordinaten ligger utanför geofence, 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 i 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 geofencen. Värdet -999 innebär att koordinaten är mycket säker på att den ligger väl inom geofence.

geometryId

string

Det unika ID:t identifierar en geometri.

nearestLat

number

Latitud för geometrins närmaste punkt.

nearestLon

number

Longitud för geometrins närmaste punkt.

nearestZ

number

Havsnivå i mätaren för närmaste punkt på 2D-extruderingsgeometrin. Detta visas bara 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 geometryId, som används för att identifiera geometrin och är skiftlägeskänslig. Mer information om dataregistertjänsten finns i Så här skapar du dataregister.

GeofenceMode

Läge för händelsemekanismen geofencing async.

Name Typ Description
All

string

Publicera alla frågeresultat till Azure Maps kontohändelseprenumeration.

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 den aktuella funktionen är en del av. Vissa datamodeller kan ha ett tomt värde.

geometry 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 .

id

string

Identifierare för funktionen.

type string:

Feature

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonFeatureCollection

En giltig GeoJSON FeatureCollection objekttyp. Mer information finns i RFC 7946 .

Name Typ Description
features

GeoJsonFeature[]

Innehåller en lista över giltiga GeoJSON Feature objekt.

type string:

FeatureCollection

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

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

GeoJsonObjectType

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonGeometryCollection

En giltig GeoJSON GeometryCollection objekttyp. Mer information finns i RFC 7946 .

Name Typ Description
geometries GeoJsonGeometry[]:

Innehåller en lista över giltiga GeoJSON geometriobjekt. Observera att koordinaterna i GeoJSON är i x, y-ordning (longitud, latitud).

type string:

GeometryCollection

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonLineString

En giltig GeoJSON LineString geometrityp. Mer information finns i RFC 7946 .

Name Typ Description
coordinates

number[]

Koordinater för geometrin GeoJson LineString .

type string:

LineString

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonMultiLineString

En giltig GeoJSON MultiLineString geometrityp. Mer information finns i RFC 7946 .

Name Typ Description
coordinates

number[]

Koordinater för geometrin GeoJson MultiLineString .

type string:

MultiLineString

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonMultiPoint

En giltig GeoJSON MultiPoint geometrityp. Mer information finns i RFC 7946 .

Name Typ Description
coordinates

number[]

Koordinater för geometrin GeoJson MultiPoint .

type string:

MultiPoint

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonMultiPolygon

En giltig GeoJSON MultiPolygon objekttyp. Mer information finns i RFC 7946 .

Name Typ Description
coordinates

number[]

Innehåller en lista över giltiga GeoJSON Polygon objekt. Observera att koordinaterna i GeoJSON är i x- och y-ordning (longitud, latitud).

type string:

MultiPolygon

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonPoint

En giltig GeoJSON Point geometrityp. Mer information finns i RFC 7946 .

Name Typ Description
coordinates

number[]

A Position är en matris med tal med två eller flera element. De två första elementen är longitud och latitud, just i den ordningen. Altitude/Elevation är ett valfritt tredje element. Mer information finns i RFC 7946 .

type string:

Point

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

GeoJsonPolygon

En giltig GeoJSON Polygon geometrityp. Mer information finns i RFC 7946 .

Name Typ Description
coordinates

number[]

Koordinater för GeoJson Polygon geometritypen.

type string:

Polygon

Anger GeoJSON typen. Måste vara en av de nio giltiga GeoJSON-objekttyperna – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature och FeatureCollection.

JsonFormat

Önskat format för svaret. Endast json format stöds.

Name Typ Description
json

string

Datautbytesformat för JavaScript-objektnotation