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 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 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 |
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. Headers X-Correlation-id: string |
|
Other Status Codes |
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í.
- Další informace o Microsoft identity platform najdete v přehledu Microsoft identity platform.
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 |
---|---|
Error |
Další informace o chybě správy prostředků |
Error |
Podrobnosti o chybě |
Error |
Chybová odpověď |
Geofence |
Tento objekt je vrácen z volání blízkosti geografické zóny. |
Geofence |
Geometrie geofencingu. |
Geofence |
Režim mechanismu geograficky fencingu asynchronních událostí. |
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
Chybová odpověď
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 |
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 |
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ý |
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[] |
|
type |
string:
Line |
Určuje |
GeoJsonMultiLineString
Platný GeoJSON MultiLineString
typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
|
type |
string:
Multi |
Určuje |
GeoJsonMultiPoint
Platný GeoJSON MultiPoint
typ geometrie. Podrobnosti najdete v dokumentu RFC 7946 .
Name | Typ | Description |
---|---|---|
coordinates |
number[] |
|
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 |