Importer un fichier BIM dans un jeu de données Indoor (Indoors)

Disponible pour une organisation ArcGIS disposant d’une licence pour l’extension Indoors.

Synthèse

Importer les entités d’un fichier BIM dans un jeu de données Indoor.

Cet outil importe des entités directement depuis un fichier BIM vers un jeu de données Indoor conforme au modèle d’information ArcGIS Indoors. La sortie de cet outil peut servir à créer des cartes 2D et des scènes 3D à utiliser dans des applications prenant en charge les étages, ainsi qu’à générer un réseau Indoor pour le calcul d’itinéraire.

Utilisation

  • Vous pouvez utiliser cet outil pour charger des données de plan d’étage dans un jeu de données Indoor créé à l’aide de l’outil Créer un jeu de données Indoor ou une géodatabase Indoors créée à l’aide de l’outil Créer une base de données Indoors.

  • Il convient de géoréférencer les données BIM sources au préalable pour pouvoir utiliser cet outil.

    En savoir plus sur l’ajout de données BIM dans ArcGIS Pro

  • La valeur du paramètre Couche surfacique du plan d’étage BIM en entrée correspond à la couche d’entités Floorplan_Polygon du jeu de données Floorplan dans le fichier BIM source.

    • L’outil utilise la couche Floorplan_Polygon pour créer des entités Niveaux et Unités.
    • En se basant sur la valeur du paramètre Couche surfacique du plan d’étage BIM en entrée, l’outil accède aux couches supplémentaires du même jeu de données Floorplan afin de créer le jeu de données Indoor. La couche Footprint permet de créer les entités Bâtiments. Quant à la couche Floorplan_Polyline, elle permet de créer les entités Détails.
  • La valeur du paramètre Jeu de données Indoor cible doit être un jeu de données Indoor contenant des classes d’entités Bâtiments, Niveaux, Unités et Détails conformes au modèle Indoors.

    Remarque :

    Vous pouvez également utiliser un jeu de données issu de la géodatabase Indoors (créée à l’aide de l’outil Créer une base de données Indoor) qui comporte des attributs supplémentaires qui seront renseignés par cet outil.

  • Le paramètre Nom du rez-de-chaussée détermine le rez-de-chaussée du bâtiment. L’ordre vertical, le numéro de niveau et la valeur z de chaque niveau dans le jeu de données Indoor cible découlent de cette entrée. Tout niveau dont l’élévation est inférieure à celle du rez-de-chaussée identifié se voit attribuer un ordre vertical négatif.

    Remarque :
    • Il est inutile d’importer le niveau que vous avez défini comme rez-de-chaussée dans le jeu de données Indoor.
    • Seuls les niveaux habitables sont acceptés comme entrées pour ce paramètre.

  • Le paramètre Nom du bâtiment permet de renseigner les champs FACILITY_ID et NAME pour les entités Bâtiments du jeu de données Indoor. Si l’outil s’exécute sans que la valeur du paramètre Nom du bâtiment soit spécifiée, les champs FACILITY_ID et NAME sont renseignés avec la valeur du champ Bldg_Name issue de la couche Footprint dans le fichier BIM source. Si le champ Bldg_Name est nul ou vide, les champs sont renseignés avec le nom du fichier BIM source.

  • S’il existe des données dans le jeu de données Indoor, les noms de bâtiment et de niveau dans le fichier BIM source sont comparés aux noms correspondants dans le jeu de données Indoor pour identifier les entités à remplacer. Si la valeur du paramètre Nom du bâtiment correspond à la valeur du champ NAME d’une entité Bâtiments, le bâtiment est remplacé. Si la valeur du champ BldgLevel pour une entité Niveaux dans le fichier BIM source correspond à la valeur du champ NAME pour une entité Niveaux dans le jeu de données Indoor, l’entité Niveau et les entités Détails et Unités associées sont remplacées.

    Remarque :

    Si la valeur du paramètre Nom du bâtiment ne correspond pas au champ NAME pour la couche Bâtiments dans le jeu de données Indoor, les entités du fichier BIM source sont importées comme faisant partie d’un nouveau bâtiment avec la valeur Nom du bâtiment spécifiée.

  • Le paramètre Champ Catégorie de salle définit le champ de la couche surfacique Floorplan_Polygon à utiliser pour renseigner le champ USE_TYPE de la classe d’entités Unités dans le jeu de données cible. Si aucun champ n’est fourni, la valeur du champ RoomName de la couche Floorplan_Polygon est utilisée.

  • Le paramètre Étages à importer définit les étages du fichier BIM en entrée qui sont importés. Si les étages sélectionnés existent dans le jeu de données cible, ils sont mis à jour, ainsi que les entités Détails et Unités associées. Si aucun étage n’est indiqué, tous les étages du fichier BIM sont importés et mis à jour.

  • Le paramètre Unité de mesure de surface vous permet de spécifier les unités utilisées pour le champ AREA_GROSS dans les classes d’entités Niveaux et Unités.

Paramètres

ÉtiquetteExplicationType de données
Couche surfacique du plan d’étage BIM en entrée

La couche d’entités Floorplan_Polygon du fichier BIM source a été ajoutée à la carte actuelle.

Feature Layer
Jeu de données Indoor cible

Jeu de données Indoor cible conforme au modèle d’information ArcGIS Indoors et contenant les classes d’entités Bâtiments, Niveaux, Unités et Détails.

Feature Dataset
Nom du rez-de-chaussée

