Créateur pour cartes d’intérieur

Cet article présente les concepts et outils qui s’appliquent au Créateur Azure Maps. Nous vous recommandons de lire cet article avant de commencer à utiliser l’API Créateur Azure Maps et le Kit de développement logiciel (SDK).

Vous pouvez utiliser Creator pour développer des applications avec des fonctionnalités de carte basées sur des données cartographiques d’intérieur. Cet article décrit le processus de chargement, de conversion, de création et d’utilisation de vos données cartographiques. En règle générale, le workflow est assuré par deux personnes différentes, avec des responsabilités et des domaines de compétences distincts :

  • Le créateur de carte : chargé de l’organisation et de la préparation des données cartographiques.
  • Utilisateur des données cartographiques de Creator : utilise les données cartographiques du client dans les applications.

Le schéma suivant illustre le workflow entier.

Creator map data workflow

Créer un Créateur Azure Maps

Pour utiliser les services Creator, vous devez créer une ressource Azure Maps Creator et l’associer à un compte Azure Maps avec le niveau tarifaire Gen 2. Pour plus d’informations sur la création d’une ressource Azure Maps Creator dans Azure, consultez Gérer Azure Maps Creator.

Conseil

Pour plus d’informations sur la tarification, consultez la section Créateur dans Tarification d’Azure Maps.

Authentification de Creator

Le Créateur hérite des paramètres de Contrôle d’accès (IAM) d’Azure Maps. Tous les appels d’API pour l’accès aux données doivent être envoyés avec des règles d’authentification et d’autorisation.

Les données d’utilisation du Créateur sont incorporées dans vos graphiques d’utilisation et journal d’activité Azure Maps. Pour plus d’informations, consultez Gérer l’authentification dans Azure Maps.

Important

Nous vous recommandons d’utiliser :

  • Microsoft Entra ID dans toutes les solutions créées avec un compte Azure Maps utilisant des services Creator. Si vous souhaitez obtenir plus d’informations sur Microsoft Entra ID, veuillez consulter Authentification Microsoft Entra.

  • Paramètres du contrôle d’accès en fonction du rôle. À l’aide de ces paramètres, les créateurs de cartes peuvent prendre le rôle de Contributeur aux données Azure Maps, et les utilisateurs de données cartographiques Creator celui de Lecteur de données Azure Maps. Pour plus d’informations, consultez Autorisation avec contrôle d’accès en fonction du rôle.

Types d’éléments de données Creator

Les services Creator créent, stockent et utilisent différents types de données qui sont définis et traités dans les sections suivantes. Un élément de données Creator peut être de l’un des types suivants :

  • Données converties
  • Dataset
  • Tileset
  • style
  • Configuration de carte
  • Ensemble d’états de fonctionnalité
  • Ensemble de routes

Charger un package de dessin

Le créateur collecte des données de carte d’intérieur en convertissant un package de dessin chargé. Le package de dessin représente un bâtiment construit ou rénové. Pour plus d’informations, consultez Exigences du package de dessin.

Suivez les étapes décrites dans l’article Procédure de création d’un registre de données pour charger le package de dessin dans votre compte de stockage Azure, puis enregistrez-le dans votre compte Azure Maps.

Important

Assurez-vous de noter la valeur de l'identifiant unique (udid), vous en aurez besoin. udid est obligatoire pour convertir le package chargé en données de carte d’intérieur.

Convertir un package de dessin

Le service de conversion convertit un package de dessin chargé en données cartographiques d’intérieur. Le service de conversion valide également le package. Les problèmes de validation sont classés en deux types :

  • Erreurs : si des erreurs sont détectées, le processus de conversion échoue. Quand une erreur se produit, le service de conversion fournit un lien vers l’application web autonome Visualiseur d’erreurs de dessin d’Azure Maps. Vous pouvez utiliser le Visualiseur d’erreurs de dessin pour inspecter les Avertissements et erreurs du package de dessin qui se sont produits pendant le processus de conversion. Après avoir corrigé les erreurs, vous pouvez essayer de charger et de convertir le package.
  • Avertissements : si des avertissements sont détectés, la conversion s’effectue correctement. Toutefois, nous vous recommandons d’examiner et de résoudre tous les avertissements. Un avertissement signifie qu’une partie de la conversion a été ignorée ou corrigée automatiquement. Ne pas résoudre les problèmes liés aux avertissements pourrait entraîner des erreurs dans les processus suivants. Pour plus d’informations, consultez Avertissements et erreurs du package de dessin.

Créer des données cartographiques d’intérieur

Azure Maps Creator fournit les services suivants qui prennent en charge la création de cartes :

Groupes de données

