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

Disponible avec un portail sous licence avec la fonctionnalité Indoors.​

Résumé

Permet d’importer les entités d’un fichier BIM dans un jeu de données intérieur.

Cet outil importe directement les entités d’un fichier BIM dans un jeu de données intérieur conforme au modèle d’informations ArcGIS Indoors. La sortie de cet outil permet de créer des cartes 2D et des scènes 3D exploitables dans des applications de localisation intérieure et de générer un réseau intérieur à des fins de calcul d’itinéraires.

Utilisation

  • 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 à ArcGIS Pro

  • Le paramètre Input BIM Floorplan Polygon Layer (Couche surfacique du plan d’étage BIM en entrée) est la couche d’entités Floorplan_Polygon issue du jeu de données de plan d’étage du fichier BIM source.

    • L’outil utilise la couche Floorplan_Polygon pour construire des entités Niveaux et Unités.
    • En se basant sur la valeur du paramètre Input BIM Floorplan Polygon Layer (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 construire le jeu de données intérieur. La couche Footprint permet de construire les entités Installations ; quant à la couche Floorplan_Polyline, elle permet de construire les entités Details (Détails).
  • La valeur du paramètre Target Indoor Dataset (Jeu de données indoor cible) doit être un jeu de données intérieur contenant des classes d’entités Facilities (Installations), Levels (Niveaux), Units (Unités) et Details (Détails) qui sont conformes au modèle d’informations ArcGIS Indoors.

  • Le paramètre Ground Floor Name (Nom du rez-de-chaussée) détermine le rez-de-chaussée du bâtiment. L’ordre vertical, l’élévation relative, le numéro du niveau et la valeur z de chaque niveau du jeu de données indoor cible sont dérivés 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 intérieur.
    • Seuls les niveaux habitables sont acceptés comme entrées pour ce paramètre.
    • L’élévation absolue de chaque niveau du jeu de données indoor cible est obtenue à partir des coordonnées z des entités de niveau dans le fichier BIM source. Cela permet de déterminer la valeur du champ ABSOLUTE_ELEVATION pour les entités Levels (Niveaux), Units (Unités) et Details (Détails). La valeur du champ ABSOLUTE_ELEVATION des entités Installations est définie selon la valeur absolue de l’entité de niveau indiquée pour le paramètre Ground Floor Name (Nom du rez-de-chaussée).

  • Le paramètre Building Name (Nom de bâtiment) permet de renseigner les champs FACILITY_ID et NAME pour les entités Installations dans le jeu de données intérieur cible. Si l’outil est exécuté sans valeur spécifiée pour le paramètre Building Name (Nom de bâtiment), les champs FACILITY_ID et NAME sont renseignés à l’aide de la valeur du champ Bldg_Name qui se trouve dans la couche des emprises du fichier BIM source. Si le champ Bldg_Name est nul ou vide, les champs sont renseignés par le nom du fichier BIM source.

  • Si les données existent dans le jeu de données intérieur, les noms Facility (Installation) et Level (Niveau) figurant dans le fichier BIM source sont comparés aux noms Facility (Installation) et Level (Niveau) du jeu de données intérieur afin de déterminer les entités à remplacer. Si la valeur du paramètre Building Name (Nom de bâtiment) concorde avec celle du paramètre NAME d’une entité Installations, l’installation est remplacée. Si la valeur du champ BldgLevel d’une entité de niveau figurant dans le fichier BIM source correspond à celle du champ NAME d’une entité Levels (Niveaux) dans le jeu de données intérieur, les entités Levels (Niveaux) ainsi que les entités Units (Unités) et Details (Détails) associées sont remplacées.

    Remarque :

    Si le paramètre Building Name (Nom de bâtiment) ne correspond pas au champ NAME de la couche Installations dans le jeu de données intérieur, les entités du fichier BIM source sont importées dans une nouvelle installation comportant la valeur Building Name (Nom de bâtiment) spécifiée.

  • Le paramètre Room Category Field (Champ Catégorie de salle) définit le champ de la couche d’entités Floorplan_Polygon qui permet de renseigner le champ USE_TYPE de la classe d’entités Units (Unités) dans le jeu de données cible. Si aucun champ n’est indiqué, la valeur du champ RoomName de la couche Floorplan_Polygon est utilisée.

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

  • Le paramètre Area Unit of Measure (Unité de mesure de surface) permet de spécifier les unités utilisées pour les champs AREA_GROSS et AREA_NET dans la classes d’entités Installations, Niveaux, Unités et Détails.

Syntaxe

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})
ParamètreExplicationType 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

Le jeu de données indoor cible, conforme au modèle d’informations ArcGIS Indoors, contient les classes d’entités Facilities (Installations), Levels (Niveaux), Units (Unités) et Details (Détails).

Feature Dataset
ground_floor_name

Rez-de-chaussée du bâtiment. L’ordre vertical est dérivé de cette entrée. Tout niveau dont l’élévation est inférieure à celle du rez-de-chaussée spécifié se voit 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 correspond à 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.

String
room_category_field
(Facultatif)

Le champ de la couche d’entités Floorplan_Polygon permettant de renseigner le champ USE_TYPE de la classe d’entités Units (Unités) dans le jeu de données indoor cible. Si aucun champ n’est indiqué, 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)

Spécifie l’unité de mesure utilisée pour les champs relatifs à des surfaces dans les classes d’entités Facilities (Installations), Levels (Niveaux) et Units (Unités).

  • SQUARE_METERSLa surface est exprimée en mètres carrés.
  • SQUARE_FEETLa surface est exprimée en pieds carrés. Il s’agit de l’option par défaut.
String

Sortie dérivée

NomExplicationType de données
updated_indoor_dataset

Jeu de données indoor cible mis à jour.

Jeu de classes d’entités

Exemple de code

Exemple 1 d’utilisation de l’outil ImportBIMToIndoorDataset (fenêtre Python)

Le script de fenêtre Python ci-dessous 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\Indoors',
                                        'LEVEL 01',
                                        'Building_A',
                                        'Category',
                                        ['BASEMENT', 'LEVEL 01', 'LEVEL 02'],
                                        'SQUARE_FEET')
Exemple 2 d’utilisation de l’outil 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\Indoors'
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)

Informations de licence

  • Basic: Requiert Indoors
  • Standard: Requiert Indoors
  • Advanced: Requiert Indoors

Rubriques connexes