Uso de Creator para planos interiores

En este artículo se presentan los conceptos y herramientas que se aplican a los servicios de Azure Maps Creator. Le recomendamos que lea este artículo antes de empezar a usar la API y el SDK de Azure Maps Creator.

Puede usar Creator para desarrollar aplicaciones con características de mapa basadas en datos de mapas de interiores. En este artículo se describe el proceso de carga, conversión, creación y uso de los datos del plano. Normalmente, el flujo de trabajo lo completan dos roles diferentes con distintas áreas de experiencia y responsabilidad:

  • Creador de mapas: responsable de la protección y preparación de los datos del mapa.
  • Usuario de datos del mapa de Creator: usa los datos del mapa del cliente en las aplicaciones.

En el siguiente diagrama se muestra todo el flujo de trabajo.

Creator map data workflow

Creación de Azure Maps Creator

Para usar los servicios de Creator, se debe crear un recurso de Azure Maps Creator en una cuenta de Azure Maps con el plan de tarifa de Gen 2. Para obtener información sobre cómo crear un recurso de Azure Maps Creator en Azure, consulte Administración de Azure Maps Creator.

Sugerencia

Para obtener información de precios, vea la sección Creator de Precios de Azure Maps.

Autenticación de Creator

Creator hereda la configuración de Access Control (IAM) de Azure Maps. Todas las llamadas de API para el acceso a los datos se deben enviar con reglas de autenticación y autorización.

Los datos de uso de Creator se incorporan en los gráficos de uso de Azure Maps y en el registro de actividad. Para obtener más información, consulte Administrar la autenticación en Azure Maps.

Importante

Recomendamos usar lo siguiente:

  • Microsoft Entra ID en todas las soluciones que se han creado con una cuenta de Azure Maps mediante los servicios de Creator. Para más información sobre Microsoft Entra ID, vea Autenticación de Microsoft Entra.

  • Configuración del control de acceso basado en roles. Con esta configuración, los creadores de mapas pueden actuar como si tuvieran el rol Colaborador de datos de Azure Maps, mientras que los usuarios de datos de mapas de Creator pueden actuar con el rol Lector de datos de Azure Maps. Para obtener más información, vea Autorización con el control de acceso basado en rol.

Tipos de elementos de datos de Creator

Los servicios de Creator crean, almacenan y usan varios tipos de datos que se definen y se analizan en las secciones siguientes. Un elemento de datos de Creator puede ser de los siguientes tipos:

  • Datos convertidos
  • Dataset
  • Conjunto de mosaicos
  • style
  • Configuración de mapa
  • Conjunto de estados de características
  • Conjunto de rutas

Carga de un paquete de dibujo

La instancia de Creator recopila datos de mapa de interiores mediante la conversión de un paquete de dibujo que esté cargado. El paquete de dibujo representa una instalación construida o remodelada. Para obtener información sobre los requisitos de los paquetes de dibujo, consulte Requisitos de los paquetes de dibujo.

Siga los pasos que se indican en el artículo Creación de registros de datos para cargar el paquete de dibujos en su cuenta de Azure Storage y, posteriormente, regístrarlo en su cuenta de Azure Maps.

Importante

Asegúrese de anotar el valor de identificador único (udid), ya que lo necesitará. Para convertir el paquete cargado en datos de mapa de interiores, se necesita udid.

Conversión de un paquete de dibujo

El servicio de conversión convierte un paquete de dibujo cargado en datos de un plano interior. El servicio de conversión también valida el paquete. Los problemas de validación se clasifican en dos tipos:

  • Errores: si se detecta algún error, se produce un error en el proceso de conversión. Cuando se produce un error, el servicio de conversión proporciona un vínculo a la aplicación web independiente Visualizador de errores de dibujo de Azure Maps. Puede usar el Visualizador de errores de dibujo para inspeccionar los errores y advertencias del paquete de dibujo que se produjeron durante el proceso de conversión. Después de corregir los errores, puede intentar cargar y convertir el paquete.
  • Advertencias: si se detecta alguna advertencia, la conversión se realiza correctamente. Sin embargo, recomendamos que revise y resuelva todas las advertencias. Una advertencia significa que parte de la conversión se ignoró o corrigió automáticamente. Si no se resuelven las advertencias, podrían producirse errores en procesos posteriores. Para obtener más información, consulte Advertencias y errores del paquete de dibujo.

