Condividi tramite


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.

facilityId
query True

string

Identificatore della struttura all'interno del set di route in cui trovare il percorso.

fromLevel
query True

integer

int32

Livello di origine del percorso.

fromPoint
query True

string

Punto di origine del percorso nel formato seguente: {latitude},{longitudine}.

routesetId
query True

string

ID del set di route da cui eseguire la query.

toLevel
query True

integer

int32

Livello di destinazione del percorso.

toPoint
query True

string

Destinazione del percorso nel formato seguente: {latitude},{longitudine}.

avoidFeatures
query

avoidFeatures[]

Per evitare determinati tipi di connettori nel percorso risultante. È possibile specificare più valori.

minWidth
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

WayfindResult

OK

Other Status Codes

ErrorResponse

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
avoidFeatures

Per evitare determinati tipi di connettori nel percorso risultante. È possibile specificare più valori.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

ErrorDetail

Dettagli dell'errore.

ErrorResponse

Risposta di errore

Leg

Sezione del percorso complessivo.

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.

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.

WayfindResult

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

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

ErrorDetail[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

ErrorResponse

Risposta di errore

Nome Tipo Descrizione
error

ErrorDetail

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

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.

paths

Path[]

Matrice di risultati del percorso di definizione. Se non sono stati trovati risultati, verrà restituita una matrice vuota.