Rez-de-chaussée du bâtiment. L’ordre vertical des niveaux est dérivé de cette entrée. Tous les niveaux dont l’élévation est inférieure à celle du rez-de-chaussée spécifié se voient attribuer un ordre vertical négatif.

String
Nom du bâtiment
(Facultatif)

Nom de bâtiment unique attribué aux entités Indoors en sortie. La valeur par défaut est la valeur du champ Bldg_Name provenant du fichier BIM en entrée. Si le champ est nul ou vide, ce paramètre est renseigné avec le nom du fichier source en entrée.

String
Champ Catégorie de salle
(Facultatif)

Champ de la couche d’entités Floorplan_Polygon utilisé pour renseigner le champ USE_TYPE de la classe d’entités Unités dans le jeu de données Indoor cible. Si aucun champ n’est fourni, la valeur du champ RoomName de la couche Floorplan_Polygon est utilisée.

String
Étages à importer
(Facultatif)

Étages du fichier BIM en entrée qui sont importés dans le jeu de données Indoor cible. Si aucun étage n’est indiqué, tous les étages sont importés.

String
Unité de mesure de surface
(Facultatif)

Indique l’unité de mesure utilisée pour les champs surfaciques dans les classes d’entités Niveaux et Unités.

  • Mètres carrésL’unité de surface est le mètre carré.
  • Pieds carrésL’unité de surface est le pied carré. Il s’agit de l’option par défaut.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données Indoor mis à jour

Jeu de données Indoor cible mis à jour.

Feature Dataset

arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_indoor_dataset, ground_floor_name, {building_name}, {room_category_field}, {floors_to_import}, {area_unit_of_measure})
NomExplicationType de données
in_bim_floorplan_layer

La couche d’entités Floorplan_Polygon du fichier BIM source a été ajoutée à la carte actuelle.

Feature Layer
target_indoor_dataset

Jeu de données Indoor cible conforme au modèle d’information ArcGIS Indoors et contenant les classes d’entités Bâtiments, Niveaux, Unités et Détails.

Feature Dataset
ground_floor_name

Rez-de-chaussée du bâtiment. L’ordre vertical des niveaux est dérivé de cette entrée. Tous les niveaux dont l’élévation est inférieure à celle du rez-de-chaussée spécifié se voient attribuer un ordre vertical négatif.

String
building_name
(Facultatif)

Nom de bâtiment unique attribué aux entités Indoors en sortie. La valeur par défaut est la valeur du champ Bldg_Name provenant du fichier BIM en entrée. Si le champ est nul ou vide, ce paramètre est renseigné avec le nom du fichier source en entrée.

String
room_category_field
(Facultatif)

Champ de la couche d’entités Floorplan_Polygon utilisé pour renseigner le champ USE_TYPE de la classe d’entités Unités dans le jeu de données Indoor cible. Si aucun champ n’est fourni, la valeur du champ RoomName de la couche Floorplan_Polygon est utilisée.

String
floors_to_import
[floors_to_import,...]
(Facultatif)

Étages du fichier BIM en entrée qui sont importés dans le jeu de données Indoor cible. Si aucun étage n’est indiqué, tous les étages sont importés.

String
area_unit_of_measure
(Facultatif)

Indique l’unité de mesure utilisée pour les champs surfaciques dans les classes d’entités Niveaux et Unités.

  • SQUARE_METERSL’unité de surface est le mètre carré.
  • SQUARE_FEETL’unité de surface est le pied carré. Il s’agit de l’option par défaut.
String

Sortie obtenue

NomExplicationType de données
updated_indoor_dataset

Jeu de données Indoor cible mis à jour.

Feature Dataset

Exemple de code

Exemple 1 d’utilisation de la fonction ImportBIMToIndoorDataset (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction ImportBIMToIndoorDataset en mode immédiat.

import arcpy
arcpy.indoors.ImportBIMToIndoorDataset(r'C:\ExampleCampus.rvt\Floorplan\Floorplan_Polygon', 
                                        r'C:\Indoors\ExampleCampus.gdb\Indoor',
                                        'LEVEL 01',
                                        'Building_A',
                                        'Category',
                                        ['BASEMENT', 'LEVEL 01', 'LEVEL 02'],
                                        'SQUARE_FEET')
Exemple 2 d’utilisation de la fonction ImportBIMToIndoorDataset (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction ImportBIMToIndoorDataset.

# Name: ImportBIMToIndoorDataset_example2.py
# Description: Imports features from a BIM file into the indoor dataset

import arcpy

# Set tool parameters 
in_bim_floorplan_fc = r'C:\ExampleCampus.rvt\Floorplan\Floorplan_Polygon'
arcpy.management.MakeFeatureLayer(in_bim_floorplan_fc, 'in_bim_floorplan_layer')

target_indoor_dataset = r'C:\Indoors\ExampleCampus.gdb\Indoor'
ground_floor_name = 'LEVEL 01'
building_name = 'Building_A'
room_category_field = 'Category'
floors_to_import = ['BASEMENT', 'LEVEL 01', 'LEVEL 02']
area_unit_of_measure = 'SQUARE_FEET'

# Run the tool
arcpy.indoors.ImportBIMToIndoorDataset('in_bim_floorplan_layer', target_indoor_dataset,
                                       ground_floor_name, building_name,
                                       room_category_field, floors_to_import,
                                       area_unit_of_measure)

Environnements

Cas particuliers

Informations de licence

  • Basic: Nécessite Indoors
  • Standard: Nécessite Indoors
  • Advanced: Nécessite Indoors

Rubriques connexes