Delen via


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

JsonFormat

Gewenste indeling van het antwoord. Alleen json de indeling wordt ondersteund.

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 udid wordt opgegeven in de aanvraag. Als het Azure Maps-account zich bijvoorbeeld in VS - oost bevindt, worden alleen aanvragen aan ons geografische gebied geaccepteerd.

api-version
query True

string

Versienummer van Azure Maps-API.

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

isAsync
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

GeofenceMode

Modus van het geofencing asynchrone gebeurtenismechanisme.

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

userTime
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

GeoJsonFeature[]

Bevat een lijst met geldige GeoJSON Feature objecten.

type True string:

FeatureCollection

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

Antwoorden

Name Type Description
200 OK

Geofence

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

ErrorResponse

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.

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
ErrorAdditionalInfo

Aanvullende informatie over de resourcebeheerfout.

ErrorDetail

De foutdetails.

ErrorResponse

Foutreactie

Geofence

Dit object wordt geretourneerd door een geofence-nabijheidsaanroep.

GeofenceGeometry

De geofencinggeometrie.

GeofenceMode

Modus van het asynchrone geofencing-gebeurtenismechanisme.

GeoJsonFeature

Een geldig GeoJSON Feature objecttype. Raadpleeg RFC 7946 voor meer informatie.

GeoJsonFeatureCollection

Een geldig GeoJSON FeatureCollection objecttype. Raadpleeg RFC 7946 voor meer informatie.

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.

GeoJsonGeometryCollection

Een geldig GeoJSON GeometryCollection objecttype. Raadpleeg RFC 7946 voor meer informatie.

GeoJsonLineString

Een geldig GeoJSON LineString geometrietype. Raadpleeg RFC 7946 voor meer informatie.

GeoJsonMultiLineString

Een geldig GeoJSON MultiLineString geometrietype. Raadpleeg RFC 7946 voor meer informatie.

GeoJsonMultiPoint

Een geldig GeoJSON MultiPoint geometrietype. Raadpleeg RFC 7946 voor meer informatie.

GeoJsonMultiPolygon

Een geldig GeoJSON MultiPolygon objecttype. Raadpleeg RFC 7946 voor meer informatie.

GeoJsonPoint

Een geldig GeoJSON Point geometrietype. Raadpleeg RFC 7946 voor meer informatie.

GeoJsonPolygon

Een geldig GeoJSON Polygon geometrietype. Raadpleeg RFC 7946 voor meer informatie.

JsonFormat

Gewenste indeling van het antwoord. Alleen json de indeling wordt ondersteund.

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

ErrorAdditionalInfo[]

Aanvullende informatie over de fout.

code

string

De foutcode.

details

ErrorDetail[]

De foutdetails.

message

string

Het foutbericht.

target

string

Het foutdoel.

ErrorResponse

Foutreactie

Name Type Description
error

ErrorDetail

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

GeofenceGeometry[]

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 geometryId, die wordt gebruikt voor het identificeren van de geometrie en hoofdlettergevoelig zijn. Zie Gegevensregister maken voor meer informatie over de gegevensregisterservice.

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

id

string

Id voor de functie.

type string:

Feature

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonFeatureCollection

Een geldig GeoJSON FeatureCollection objecttype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
features

GeoJsonFeature[]

Bevat een lijst met geldige GeoJSON Feature objecten.

type string:

FeatureCollection

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

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

GeoJsonObjectType

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonGeometryCollection

Een geldig GeoJSON GeometryCollection objecttype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
geometries GeoJsonGeometry[]:

Bevat een lijst met geldige GeoJSON geometrieobjecten. Houd er rekening mee dat coördinaten in GeoJSON in de volgorde x, y (lengtegraad, breedtegraad) staan.

type string:

GeometryCollection

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonLineString

Een geldig GeoJSON LineString geometrietype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
coordinates

number[]

Coördinaten voor de GeoJson LineString geometrie.

type string:

LineString

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonMultiLineString

Een geldig GeoJSON MultiLineString geometrietype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
coordinates

number[]

Coördinaten voor de GeoJson MultiLineString geometrie.

type string:

MultiLineString

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonMultiPoint

Een geldig GeoJSON MultiPoint geometrietype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
coordinates

number[]

Coördinaten voor de GeoJson MultiPoint geometrie.

type string:

MultiPoint

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonMultiPolygon

Een geldig GeoJSON MultiPolygon objecttype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
coordinates

number[]

Bevat een lijst met geldige GeoJSON Polygon objecten. Houd er rekening mee dat coördinaten in GeoJSON de volgorde x, y (lengtegraad, breedtegraad) hebben.

type string:

MultiPolygon

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonPoint

Een geldig GeoJSON Point geometrietype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
coordinates

number[]

A Position is een matrix van getallen met twee of meer elementen. De eerste twee elementen zijn lengtegraad en breedtegraad, precies in die volgorde. Hoogte/hoogte is een optioneel derde element. Raadpleeg RFC 7946 voor meer informatie.

type string:

Point

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

GeoJsonPolygon

Een geldig GeoJSON Polygon geometrietype. Raadpleeg RFC 7946 voor meer informatie.

Name Type Description
coordinates

number[]

Coördinaten voor het GeoJson Polygon geometrietype.

type string:

Polygon

Hiermee geeft u het GeoJSON type op. Moet een van de negen geldige GeoJSON-objecttypen zijn: Punt, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature en FeatureCollection.

JsonFormat

Gewenste indeling van het antwoord. Alleen json de indeling wordt ondersteund.

Name Type Description
json

string

De JavaScript Object Notation Data Interchange-indeling