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.

facilityId
query True

string

Identificador de la instalación dentro del conjunto de rutas donde se encuentra la ruta de acceso.

fromLevel
query True

integer

int32

Nivel de origen de la ruta de acceso.

fromPoint
query True

string

Punto de origen de la ruta de acceso con el siguiente formato: {latitud},{longitud}.

routesetId
query True

string

Identificador del conjunto de rutas desde el que se va a consultar.

toLevel
query True

integer

int32

Nivel de destino de la ruta de acceso.

toPoint
query True

string

Destino de ruta de acceso con el siguiente formato: {latitud},{longitud}.

avoidFeatures
query

avoidFeatures[]

Para evitar determinados tipos de conectores en la ruta de acceso resultante. Se pueden especificar varios valores.

minWidth
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

WayfindResult

Aceptar

Other Status Codes

ErrorResponse

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
avoidFeatures

Para evitar determinados tipos de conectores en la ruta de acceso resultante. Se pueden especificar varios valores.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta de error

Leg

Sección de la ruta de acceso general.

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é.

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.

WayfindResult

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

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Los detalles del error.

message

string

El mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

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

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é.

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.