Wayfinding - Get Path
Usare per calcolare il percorso migliore tra due posizioni all'interno di una struttura.
Il servizio Wayfinding fa parte di Creator e rispetta lo standard Open Geospatial Consortium . Wayfinding usa i dati della mappa di interni del set di route per calcolare il percorso migliore tra due posizioni all'interno della stessa struttura. Per altre informazioni, vedere Wayfinding nell'articolo Concetti relativi alle mappe di interni di Creator.
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}&avoidFeatures={avoidFeatures}&minWidth={minWidth}
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
api-version
|
query | True |
string |
Numero di versione dell'API Mappe di Azure. |
facility
|
query | True |
string |
Identificatore della struttura all'interno del set di route in cui trovare il percorso. |
from
|
query | True |
integer int32 |
Livello di origine del percorso. |
from
|
query | True |
string |
Punto di origine del percorso nel formato seguente: {latitude},{longitudine}. |
routeset
|
query | True |
string |
ID del set di route da cui eseguire la query. |
to
|
query | True |
integer int32 |
Livello di destinazione del percorso. |
to
|
query | True |
string |
Destinazione del percorso nel formato seguente: {latitude},{longitudine}. |
avoid
|
query |
Per evitare determinati tipi di connettori nel percorso risultante. È possibile specificare più valori. |
||
min
|
query |
number |
Larghezza minima (in metri) di aperture nel percorso di ricerca. Ad esempio, se è stata specificata una larghezza minima di 0,85, il percorso di ricerca eviterà le aperture inferiori a 85 centimetri di larghezza. Nota: usando questo valore, i punti di percorso risultanti verranno memorizzati nel buffer da pareti e altri ostacoli verticali per metà della larghezza fornita. |
Intestazione della richiesta
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
x-ms-client-id |
string |
Specifica l'account destinato all'utilizzo in combinazione con il modello di sicurezza Microsoft Entra ID. Rappresenta un ID univoco per l'account Mappe di Azure e può essere recuperato dall'API account del piano di gestione Mappe di Azure. Per usare Microsoft Entra ID sicurezza in Mappe di Azure vedere gli articoli seguenti per indicazioni. |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
OK |
|
Other Status Codes |
Si è verificato un errore imprevisto. |
Sicurezza
AADToken
Si tratta dei flussi OAuth2 di Azure Active Directory . Se abbinato al controllo degli accessi in base al ruolo di Azure, può essere usato per controllare l'accesso alle API REST Mappe di Azure. I controlli di accesso in base al ruolo di Azure vengono usati per designare l'accesso a uno o più Mappe di Azure account di risorse o sottorisorse. A qualsiasi utente, gruppo o entità servizio può essere concesso l'accesso tramite un ruolo predefinito o un ruolo personalizzato composto da una o più autorizzazioni per Mappe di Azure API REST.
Per implementare scenari, è consigliabile visualizzare i concetti di autenticazione. In sintesi, questa definizione di sicurezza offre una soluzione per la modellazione di applicazioni tramite oggetti in grado di controllare l'accesso su API e ambiti specifici.
Note
- Questa definizione di sicurezza richiede l'uso dell'intestazione
x-ms-client-id
per indicare a quale Mappe di Azure risorsa a cui l'applicazione richiede l'accesso. Questa operazione può essere acquisita dall'API di gestione mappe.
è Authorization URL
specifico dell'istanza del cloud pubblico di Azure. I cloud sovrani hanno URL di autorizzazione univoci e configurazioni di Azure Active Directory.
* Il controllo degli accessi in base al ruolo di Azure viene configurato dal piano di gestione di Azure tramite portale di Azure, PowerShell, interfaccia della riga di comando, SDK di Azure o API REST.
* L'utilizzo di Mappe di Azure Web SDK consente la configurazione basata sulla configurazione di un'applicazione per più casi d'uso.
- Attualmente Azure Active Directory v1.0 o v2.0 supporta account aziendali, dell'istituto di istruzione e guest, ma non supporta account personali.
Tipo:
oauth2
Flow:
implicit
URL di autorizzazione:
https://login.microsoftonline.com/common/oauth2/authorize
Ambiti
Nome | Descrizione |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Si tratta di una chiave condivisa di cui viene effettuato il provisioning quando si crea un account Mappe di Azure nel portale di Azure o usando PowerShell, l'interfaccia della riga di comando, gli SDK di Azure o l'API REST.
Con questa chiave, qualsiasi applicazione può accedere a tutte le API REST. In altre parole, questa chiave può essere usata come chiave master nell'account in cui vengono rilasciati.
Per le applicazioni esposte pubblicamente, è consigliabile usare l'approccio alle applicazioni client riservate per accedere alle API REST Mappe di Azure in modo che la chiave possa essere archiviata in modo sicuro.
Tipo:
apiKey
In:
query
SAS Token
Si tratta di un token di firma di accesso condiviso creato dall'operazione List SAS nella risorsa Mappe di Azure tramite il piano di gestione di Azure tramite portale di Azure, PowerShell, interfaccia della riga di comando, Azure SDK o API REST.
Con questo token, qualsiasi applicazione è autorizzata ad accedere con i controlli di accesso in base al ruolo di Azure e il controllo granulare alla scadenza, alla frequenza e alle aree d'uso per il token specifico. In altre parole, il token di firma di accesso condiviso può essere usato per consentire alle applicazioni di controllare l'accesso in modo più protetto rispetto alla chiave condivisa.
Per le applicazioni esposte pubblicamente, è consigliabile configurare un elenco specifico di origini consentite nella risorsa dell'account map per limitare l'abuso di rendering e rinnovare regolarmente il token di firma di accesso condiviso.
Tipo:
apiKey
In:
header
Esempio
Get the shortest path between two points in the facility.
Esempio di richiesta
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId=[routeset-Id]&facilityId=[facility-Id]&fromPoint=47.652882287901065,-122.13400410050512&fromLevel=-1&toPoint=47.652870534630466,-122.13382884389553&toLevel=0
Risposta di esempio
{
"noResultExplanation": "NoExplanation",
"paths": [
{
"lengthInMeters": 51.27548,
"timeInSeconds": 60,
"legs": [
{
"mode": "Default",
"lengthInMeters": 14.7605,
"timeInSeconds": 15,
"startLevel": 0,
"endLevel": 0,
"points": [
{
"latitude": 47.6528823,
"longitude": -122.1340041
},
{
"latitude": 47.6528688,
"longitude": -122.1340336
},
{
"latitude": 47.6528591,
"longitude": -122.1340534
},
{
"latitude": 47.6528309,
"longitude": -122.1341107
},
{
"latitude": 47.6527984,
"longitude": -122.1341556
}
]
},
{
"mode": "Stair",
"lengthInMeters": 7.88608,
"timeInSeconds": 16,
"startLevel": 0,
"endLevel": 1,
"points": [
{
"latitude": 47.6527984,
"longitude": -122.1341556
},
{
"latitude": 47.6527843,
"longitude": -122.1341395
}
]
},
{
"mode": "Default",
"lengthInMeters": 28.6289,
"timeInSeconds": 29,
"startLevel": 1,
"endLevel": 1,
"points": [
{
"latitude": 47.6527843,
"longitude": -122.1341395
},
{
"latitude": 47.6527843,
"longitude": -122.1341395
},
{
"latitude": 47.6527843,
"longitude": -122.1341395
},
{
"latitude": 47.6527846,
"longitude": -122.1341332
},
{
"latitude": 47.652789,
"longitude": -122.1341315
},
{
"latitude": 47.6527898,
"longitude": -122.1341312
},
{
"latitude": 47.6527913,
"longitude": -122.1341306
},
{
"latitude": 47.6527938,
"longitude": -122.1341295
},
{
"latitude": 47.6528309,
"longitude": -122.1341137
},
{
"latitude": 47.652856,
"longitude": -122.1340564
},
{
"latitude": 47.6528694,
"longitude": -122.1340372
},
{
"latitude": 47.652873,
"longitude": -122.1339296
},
{
"latitude": 47.6528735,
"longitude": -122.1339124
},
{
"latitude": 47.6528733,
"longitude": -122.1339095
},
{
"latitude": 47.6528732,
"longitude": -122.1338288
}
]
}
]
}
]
}
Definizioni
Nome | Descrizione |
---|---|
avoid |
Per evitare determinati tipi di connettori nel percorso risultante. È possibile specificare più valori. |
Error |
Informazioni aggiuntive sull'errore di gestione delle risorse. |
Error |
Dettagli dell'errore. |
Error |
Risposta di errore |
Leg |
Sezione del percorso complessivo. |
No |
Nel caso in cui non vengano trovati percorsi, la |
Path |
Informazioni dettagliate su un percorso specifico tra l'origine e la destinazione. Può essere costituito da una o più gambe. |
Point |
Punto all'interno della struttura. |
Wayfind |
Oggetto restituito da questa richiesta Wayfinding Path. |
avoidFeatures
Per evitare determinati tipi di connettori nel percorso risultante. È possibile specificare più valori.
Nome | Tipo | Descrizione |
---|---|---|
elevators |
string |
Evita ascensori. |
stairs |
string |
Evita scale. |
ErrorAdditionalInfo
Informazioni aggiuntive sull'errore di gestione delle risorse.
Nome | Tipo | Descrizione |
---|---|---|
info |
object |
Informazioni aggiuntive. |
type |
string |
Tipo di informazioni aggiuntive. |
ErrorDetail
Dettagli dell'errore.
Nome | Tipo | Descrizione |
---|---|---|
additionalInfo |
Informazioni aggiuntive sull'errore. |
|
code |
string |
Codice di errore. |
details |
Dettagli dell'errore. |
|
message |
string |
Messaggio di errore. |
target |
string |
Destinazione dell'errore. |
ErrorResponse
Risposta di errore
Nome | Tipo | Descrizione |
---|---|---|
error |
Oggetto error. |
Leg
Sezione del percorso complessivo.
Nome | Tipo | Descrizione |
---|---|---|
endLevel |
integer |
Il pavimento dove termina questa gamba. |
lengthInMeters |
number |
La lunghezza della gamba, in metri, di questa gamba. |
mode |
string |
Modalità gamba di attraversamento per questa gamba. Può essere predefinito (tutti sullo stesso livello), ascensori o scale quando si sposta verticalmente tra i livelli. |
points |
Point[] |
Punti di forma della gamba. La posizione verticale è determinata come segue: tutti i punti si trovano alla stessa altezza quando startLevel e endLevel sono uguali, altrimenti la matrice conterrà solo due punti: il primo a startLevel e il secondo alla fineLevel. |
startLevel |
integer |
Il pavimento in cui inizia questa gamba. |
timeInSeconds |
integer |
Il tempo di viaggio della gamba, in secondi, per viaggiare tra il primo e l'ultimo punto di questa gamba. |
NoResultExplanation
Nel caso in cui non vengano trovati percorsi, la paths
matrice sarà vuota. Se non è possibile determinare il motivo per cui non sono stati trovati percorsi, questa proprietà fornirà una spiegazione del motivo.
Nome | Tipo | Descrizione |
---|---|---|
NoExplanation |
string |
Valore predefinito fornito quando viene restituito un risultato o non è stato possibile determinare il motivo per cui non è stato trovato un percorso. |
Path
Informazioni dettagliate su un percorso specifico tra l'origine e la destinazione. Può essere costituito da una o più gambe.
Nome | Tipo | Descrizione |
---|---|---|
legs |
Leg[] |
Le diverse sezioni di viaggio di questo percorso. |
lengthInMeters |
number |
Lunghezza del percorso, in metri, dell'intero percorso. |
timeInSeconds |
integer |
Tempo totale percorso, espresso in secondi, per spostarsi tra l'origine e la destinazione quando si segue questo percorso. |
Point
Punto all'interno della struttura.
Nome | Tipo | Descrizione |
---|---|---|
latitude |
number |
latitudine del punto |
longitude |
number |
longitudine del punto |
WayfindResult
Oggetto restituito da questa richiesta Wayfinding Path.
Nome | Tipo | Descrizione |
---|---|---|
noResultExplanation |
Nel caso in cui non vengano trovati percorsi, la |
|
paths |
Path[] |
Matrice di risultati del percorso di definizione. Se non sono stati trovati risultati, verrà restituita una matrice vuota. |