Creación de datos de los planos interiores

Azure Maps Creator proporciona los siguientes servicios que admiten la creación de mapas:

Conjuntos de datos

Un conjunto de datos es una colección de características del plano interior. Las características de los mapas de interiores representan las instalaciones definidas en un paquete de dibujo convertido. Después de crear un conjunto de datos con el servicio de conjunto de datos, puede crear cualquier número de conjuntos de mosaicos o conjuntos de estados de características.

En cualquier momento, los desarrolladores pueden utilizar el servicio de conjunto de datos para agregar o eliminar instalaciones en un conjunto de datos existente. Para obtener más información sobre cómo actualizar un conjunto de datos existente mediante la API, consulte las opciones para anexar contenido en el servicio de conjunto de datos. Para obtener un ejemplo de cómo actualizar un conjunto de datos, consulte Mantenimiento de datos.

Conjunto de mosaicos

Un conjunto de mosaicos es una colección de datos vectoriales que representa un conjunto de mosaicos de cuadrícula uniformes. Los desarrolladores pueden usar el servicio de conjunto de mosaicos para crear conjuntos de mosaicos desde un conjunto de datos.

Para reflejar diferentes fases de contenido, puede crear varios conjuntos de mosaicos desde el mismo conjunto de datos. Por ejemplo, puede crear un conjunto de mosaicos con mobiliario y equipamiento, y otro conjunto de mosaicos sin mobiliario ni equipamiento. Puede generar un conjunto de mosaicos con las actualizaciones de datos más recientes y otro sin las actualizaciones de datos más recientes.

Además de los datos vectoriales, el conjunto de mosaicos proporciona metadatos para la optimización de la representación de planos. Por ejemplo, los metadatos del conjunto de mosaicos contienen un nivel de zoom mínimo y máximo para ese conjunto de mosaicos. Asimismo, los metadatos proporcionan un cuadro de límite que define la extensión geográfica del conjunto de mosaicos. Una aplicación puede utilizar un cuadro de límite para establecer mediante programación el punto central correcto. Para obtener más información sobre los metadatos del conjunto de mosaicos, consulte Lista de conjunto de mosaicos.

Una vez que se ha creado un conjunto de mosaicos, se recupera mediante el servicio Render.

Si un conjunto de mosaicos se queda obsoleto y ya no es útil, puede eliminar ese conjunto de mosaicos. Para obtener información sobre cómo eliminar conjuntos de mosaicos, consulte Mantenimiento de datos.

Nota:

Un conjunto de mosaicos es independiente del conjunto de datos del que se creó. Si crea conjuntos de mosaicos a partir de un conjunto de datos y, después, actualiza ese conjunto de datos, los conjuntos de mosaicos no se actualizarán.

Para reflejar los cambios en un conjunto de datos, debe crear nuevos conjuntos de mosaicos. Del mismo modo, si elimina un conjunto de mosaicos, el conjunto de datos no se verá afectado.

Estilo personalizado (versión preliminar)

Un estilo define la apariencia visual de un mapa. Define los datos que se van a dibujar, el orden de dibujarlos y cómo aplicar un estilo a los datos al dibujarlos. Los estilos de Azure Maps Creator son compatibles con el estándar MapLibre para las capas de estilo y los sprites.

Al convertir un paquete de dibujo después de cargarlo en la cuenta de Azure Maps, los estilos predeterminados se aplican a los elementos del mapa. El servicio de estilo personalizado le permite personalizar la apariencia visual del mapa. Puede hacerlo mediante la edición manual del JSON del estilo y la importación en su cuenta de Azure Maps a través de la solicitud HTTP Estilo - Crear, sin embargo, el enfoque recomendado es utilizar el editor de estilo visual. Para obtener más información, consulte Crear estilos personalizados para mapas de interiores.

