Sdílet prostřednictvím


Spatial - Post Geofence

Slouží k získání blízkosti souřadnice k geografické zóny.

Rozhraní Post Geofence API je požadavek HTTP POST , který načte blízkost souřadnice k zadané geografické zóny nebo sadě plotů. U POST požadavků nemusíte data plotu nahrávat předem, místo toho zadáte umístění objektu, který sledujete, v parametrech dotazu a také data plotu nebo sady plotů v textu požadavku post. Další informace o formátu dat geografické zóny najdete v tématu Geofencing GeoJSON data. Odpověď bude obsahovat informace o vzdálenosti od vnějšího okraje geografické zóny. Záporná hodnota znamená, že souřadnice je uvnitř plotu, zatímco kladná hodnota znamená, že je mimo plot.

Toto rozhraní API je možné použít pro různé scénáře, mezi které patří sledování majetku, správa vozového parku nebo nastavení upozornění na přesun objektů.

Rozhraní API podporuje integraci se službou Event Grid. Parametr isAsync se používá k povolení integrace se službou Event Grid (ve výchozím nastavení je zakázaný).

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}

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
format
path True

JsonFormat

Požadovaný formát odpovědi Podporuje se pouze json formát.

geography
path True

string

Umístění účtu Azure Maps Platné hodnoty jsou my (USA – východ, USA – středozápad, USA – západ 2) a eu (Severní Evropa, Západní Evropa). Tento parametr je povinný, pokud udid je v požadavku zadán parametr . Pokud se například účet Azure Maps nachází v oblasti USA – východ, budou přijímány pouze požadavky na geografickou oblast.

api-version
query True

string

Číslo verze rozhraní API služby Azure Maps

deviceId
query True

string

ID zařízení

lat
query True

number

Zeměpisná šířka předávaného umístění. Příklad: 48,36.

lon
query True

number

Zeměpisná délka předávaného umístění Příklad: -124,63.

isAsync
query

boolean

Pokud je true, požadavek bude používat asynchronní event mechanismus; Pokud je false, požadavek se synchronizuje a neaktivuje žádnou událost. Výchozí hodnota je False.

mode
query

GeofenceMode

Režim mechanismu geograficky fencingu asynchronních událostí.

searchBuffer
query

number

Poloměr vyrovnávací paměti kolem geofence v metrech, který definuje, jak daleko hledat uvnitř a vně ohraničení plotu proti souřadnici zadané při výpočtu výsledku. Minimální hodnota je 0 a maximum je 500. Výchozí hodnota je 50.

userTime
query

string

date-time

Čas požadavku uživatele. Pokud požadavek neobsahuje, výchozí hodnota je DateTime.UtcNow.

z
query

number

Hladina moře v metrech od místa prošel. Pokud se zobrazí tento parametr, použije se 2D monitorování geografické fencingu vysunutí. Příklad: 200.

Hlavička požadavku

Name Vyžadováno Typ Description
x-ms-client-id

string

Určuje, který účet je určený pro použití ve spojení s modelem zabezpečení Microsoft Entra ID. Představuje jedinečné ID účtu Azure Maps a je možné ho načíst z rozhraní API účtu roviny správy Služby Azure Maps. Informace o použití zabezpečení Microsoft Entra ID v Azure Maps najdete v následujících článcích .

Text požadavku

Name Vyžadováno Typ Description
features True

GeoJsonFeature[]

Obsahuje seznam platných GeoJSON Feature objektů.

type True string:

FeatureCollection

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

Odpovědi

Name Typ Description
200 OK

Geofence

OK Hodnota hlavičky X-Correlation-id se nachází v odpovědi asynchronního volání a v datech událostí Event Gridu. Pomáhá korelovat odpověď asynchronního volání s odpovídající událostí Event Gridu.

Hlavičky

X-Correlation-id: string

Other Status Codes

ErrorResponse

Došlo k neočekávané chybě.

Zabezpečení

AADToken

Toto jsou toky Microsoft Entra OAuth 2.0 . Při spárování s řízením přístupu na základě role v Azure se dá použít k řízení přístupu k rozhraním Azure Maps REST API. Řízení přístupu na základě role v Azure slouží k určení přístupu k jednomu nebo několika účtům prostředků nebo dílčím prostředkům Azure Maps. Každému uživateli, skupině nebo instančnímu objektu je možné udělit přístup prostřednictvím předdefinované role nebo vlastní role složené z jednoho nebo několika oprávnění k rozhraním REST API služby Azure Maps.

Pokud chcete implementovat scénáře, doporučujeme zobrazit si koncepty ověřování. Souhrnně řečeno, tato definice zabezpečení poskytuje řešení pro modelování aplikací prostřednictvím objektů schopných řízení přístupu pro konkrétní rozhraní API a obory.

Poznámky

  • Tato definice zabezpečení vyžaduje použití hlavičky x-ms-client-id k označení prostředku Azure Maps, ke kterému aplikace žádá o přístup. Můžete ho získat z rozhraní MAPS MANAGEMENT API.

