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 zeměpisnou oblast.

api-version
query True

string

Číslo verze rozhraní API 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 Azure Maps. Pokud chcete použít Microsoft Entra ID zabezpečení v Azure Maps pokyny 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.

Headers

X-Correlation-id: string

Other Status Codes

ErrorResponse

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

Zabezpečení

AADToken

Toto jsou Microsoft Entra toky 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 Azure Maps rozhraní REST API. Řízení přístupu na základě role v Azure slouží k určení přístupu k jednomu nebo několika Azure Maps účtu prostředku nebo dílčím prostředkům. 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 více oprávnění k Azure Maps rozhraní REST API.

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í Azure Maps prostředku, 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 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í.

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

Jedná se o sdílený klíč, který se zřizuje při vytváření prostředku Azure Maps prostřednictvím roviny správy Azure prostřednictvím 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 Azure Maps rozhraní REST API, kde je možné tento klíč bezpečně uložit.

Type: apiKey
In: header

SAS Token

Jedná se o token sdíleného přístupového podpisu, který se vytvoří z operace List SAS v Azure Maps prostředku prostřednictvím roviny správy Azure prostřednictvím 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.

Type: apiKey
In: header

Příklady

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
}

Definice

Name Description
ErrorAdditionalInfo

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

ErrorDetail

Podrobnosti o chybě

ErrorResponse

Chybová odpověď

Geofence

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

GeofenceGeometry

Geometrie geofencingu.

GeofenceMode

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

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

Chybová odpověď

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[]

Seznamy geometrie plotu, které obsahují pozici souřadnic nebo překrývají 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 odběratele události Azure Maps, false, pokud není publikovaná žádná událost pro odběratele události Azure Maps. Zobrazí se pouze v odpovědi, pokud 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 speciálních hodnot -999/999). Pozitivní znamená, že souřadnice je mimo geofence. Pokud je souřadnice mimo geografickou zóny, ale je větší než hodnota searchBuffer od nejbližšího ohraničení geografické zóny, pak je hodnota 999. Záporné znamená, že souřadnice je uvnitř geografické zóny. Pokud je souřadnice uvnitř mnohoúhelníku, ale je větší než hodnota searchBuffer od nejbližšího ohraničení geografické fencing, pak je hodnota -999. Hodnota 999 znamená, že existuje velká jistota, že se souřadnice nachází mimo geografickoufenci. Hodnota -999 znamená, že existuje velká jistota, že souřadnice je v rámci geografické zóny dobře.

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 nejbližšího bodu na geometrii 2D extruze. To se zobrazí jako odpověď pouze v případě, že je v požadavku zadaná hodnota pro zInMeter.

udId

string

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

GeofenceMode

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

Name Typ Description
All

string

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

EnterAndExit

string

Výsledek publikujte pouze v případech, kdy je poloha uživatele považována za přechod přes geofencing boarder.

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, který je součástí aktuální funkce. 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[]

GeoJson LineString Souřadnice 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[]

GeoJson MultiLineString Souřadnice 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[]

GeoJson MultiPoint Souřadnice 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ím prvkem je nadmořská výška nebo 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 zápisu objektů JavaScriptu