Capa de ejemplo en el archivo style.json:

{
	"id": "indoor_unit_gym_label",
	"type": "symbol",
	"filter": ["all", ["has","floor0"], ["any", ["==", "categoryName", "room.gym"]]],
	"layout": {
		"visibility": "none",
		"icon-image": "gym",
		"icon-size": {"stops": [[17.5, 0.7], [21, 1.1]]},
		"symbol-avoid-edges": true,
		"symbol-placement": "point",
		"text-anchor": "top",
		"text-field": "{name}",
		"text-font": ["SegoeFrutigerHelveticaMYingHei-Medium"],
		"text-keep-upright": true,
		"text-letter-spacing": 0.1,
		"text-offset": [0, 1.05],
		"text-size": {"stops": [[18, 5], [18.5, 6.5], [19, 8], [19.5, 9.5], [20, 11]]}
	},
	"metadata": {"microsoft.maps:layerGroup": "labels_indoor"},
	"minzoom": 17.5,
	"paint": {
		"text-color": "rgba(0, 0, 0, 1)",
		"text-halo-blur": 0.5,
		"text-halo-color": "rgba(255, 255, 255, 1)",
		"text-halo-width": 1,
		"text-opacity": ["step", ["zoom"], 0, 18, 1]
	},
	"source-layer": "Indoor unit"
},
Propiedades de capa. Descripción
id Nombre de capa.
type Tipo de representación de esta capa.
Algunos de los tipos más comunes son:
relleno: un polígono relleno con un borde trazo opcional.
Línea: una línea de trazos.
Símbolo: icono o etiqueta de texto.
extrusión de relleno: polígono extruido (3D).
filter Solo se muestran las características que coinciden con los criterios de filtrado.
diseño Propiedades de diseño de la capa.
minzoom Número comprendido entre 0 y 24 que representa el nivel de zoom mínimo de la capa. En niveles de zoom inferiores al minzoom, la capa está oculta.
pintar Propiedades de pintura predeterminadas para esta capa.
capa de origen Un origen proporciona los datos, a partir de un origen de mosaico vectorial, que se muestra en un mapa. Obligatorio para los orígenes de mosaico vectorial; prohibido para todos los demás tipos de origen, incluidos los orígenes GeoJSON.

Configuración de mapa

La configuración del mapa es una matriz de configuraciones. Cada configuración consta de un mapa base y una o varias capas, cada capa que consta de una tupla de conjunto de mosaicos + de estilo.

La configuración del mapa se usa cuando crea una instancia el administrador interior de un objeto de mapa al desarrollar aplicaciones en Azure Maps. Se hace referencia a él mediante mapConfigurationId o alias. Las configuraciones de mapa son inmutables. Al realizar cambios en una configuración de mapa existente, se crea una nueva configuración de mapa, lo que da lugar a otro mapConfingurationId. Cada vez que cree una configuración de mapa con un alias ya usado por una configuración de mapa existente, apuntará a la nueva configuración de mapa.

El siguiente JSON es un ejemplo de una configuración de mapa predeterminada. Vea la tabla siguiente para obtener una descripción de cada elemento del archivo:

{
    "version": 1.0,
    "description": "This is the default Azure Maps map configuration for facility ontology tilesets.",
    "defaultConfiguration": "indoor_light",
    "configurations": [
        {
            "name": "indoor_light",
            "displayName": "Indoor light",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_2022-01-01.png",
            "baseMap": "microsoft_light",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_2022-01-01"
                }
            ]
        },
        {
            "name": "indoor_dark",
            "displayName": "Indoor dark",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_dark_2022-01-01.png",
            "baseMap": "microsoft_dark",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_dark_2022-01-01"
                }
            ]
        }
    ]
}
propiedades de objetos de estilo Descripción
Nombre Nombre del estilo.
DisplayName El nombre para mostrar el estilo.
description Descripción definida por el usuario del estilo.
thumbnail Use para especificar la miniatura usada en el selector de estilos para este estilo. Para obtener más información, vea el control selector de estilos.
baseMap Use para establecer el estilo de mapa base.
capas La matriz de capas está formada por una o más tuplas de conjunto de mosaicos + estilo, cada una de las cuales es una capa del mapa. Esto permite varios edificios en un mapa, cada edificio representado en su propio conjunto de mosaicos.

