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 |
Požadovaný formát odpovědi Podporuje se pouze |
|
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 |
api-version
|
query | True |
string |
Číslo verze rozhraní API služby Azure Maps |
device
|
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. |
is
|
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 |
Režim mechanismu geograficky fencingu asynchronních událostí. |
||
search
|
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. |
|
user
|
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 |
Obsahuje seznam platných |
|
type | True |
string:
Feature |
Určuje |
Odpovědi
Name | Typ | Description |
---|---|---|
200 OK |
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 |
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í.
- Další informace o platformě Microsoft Identity Platform najdete v tématu Přehled platformy Microsoft Identity Platform.
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 |
---|---|
Error |
Další informace o chybě správy prostředků |
Error |
Podrobnosti o chybě. |
Error |
Odpověď na chybu |
Geofence |
Tento objekt je vrácen z volání blízkosti geografické zóny. |
Geofence |
Geometrie geofencingu. |
Geofence |
Režim mechanismu asynchronních událostí geografické fencing. |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Geo |
Platný |
Json |
Požadovaný formát odpovědi. Podporuje se pouze |
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 |
Další informace o chybě |
|
code |
string |
Kód chyby |
details |
Podrobnosti o chybě |
|
message |
string |
Chybová zpráva |
target |
string |
Cíl chyby. |
ErrorResponse
Odpověď na chybu
Name | Typ | Description |
---|---|---|
error |
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 |
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 |
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ý |
id |
string |
Identifikátor funkce. |
type |
string:
Feature |
Určuje |
GeoJsonFeatureCollection
Platný GeoJSON FeatureCollection
typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
features |
Obsahuje seznam platných |
|
type |
string:
Feature |
Určuje |
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 |
Geo |
Určuje |
GeoJsonGeometryCollection
Platný GeoJSON GeometryCollection
typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
geometries | GeoJsonGeometry[]: |
Obsahuje seznam platných |
type |
string:
Geometry |
Určuje |
GeoJsonLineString
Platný GeoJSON LineString
typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Souřadnice |
type |
string:
Line |
Určuje |
GeoJsonMultiLineString
Platný GeoJSON MultiLineString
typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Souřadnice |
type |
string:
Multi |
Určuje |
GeoJsonMultiPoint
Platný GeoJSON MultiPoint
typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Souřadnice |
type |
string:
Multi |
Určuje |
GeoJsonMultiPolygon
Platný GeoJSON MultiPolygon
typ objektu. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Obsahuje seznam platných |
type |
string:
Multi |
Určuje |
GeoJsonPoint
Platný GeoJSON Point
typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
A |
type |
string:
Point |
Určuje |
GeoJsonPolygon
Platný GeoJSON Polygon
typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
Souřadnice typu |
type |
string:
Polygon |
Určuje |
JsonFormat
Požadovaný formát odpovědi. Podporuje se pouze json
formát.
Name | Typ | Description |
---|---|---|
json |
string |