Un jeu de données est une collection de caractéristiques de carte d’intérieur. Les fonctionnalités de carte d’intérieur représentent des installations qui sont définies dans un package de dessin converti. Après avoir créé un jeu de données avec le service Jeu de données, vous pouvez créer n’importe quel nombre de tilesets ou d’ ensembles d’états de fonctionnalité.

À tout moment, les développeurs peuvent utiliser le service Jeu de données pour ajouter ou supprimer des installations dans un jeu de données existant. Pour plus d’informations sur la mise à jour d’un jeu de données à l’aide de l’API, consultez les options d’ajout dans Service Jeu de données. Pour voir un exemple illustrant la façon de mettre à jour un jeu de données, consultez Maintenance des données.

Tilesets

Un tileset est une collection de données vectorielles qui représente un ensemble de vignettes de grille uniformes. Les développeurs peuvent utiliser le Service Tileset pour créer des tilesets à partir d’un jeu de données.

Pour refléter différentes étapes de contenu, vous pouvez créer plusieurs tilesets à partir du même jeu de données. Par exemple, vous pouvez créer un tileset avec du mobilier et de l’équipement, et en créer un autre sans mobilier ni équipement. Vous pouvez choisir de générer un tileset avec les mises à jour de données les plus récentes, et en générer un autre sans les mises à jour de données les plus récentes.

En plus des données vectorielles, le tileset fournit des métadonnées pour l’optimisation du rendu de la carte. Par exemple, les métadonnées de tileset contiennent un niveau de zoom minimum et maximum pour le tileset. Les métadonnées fournissent également un rectangle englobant qui définit l’étendue géographique du tileset. Une application peut utiliser un rectangle englobant pour définir par programme le point central approprié. Pour plus d’informations sur les métadonnées d’un tileset, consultez Liste de tileset.

Après sa création, un tileset est récupéré par le service Render.

Si un tileset devient obsolète et n’est plus utile, vous pouvez le supprimer. Pour plus d’informations sur la façon de supprimer un tileset, consultez Maintenance des données.

Notes

Un tileset est indépendant du jeu de données à partir duquel il a été créé. Si vous créez un tileset à partir d’un jeu de données, et qu’ensuite vous mettez à jour ce jeu de données, le tileset n’est pas mis à jour.

Pour refléter les modifications apportées à un jeu de données, vous devez créer un nouveau tileset. De même, si vous supprimez un tileset, le jeu de données n’est pas affecté.

Style personnalisé (préversion)

Un style définit l’apparence visuelle d’une carte. Il définit quelles données représenter, l’ordre dans lequel les représenter et le style à leur appliquer. Les styles Azure Maps Creator prennent en charge la norme MapLibre pour les couches de style et les sprites.

Lorsque vous convertissez un package de dessin après l’avoir chargé dans votre compte Azure Maps, les styles par défaut sont appliqués aux éléments de votre carte. Le service de style personnalisé vous permet de personnaliser l’apparence visuelle de votre carte. Pour ce faire, vous pouvez modifier manuellement le code JSON de style et l’importer dans votre compte Azure Maps à l’aide de la requête HTTP Style - Create. Toutefois, l’approche recommandée consiste à utiliser l’éditeur de style visuel. Pour plus d’informations, consultez Créer des styles personnalisés pour les cartes d’intérieur.

Exemple de couche dans le fichier 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"
},
Propriétés des couches Description
id Nom de la couche
type Type de rendu pour cette couche.
Voici quelques-uns des types les plus courants :
fill : Polygone rempli avec une bordure dessinée facultative.
Line : Ligne dessinée.
Symbol : Icône ou étiquette texte.
fill-extrusion : Polygone extrudé (3D).
filter Seules les caractéristiques qui correspondent aux critères du filtre sont affichées.
disposition Propriétés de disposition pour la couche.
minzoom Nombre compris entre 0 et 24 qui représente le niveau de zoom minimal pour la couche. Aux niveaux de zoom qui sont inférieurs au minzoom, la couche est masquée.
paint Propriétés de peinture par défaut pour cette couche.
source-layer Une source fournit les données, d’une source de mosaïque vectorielle, affichées sur une carte. Obligatoire pour les sources de mosaïques vectorielles ; interdit pour tous les autres types de sources, y compris les sources GeoJSON.

Configuration de carte

La configuration de carte est un tableau de configurations. Chaque configuration se compose d’une carte de base et d’une ou plusieurs couches, chacune composée d’un tuple style + tileset.