Información adicional

Conjuntos de estados de características

Los conjuntos de estados de características son colecciones de propiedades dinámicas (estados) asignadas a las características del conjunto de datos, como salas o equipamiento. Un ejemplo de un estado podría ser la temperatura o la ocupación. Cada estado es un par clave-valor que contiene el nombre de la propiedad, el valor y la marca de tiempo de la última actualización.

Puede usar el servicio de estado de característica para crear y administrar un conjunto de estados de características para un conjunto de datos. El conjunto de estados se define en uno o varios estados. Cada característica, como una sala, puede tener un estado adjunto.

El valor de cada estado en un conjunto de estados se actualiza o recupera en dispositivos IoT u otras aplicaciones. Por ejemplo, al usar Feature State Update API, los dispositivos que miden la ocupación de espacio pueden publicar sistemáticamente el cambio de estado de una habitación.

Una aplicación puede usar un conjunto de estados de características para representar dinámicamente características en una instalación según su estado actual y su estilo de plano respectivo. Para obtener más información sobre el uso de conjuntos de estados de características para dar estilo a las características en un mapa de representación, consulte el módulo de Indoor Maps.

Nota

Al igual que sucede con los conjuntos de mosaicos, cambiar un conjunto de datos no afecta al conjunto de estados de características existente; igualmente, eliminar un conjunto de estados de características no afecta al conjunto de datos al que esté asociado.

Wayfinding (versión preliminar)

El servicio Wayfinding le permite proporcionar a sus clientes la ruta más corta entre dos puntos dentro de una instalación. Una vez que haya importado los datos del mapa de interiores y haya creado el conjunto de datos, puede usarlo para crear un conjunto de rutas. El conjunto de rutas proporciona los datos necesarios para generar rutas entre dos puntos. El servicio Wayfinding tiene en cuenta aspectos como el ancho mínimo de las aberturas y, como consecuencia, puede excluir ascensores o escaleras al desplazarse entre plantas.

El servicio Wayfinding del creador cuenta con tecnología de Havok.

Rutas de Wayfinding

Cuando se genera correctamente una ruta de Wayfinding, se encuentra la ruta más corta entre dos puntos de la instalación especificada. Cada piso del recorrido se representa como una etapa independiente, igual que las escaleras o los ascensores utilizados para moverse entre pisos.

Por ejemplo, la primera etapa de la ruta podría ser desde el origen hasta el ascensor de ese piso. La siguiente etapa es el ascensor y, a continuación, la última etapa es la ruta desde el ascensor hasta el destino. El tiempo de desplazamiento estimado también se calcula y se devuelve en el JSON de respuesta HTTP.

Estructura

Para que Wayfinding funcione, los datos de la instalación deben contener una estructura. El servicio Wayfinding calcula la ruta más corta entre dos puntos seleccionados de una instalación. El servicio crea la ruta navegando por las estructuras, como paredes y cualquier otra estructura impermeable.

Penetración vertical

Si el origen y el destino seleccionados están en diferentes plantas, el servicio Wayfinding determina qué objetos de penetración vertical, como escaleras o ascensores, están disponibles como posibles vías para desplazarse verticalmente entre niveles. De manera predeterminada, se usa la opción que de como resultado la ruta más corta.

El servicio Wayfinding incluye escaleras o ascensores en una ruta según el valor de la propiedad direction de la penetración vertical. Para más información sobre la propiedad de dirección, consulte verticalPenetration en el artículo Ontología de instalaciones. Consulte las propiedades avoidFeatures y minWidth en la documentación de la API de Wayfinding para obtener información sobre otros factores que pueden afectar a la selección de la ruta entre los niveles de planta.

Para obtener más información, consulte el artículo de procedimientos del servicio Wayfinding de mapas de interiores.

Uso de planos interiores

Render: API Get Map Tile

