Wayfinding - Get Path
Use para calcular la mejor ruta de acceso entre dos ubicaciones dentro de una instalación.
El servicio Wayfinding forma parte de Creator y se adhiere al estándar Open Geospatial Consortium . Wayfinding usa datos de mapas interiores del conjunto de rutas para calcular la mejor ruta entre dos ubicaciones dentro de la misma instalación. Para obtener más información, consulte el artículo Wayfinding in the Creator for indoor maps concepts ( Definición de wayfinding en el artículo de conceptos de Creator for indoor maps ).
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}
Parámetros de identificador URI
Nombre | En | Requerido | Tipo | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
Número de versión de la API de Azure Maps. |
facility
|
query | True |
string |
Identificador de la instalación dentro del conjunto de rutas donde se encuentra la ruta de acceso. |
from
|
query | True |
integer int32 |
Nivel de origen de la ruta de acceso. |
from
|
query | True |
string |
Punto de origen de la ruta de acceso con el siguiente formato: {latitud},{longitud}. |
routeset
|
query | True |
string |
Identificador del conjunto de rutas desde el que se va a consultar. |
to
|
query | True |
integer int32 |
Nivel de destino de la ruta de acceso. |
to
|
query | True |
string |
Destino de ruta de acceso con el siguiente formato: {latitud},{longitud}. |
avoid
|
query |
Para evitar determinados tipos de conectores en la ruta de acceso resultante. Se pueden especificar varios valores. |
||
min
|
query |
number |
Ancho mínimo (en metros) de aperturas en la ruta de acceso de búsqueda. Por ejemplo, si especificó un ancho mínimo de 0,85, la ruta de acceso buscada evitará abrir menos de 85 centímetros de ancho. Nota: con este valor, los puntos de ruta resultantes se almacenarán en búfer de las paredes y otros obstáculos verticales por la mitad del ancho proporcionado. |
Encabezado de la solicitud
Nombre | Requerido | Tipo | Description |
---|---|---|---|
x-ms-client-id |
string |
Especifica qué cuenta está pensada para su uso junto con el modelo de seguridad de Microsoft Entra ID. Representa un identificador único para la cuenta de Azure Maps y se puede recuperar de la API de cuenta del plano de administración de Azure Maps. Para usar Microsoft Entra ID seguridad en Azure Maps consulte los siguientes artículos para obtener instrucciones. |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK |
Aceptar |
|
Other Status Codes |
Se ha producido un error inesperado. |
Seguridad
AADToken
Estos son los flujos de OAuth2 de Azure Active Directory . Cuando se empareja con el control de acceso basado en rol de Azure, se puede usar para controlar el acceso a Azure Maps API REST. Los controles de acceso basados en roles de Azure se usan para designar el acceso a una o varias Azure Maps cuenta de recursos o subrecursos. Se puede conceder acceso a cualquier usuario, grupo o entidad de servicio a través de un rol integrado o un rol personalizado compuesto por uno o varios permisos para Azure Maps API REST.
Para implementar escenarios, se recomienda ver los conceptos de autenticación. En resumen, esta definición de seguridad proporciona una solución para modelar aplicaciones a través de objetos capaces de controlar el acceso en determinadas API y ámbitos.
Notas
- Esta definición de seguridad requiere el uso del
x-ms-client-id
encabezado para indicar a qué recurso Azure Maps la aplicación solicita acceso. Esto se puede adquirir desde la API de administración de Maps.
Authorization URL
es específico de la instancia de nube pública de Azure. Las nubes soberanas tienen direcciones URL de autorización únicas y configuraciones de Azure Active Directory.
* El control de acceso basado en rol de Azure se configura desde el plano de administración de Azure a través de Azure Portal, PowerShell, CLI, SDK de Azure o API REST.
* El uso del SDK web de Azure Maps permite la configuración basada en la configuración de una aplicación para varios casos de uso.
- Actualmente, Azure Active Directory v1.0 o v2.0 admite Work, School e Invitados, pero no admite cuentas personales.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nombre | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Se trata de una clave compartida que se aprovisiona al crear una cuenta de Azure Maps en el Azure Portal o mediante PowerShell, la CLI, los SDK de Azure o la API REST.
Con esta clave, cualquier aplicación puede acceder a todas las API REST. En otras palabras, esta clave se puede usar como clave maestra en la cuenta en la que se emiten.
En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es usar el enfoque de aplicaciones cliente confidenciales para acceder a Azure Maps API REST para que la clave se pueda almacenar de forma segura.
Type:
apiKey
In:
query
SAS Token
Se crea un token de firma de acceso compartido a partir de la operación List SAS en el recurso de Azure Maps a través del plano de administración de Azure a través de Azure Portal, PowerShell, CLI, SDK de Azure o API REST.
Con este token, cualquier aplicación está autorizada para acceder a los controles de acceso basado en rol de Azure y el control específico a la expiración, la tasa y las regiones de uso para el token determinado. En otras palabras, el token de SAS se puede usar para permitir que las aplicaciones controlen el acceso de forma más segura que la clave compartida.
En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es configurar una lista específica de orígenes permitidos en el recurso de la cuenta de asignación para limitar la representación del abuso y renovar periódicamente el token de SAS.
Type:
apiKey
In:
header
Ejemplos
Get the shortest path between two points in the facility.
Sample Request
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
Sample Response
{
"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
}
]
}
]
}
]
}
Definiciones
Nombre | Description |
---|---|
avoid |
Para evitar determinados tipos de conectores en la ruta de acceso resultante. Se pueden especificar varios valores. |
Error |
Información adicional sobre el error de administración de recursos. |
Error |
Detalle del error. |
Error |
Respuesta de error |
Leg |
Sección de la ruta de acceso general. |
No |
En caso de que no se encuentren rutas de acceso, la |
Path |
Detalles sobre una ruta de acceso determinada entre el origen y el destino. Se puede componer de una o más piernas. |
Point |
Un punto dentro de la instalación. |
Wayfind |
Objeto devuelto por esta solicitud Wayfinding Path. |
avoidFeatures
Para evitar determinados tipos de conectores en la ruta de acceso resultante. Se pueden especificar varios valores.
Nombre | Tipo | Description |
---|---|---|
elevators |
string |
Evite ascensores. |
stairs |
string |
Evite escaleras. |
ErrorAdditionalInfo
Información adicional sobre el error de administración de recursos.
Nombre | Tipo | Description |
---|---|---|
info |
object |
Información adicional. |
type |
string |
Tipo de información adicional. |
ErrorDetail
Detalle del error.
Nombre | Tipo | Description |
---|---|---|
additionalInfo |
Información adicional del error. |
|
code |
string |
Código de error. |
details |
Los detalles del error. |
|
message |
string |
El mensaje de error. |
target |
string |
Destino del error. |
ErrorResponse
Respuesta de error
Nombre | Tipo | Description |
---|---|---|
error |
Objeto de error. |
Leg
Sección de la ruta de acceso general.
Nombre | Tipo | Description |
---|---|---|
endLevel |
integer |
Piso donde termina esta pierna. |
lengthInMeters |
number |
La longitud de la pierna, en metros, de esta pierna. |
mode |
string |
Modo de pierna de recorrido para esta pierna. Puede ser predeterminado (todo en el mismo nivel), ascensores o escaleras al moverse verticalmente entre los niveles. |
points |
Point[] |
La forma de la pierna apunta. Su posición vertical se determina de la siguiente manera: todos los puntos están en el mismo alto cuando startLevel y endLevel son iguales; de lo contrario, la matriz contendrá solo dos puntos: el primero en startLevel y el segundo en endLevel. |
startLevel |
integer |
Piso donde comienza esta pierna. |
timeInSeconds |
integer |
Tiempo de viaje de la pierna, en segundos, para viajar entre el primer y el último punto de esta pierna. |
NoResultExplanation
En caso de que no se encuentren rutas de acceso, la paths
matriz estará vacía. Si se puede determinar el motivo por el que no se encontraron rutas de acceso, esta propiedad proporcionará una explicación de por qué.
Nombre | Tipo | Description |
---|---|---|
NoExplanation |
string |
Valor predeterminado proporcionado cuando se devuelve un resultado o no era posible determinar por qué no se encontró una ruta de acceso. |
Path
Detalles sobre una ruta de acceso determinada entre el origen y el destino. Se puede componer de una o más piernas.
Nombre | Tipo | Description |
---|---|---|
legs |
Leg[] |
Las diferentes secciones de viaje de esta ruta de acceso. |
lengthInMeters |
number |
Longitud del trazado, en metros, de toda la ruta de acceso. |
timeInSeconds |
integer |
Tiempo total de la ruta de acceso, en segundos, para viajar entre el origen y el destino cuando se sigue esta ruta de acceso. |
Point
Un punto dentro de la instalación.
Nombre | Tipo | Description |
---|---|---|
latitude |
number |
latitud del punto |
longitude |
number |
longitud del punto |
WayfindResult
Objeto devuelto por esta solicitud Wayfinding Path.
Nombre | Tipo | Description |
---|---|---|
noResultExplanation |
En caso de que no se encuentren rutas de acceso, la |
|
paths |
Path[] |
Matriz de resultados de la ruta de acceso de la definición. Se devolverá una matriz vacía si no se encontraron resultados. |