La configuration de carte est utilisée quand vous instanciez le Gestionnaire d’intérieur d’un objet Map lors du développement d’applications dans Azure Maps. Elle est référencée avec mapConfigurationId ou alias. Les configurations de carte sont immuables. Lorsque vous apportez des modifications à une configuration de carte existante, une nouvelle configuration de carte est créée, ce qui génère un nouvel mapConfingurationId. Chaque fois que vous créez une configuration de carte à l’aide d’un alias déjà utilisé par une configuration de carte existante, celui-ci pointe vers la nouvelle configuration de carte.

Le code JSON suivant est un exemple de configuration de carte par défaut. Consultez le tableau suivant pour obtenir une description de chaque élément du fichier :

{
    "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"
                }
            ]
        }
    ]
}
Propriétés des objets de style Description
Nom Nom du style.
displayName Nom complet du style.
description Description définie par l’utilisateur du style.
thumbnail Permet de spécifier la miniature utilisée dans le sélecteur de style pour ce style. Pour plus d’informations, consultez la commande de sélecteur de style.
baseMap Permet de définir le style de la carte de base.
calques Le tableau de couches se compose d’un ou plusieurs tuples tileset + style, chacun étant une couche de la carte. Cela permet plusieurs constructions sur une carte, chaque construction étant représentée dans son propre tileset.

Informations supplémentaires

Stateset de caractéristique

Les ensembles d’états de fonctionnalité sont des collections de propriétés dynamiques (des états) qui sont attribuées à des fonctionnalités de jeu de données, telles que des salles ou des équipements. Un exemple d’état peut être une température ou une occupation. Chaque état est une paire clé/valeur qui contient le nom de la propriété, la valeur et l’horodatage de la dernière mise à jour.

Vous pouvez utiliser le service État de la fonctionnalité pour créer et gérer un ensemble d’états de fonctionnalité pour un jeu de données. Le stateset est défini par un ou plusieurs états. Chaque caractéristique, telle une salle, peut avoir un état associé.

La valeur de chaque état dans un stateset est mise à jour ou récupérée par des appareils IoT ou d’autres applications. Par exemple, à l’aide de l’API de mise à jour d’état de caractéristique, des appareils mesurant l’occupation de l’espace peuvent publier systématiquement le changement d’état d’une salle.

Une application peut utiliser un stateset de caractéristique pour restituer de façon dynamique des caractéristiques dans un bâtiment en fonction de leur état et de leur style de carte respectif. Pour plus d’informations sur l’utilisation des ensembles d’états de fonctionnalité afin d’appliquer des styles à des fonctionnalités dans une carte de rendu, consultez Module Cartes d’intérieur.

Notes

À l’instar des tilesets, la modification d’un jeu de données n’a pas d’incidence sur l’ensemble d’états de fonctionnalité existant, et la suppression d’un ensemble d’états de fonctionnalité n’a aucun effet sur le jeu de données auquel il est attaché.

Orientation (préversion)

Le service d’orientation vous permet de fournir à vos clients le chemin le plus court entre deux points au sein d’une installation. Une fois que vous avez importé vos données de carte d’intérieur et créé votre jeu de données, vous pouvez les utiliser pour créer un ensemble de routes. L’ensemble de routes fournit les données requises pour générer des chemins entre deux points. Le service d’orientation prend en compte des éléments tels que la largeur minimale des ouvertures. Il peut éventuellement exclure les ascenseurs ou les escaliers lors de la navigation entre les niveaux en conséquence.

L’orientation dans Creator fait appel à Havok.

Chemins d’orientation

Quand un chemin d’orientation est généré, il trouve le chemin le plus court entre deux points dans l’installation spécifiée. Chaque étage du parcours est représenté sous la forme d’une étape distincte, tout comme les escaliers ou les ascenseurs utilisés pour se déplacer entre les étages.

Par exemple, la première étape du chemin peut aller de l’origine à l’ascenseur de cet étage. L’étape suivante est l’ascenseur, puis la dernière étape est le chemin de l’ascenseur à la destination. Le temps de trajet estimé est également calculé, et retourné dans le JSON de réponse HTTP.

Structure

Pour que l’orientation fonctionne, les données d’installation doivent contenir une structure. Le service d’orientation calcule le chemin le plus court entre deux points sélectionnés dans une installation. Le service crée le chemin en parcourant les structures, telles que les murs et toutes les autres structures imperméables.

Pénétration verticale

Si l’origine et la destination sélectionnées se trouvent à des étages différents, le service d’orientation détermine les objets de pénétration verticale, comme des escaliers ou des ascenseurs, qui sont disponibles comme voies possibles pour naviguer verticalement entre les niveaux. Par défaut, l’option qui génère le chemin le plus court est utilisée.