Je Authorization URL specifický pro instanci veřejného cloudu Azure. Suverénní cloudy mají jedinečné autorizační adresy URL a konfigurace Microsoft Entra ID. * Řízení přístupu na základě role v Azure se konfiguruje z roviny správy Azure prostřednictvím webu Azure Portal, PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API. * Použití sady Azure Maps Web SDK umožňuje nastavení aplikace na základě konfigurace pro více případů použití.

Typ: oauth2
Tok: implicit
URL autorizace: https://login.microsoftonline.com/common/oauth2/authorize

Rozsahy

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Jedná se o sdílený klíč, který se zřídí při vytváření prostředku Azure Maps prostřednictvím roviny správy Azure prostřednictvím webu Azure Portal, PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API.

S tímto klíčem má každá aplikace autorizaci pro přístup ke všem rozhraním REST API. Jinými slovy, ty je v současné době možné považovat za hlavní klíče k účtu, pro který jsou vystavené.

U veřejně vystavených aplikací doporučujeme použít přístup mezi servery k rozhraním REST API služby Azure Maps, kde je možné tento klíč bezpečně uložit.

Typ: apiKey
V: header

SAS Token

Jedná se o token sdíleného přístupového podpisu, který se vytvoří z operace List SAS prostředku Azure Maps prostřednictvím roviny správy Azure Portal, PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API.

S tímto tokenem má každá aplikace autorizaci pro přístup pomocí řízení přístupu na základě role v Azure a podrobnou kontrolu vypršení platnosti, četnosti a oblastí použití konkrétního tokenu. Jinými slovy, token SAS je možné použít k tomu, aby aplikace mohly řídit přístup zabezpečeným způsobem než sdílený klíč.

U veřejně vystavených aplikací doporučujeme nakonfigurovat konkrétní seznam povolených zdrojů v prostředku účtu map , aby se omezilo zneužití vykreslování, a pravidelně obnovovat token SAS.

Typ: apiKey
V: header

Příklady

PostGeofence

Ukázkový požadavek

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

Ukázková odpověď

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

Definice

Name Description
ErrorAdditionalInfo

Další informace o chybě správy prostředků

ErrorDetail

Podrobnosti o chybě.

ErrorResponse

Odpověď na chybu

Geofence

Tento objekt je vrácen z volání blízkosti geografické zóny.

GeofenceGeometry

Geometrie geofencingu.

GeofenceMode

Režim mechanismu asynchronních událostí geografické fencing.

GeoJsonFeature

Platný GeoJSON Feature typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonFeatureCollection

Platný GeoJSON FeatureCollection typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonGeometry

Platný GeoJSON objekt geometrie. Typ musí být jeden ze sedmi platných typů geometrie GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon a GeometryCollection. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonGeometryCollection

Platný GeoJSON GeometryCollection typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonLineString

Platný GeoJSON LineString typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonMultiLineString

Platný GeoJSON MultiLineString typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonMultiPoint

Platný GeoJSON MultiPoint typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonMultiPolygon

Platný GeoJSON MultiPolygon typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonPoint

Platný GeoJSON Point typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

GeoJsonPolygon

Platný GeoJSON Polygon typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

JsonFormat

Požadovaný formát odpovědi. Podporuje se pouze json formát.

ErrorAdditionalInfo

Další informace o chybě správy prostředků

Name Typ Description
info

object

Další informace.

type

string

Typ další informace.

ErrorDetail

Podrobnosti o chybě.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Další informace o chybě

code

string

Kód chyby

details

ErrorDetail[]

Podrobnosti o chybě

message

string

Chybová zpráva

target

string

Cíl chyby.

ErrorResponse

Odpověď na chybu

Name Typ Description
error

ErrorDetail

Objekt chyby.

Geofence

Tento objekt je vrácen z volání blízkosti geografické zóny.

Name Typ Description
expiredGeofenceGeometryId

string[]

Seznamy ID geometrie geografické zóny, jehož platnost vypršela vzhledem k času uživatele v požadavku.

geometries

GeofenceGeometry[]

Zobrazí seznam geometrií plotu, které obsahují pozici souřadnic nebo překrývají funkci searchBuffer kolem pozice.

invalidPeriodGeofenceGeometryId

string[]

Seznamy ID geometrie geografické zóny, která je v neplatném období vzhledem k času uživatele v požadavku.

isEventPublished

boolean

True, pokud je alespoň jedna událost publikovaná pro předplatitele události Azure Maps, false, pokud se pro předplatitele události Azure Maps nepublikuje žádná událost. Tato odpověď se zobrazí pouze v případě, že je parametr dotazu isAsync nastavený na hodnotu true.

GeofenceGeometry

Geometrie geofencingu.

Name Typ Description
deviceId

string

ID zařízení.

distance

number