La API [Render - Get Map Tile] de Azure Mapas se ha ampliado para admitir conjuntos de iconos de Creator.

Las aplicaciones pueden usar Render: Get Map Tile API para solicitar conjuntos de mosaicos. El conjunto de mosaicos se puede integrar en un control de plano o un SDK. Para obtener un ejemplo de un control de mapa que use el servicio Render, consulte el módulo de Indoor Maps.

API del servicio de características web

Puede usar Web Feature Service (WFS) para consultar conjuntos de datos. WFS sigue las características de Open Geospatial Consortium API. Puede usar la API WFS para consultar características en el propio conjunto de datos. Por ejemplo, puede usar WFS para buscar todas las salas de reuniones de tamaño medio de una instalación y una planta determinadas.

Alias API

Los servicios de Creator, como la conversión, el conjunto de datos, el conjunto de mosaicos y el estado de características, devuelven un identificador para cada recurso que se crea a partir de las API. Alias API le permite asignar un alias para hacer referencia a un identificador de recurso.

Módulo de Indoor Maps

El SDK web de Azure Maps incluye el módulo Indoor Maps. Este módulo ofrece funcionalidades extendidas para la biblioteca del control de mapa de Azure Maps. El módulo Indoor Maps representa los planos interiores creados en Creator. Integra widgets, como el selector de plantas, que ayuda a los usuarios a visualizar las distintas plantas.

Puede usar el módulo de Indoor Maps para crear aplicaciones web que integren datos de mapas de interiores con otros servicios de Azure Maps. Las configuraciones de aplicaciones más comunes incluyen la adición de conocimiento a mapas de interiores desde otros mapas, como carreteras, imágenes, el tiempo y el tránsito.

El módulo Indoor Maps también admite el estilo dinámico del plano. Para ver un tutorial paso a paso sobre cómo implementar el estilo dinámico del conjunto de estados de características en una aplicación, consulte Cómo usar el módulo de mapa de interiores.

Integración de Azure Maps

Cuando empiece a desarrollar soluciones para planos interiores, puede descubrir diferentes maneras de integrar las capacidades de Azure Maps existentes. Por ejemplo, puede implementar escenarios de seguridad o de seguimiento de recursos mediante el uso del servicio de geovalla con los mapas de interiores de Creator. Por ejemplo, puede usar Geofence API para determinar si un trabajador entra o sale de determinadas áreas interiores. Para obtener más información sobre cómo conectar Azure Maps con la telemetría de IoT, consulte Tutorial: Implementación de análisis espacial de IoT mediante Azure Maps.

Mantenimiento de datos

Puede usar Creator List, Update, y Delete API de Azure Maps para enumerar, actualizar y eliminar conjuntos de datos, conjuntos de mosaicos y conjuntos de estados de características.

Nota:

Cuando revise una lista de elementos para determinar si debe eliminarlos, considere el impacto que esa eliminación tendrá en todas las API o aplicaciones dependientes. Por ejemplo, si elimina un conjunto de iconos que usa una aplicación mediante la API [Render - Get Map Tile], la aplicación no puede representar ese conjunto de iconos.

Ejemplo: actualización de un conjunto de datos

En el ejemplo siguiente se muestra cómo actualizar un conjunto de datos, crear un nuevo conjunto de mosaicos y eliminar un conjunto de mosaicos antiguo:

  1. Siga los pasos de las secciones Carga de un paquete de dibujo y Conversión de un paquete de dibujo para cargar y convertir el nuevo paquete de dibujo.
  2. Use Crear conjunto de datos para anexar los datos convertidos al conjunto de datos existente.
  3. Use Crear conjunto de mosaicos para generar un nuevo conjunto de mosaicos fuera del conjunto de datos actualizado.
  4. Guarde el nuevo valor de tilesetId para el paso siguiente.
  5. Para habilitar la visualización del conjunto de datos actualizado del campus, actualice el identificador del conjunto de mosaicos en la aplicación. Si el antiguo conjunto de mosaicos ya no está en uso, puede eliminarlo.

Pasos siguientes