Le service d’orientation comprend des escaliers ou des ascenseurs dans un chemin, en fonction de la valeur de la propriété direction de pénétration verticale. Pour plus d’informations sur la propriété de direction, consultez verticalPenetration dans l’article sur l’ontologie des installations. Consultez les propriétés avoidFeatures et minWidth dans la documentation de l’API d’orientation pour en savoir plus sur d’autres facteurs qui peuvent affecter la sélection du chemin entre les étages.

Pour plus d’informations, consultez l’article de procédure relatif au service d’orientation des cartes d’intérieur.

Utilisation des cartes d’intérieur

API Render-Get Map Tile

L’API Azure Cartes [Render - Get Map Tile] a été étendue pour prendre en charge les tileets Creator.

Les applications peuvent utiliser l’API Render-Get Map Tile pour demander des tilesets. Les tilesets peut ensuite être intégré dans un contrôle de carte ou un Kit de développement logiciel (SDK). Pour obtenir un exemple de contrôle de carte utilisant le service Render, consultez Module Cartes d’intérieur.

API de service de caractéristique web

Vous pouvez utiliser Web Feature Service (WFS) pour interroger les jeux de données. L’API de service de caractéristique web suit les caractéristiques de l’API Open Geospatial Consortium. Vous pouvez utiliser l’API WFS pour interroger des fonctionnalités à l’intérieur même du jeu de données. Par exemple, vous pouvez utiliser WFS pour rechercher toutes les salles de réunion de taille moyenne d’un bâtiment et d’un étage particuliers.

API d’alias

Les services Creator, tels que Conversion, Dataset, Tileset et Feature State, retournent un identificateur pour chaque ressource créée à partir des API. L’API Alias vous permet d’assigner un alias pour faire référence à un identificateur de ressource.

Module Cartes d’intérieur

Le Kit de développement logiciel (SDK) web Azure Maps comprend le module Cartes d’intérieur. Ce module offre des fonctionnalités étendues à la bibliothèque Map Control d’Azure Maps. Le module Cartes d’intérieur affiche des cartes d’intérieur créées dans le Créateur. Il intègre des widgets, tels qu’un sélecteur d’étage, qui aident les utilisateurs à visualiser les différents étages.

Vous pouvez utiliser le module Cartes d’intérieur pour créer des applications web qui intègrent les données cartographiques d’intérieur à d’autres services Azure Maps. Les configurations d’applications les plus courantes incluent l’ajout de connaissances provenant d’autres cartes, telles que la route, l’imagerie, la météo et le transit, à des cartes d’intérieur.

Le module Cartes d’intérieur prend également en charge l’application de style de carte dynamique. Pour une procédure pas à pas sur la façon d’implémenter dans une application l’application dynamique de style d’ensemble d’états de fonctionnalité, consultez Utiliser le module Cartes d’intérieur.

Intégration d’Azure Maps

Lorsque vous commencez à développer des solutions pour des cartes d’intérieur, vous pouvez découvrir des façons d’intégrer des fonctionnalités Azure Maps existantes. Par exemple, vous pouvez implémenter des scénarios de sécurité ou de suivi de ressource en utilisant le service Limite géographique avec des cartes d’intérieur de Creator. Par exemple, vous pouvez utiliser l’API Limite géographique pour déterminer si un employé pénètre dans des espaces intérieurs spécifiques, ou en sort. Pour plus d’informations sur la façon de connecter Azure Maps à la télémétrie IoT, consultez Tutoriel : Implémenter l’analytique spatiale IoT avec Azure Maps.

Maintenance des données

Vous pouvez utiliser l’API Azure Maps Creator Lister, Mettre à jour et Supprimer pour répertorier, mettre à jour et supprimer vos jeux de données, tilesets et ensembles d’états de fonctionnalité.

Notes

Lorsque vous examinez une liste d’éléments pour savoir si vous devez les supprimer, pensez à l’impact de cette suppression sur l’ensemble des applications ou API dépendantes. Par exemple, si vous supprimez un tileet utilisé par une application à l’aide de l’API [Render - Get Map Tile], l’application ne parvient pas à afficher ce tileet.

Exemple : Mise à jour d’un jeu de données

L’exemple suivant montre comment mettre à jour un jeu de données, créer un tileset et supprimer un ancien tileset :

  1. Pour charger et convertir le nouveau package de dessin, suivez les étapes des sections Charger un package de dessin et Convertir un package de dessin.
  2. Utilisez Création de jeu de données pour ajouter les données converties au jeu de données existant.
  3. Utilisez Création de tileset pour générer un nouveau tileset à partir du jeu de données mis à jour.
  4. Enregistrez le nouveau tilesetId pour l’étape suivante.
  5. Pour activer la visualisation du jeu de données campus mis à jour, mettez à jour l’identificateur du tileset dans votre application. Si l’ancien tileset n’est plus utilisé, vous pouvez le supprimer.

Étapes suivantes