Vzdálenost od souřadnice k nejbližšímu ohraničení geografické zóny (v metrech s výjimkou zvláštních hodnot -999/999). Pozitivní znamená, že souřadnice je mimo geofence. Pokud je souřadnice mimo geofence, ale více než hodnota searchBuffer od nejbližšího ohraničení geografické zóny, je hodnota 999. Záporné znamená, že souřadnice je uvnitř geografické zóny. Pokud je souřadnice uvnitř mnohoúhelníku, ale více než hodnota searchBuffer od nejbližšího ohraničení geografické fencing, je hodnota -999. Hodnota 999 znamená, že existuje velká jistota, že souřadnice je mimo geofence. Hodnota -999 znamená, že existuje velká jistota, že souřadnice je dobře v rámci geografické zóny.

geometryId

string

Jedinečné ID identifikuje geometrii.

nearestLat

number

Zeměpisná šířka nejbližšího bodu geometrie.

nearestLon

number

Zeměpisná délka nejbližšího bodu geometrie.

nearestZ

number

Hladina moře v metrech od nejbližšího bodu na geometrii 2D extruze. Tato odpověď se zobrazí pouze v případě, že je v požadavku zadaná hodnota zInMeter.

udId

string

Jedinečné ID použité při vytváření registru dat k nahrání platného objektu GeoJSON FeatureCollection. Podrobnosti najdete v dokumentu RFC 7946 . Všechny vlastnosti funkce by měly obsahovat geometryId, který se používá k identifikaci geometrie a rozlišuje velká a malá písmena. Další informace o službě registru dat najdete v tématu Vytvoření registru dat.

GeofenceMode

Režim mechanismu asynchronních událostí geografické fencing.

Name Typ Description
All

string

Publikujte všechny výsledky dotazů do odběru událostí účtu Azure Maps.

EnterAndExit

string

Publikujte výsledek pouze tehdy, když je umístění uživatele považováno za hraniční desku pro přechod geofencingu.

GeoJsonFeature

Platný GeoJSON Feature typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
featureType

string

Typ funkce. Hodnota závisí na datovém modelu, do který je aktuální funkce součástí. Některé datové modely můžou mít prázdnou hodnotu.

geometry GeoJsonGeometry:

Platný GeoJSON objekt geometrie. Typ musí být jeden ze sedmi platných typů geometrie GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon a GeometryCollection. Podrobnosti najdete v dokumentu RFC 7946 .

id

string

Identifikátor funkce.

type string:

Feature

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonFeatureCollection

Platný GeoJSON FeatureCollection typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
features

GeoJsonFeature[]

Obsahuje seznam platných GeoJSON Feature objektů.

type string:

FeatureCollection

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonGeometry

Platný GeoJSON objekt geometrie. Typ musí být jeden ze sedmi platných typů geometrie GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon a GeometryCollection. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
type

GeoJsonObjectType

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonGeometryCollection

Platný GeoJSON GeometryCollection typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
geometries GeoJsonGeometry[]:

Obsahuje seznam platných GeoJSON objektů geometrie. Všimněte si , že souřadnice v GeoJSON jsou v pořadí x, y (zeměpisná délka, zeměpisná šířka).

type string:

GeometryCollection

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonLineString

Platný GeoJSON LineString typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
coordinates

number[]

Souřadnice GeoJson LineString geometrie.

type string:

LineString

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonMultiLineString

Platný GeoJSON MultiLineString typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
coordinates

number[]

Souřadnice GeoJson MultiLineString geometrie.

type string:

MultiLineString

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonMultiPoint

Platný GeoJSON MultiPoint typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
coordinates

number[]

Souřadnice GeoJson MultiPoint geometrie.

type string:

MultiPoint

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonMultiPolygon

Platný GeoJSON MultiPolygon typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
coordinates

number[]

Obsahuje seznam platných GeoJSON Polygon objektů. Všimněte si , že souřadnice v GeoJSON jsou v pořadí x, y (zeměpisná délka, zeměpisná šířka).

type string:

MultiPolygon

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonPoint

Platný GeoJSON Point typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
coordinates

number[]

A Position je matice čísel se dvěma nebo více prvky. První dva prvky jsou zeměpisná délka a zeměpisná šířka, přesně v daném pořadí. Třetí volitelný prvek je nadmořská výška/nadmořská výška. Podrobnosti najdete v dokumentu RFC 7946 .

type string:

Point

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

GeoJsonPolygon

Platný GeoJSON Polygon typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .

Name Typ Description
coordinates

number[]

Souřadnice typu GeoJson Polygon geometrie.

type string:

Polygon

Určuje GeoJSON typ. Musí být jedním z devíti platných typů objektů GeoJSON – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature a FeatureCollection.

JsonFormat

Požadovaný formát odpovědi. Podporuje se pouze json formát.

Name Typ Description
json

string

Formát výměny dat v zápisu objektů JavaScriptu