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

Disponible avec l’extension ArcGIS Indoors Pro ou ArcGIS Indoors Maps.

Synthèse

Importe des entités depuis un fichier IFC (International Foundation Class) dans un jeu de données Indoor conforme au modèle d’information ArcGIS Indoors. La sortie de cet outil peut être utilisée pour créer des cartes et des scènes tenant compte des étages et pour générer un réseau Indoor pour le calcul d’itinéraire.

Utilisation

  • Cet outil permet de charger des données de plans d’étage dans un espace de travail Indoors créé à l’aide de l’outil Créer un jeu de données Indoor ou de l’outil Créer une base de données Indoors.

  • Les paramètres Entités Unité cibles, Entités Détails cibles, Entités Bâtiment cibles et Entités Niveau cibles doivent référencer des classes d’entités ou des couches d’entités conformes au modèle Indoors.

    Remarque :

    Les entités cibles doivent toutes provenir de la même géodatabase fichier, de la même géodatabase d’entreprise ou du même service d’entités.

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

    En savoir plus sur le géoréférencement des données BIM dans ArcGIS Pro

  • Vous pouvez exécuter l’outil Extraire le plan d’étage du fichier BIM pour créer des classes d’entités de plan d’étage et les utiliser en entrée de cet outil. Si le paramètre Charger depuis les couches de plan d’étage est coché, seules les entités présentes dans les couches de plan d’étage en entrée sont chargées dans l’espace de travail Indoors. La totalité des sélections ou des ensembles de définition définis sur les couches de plan d’étage sont respectés.

    Remarque :

    Si vous utilisez des couches de plan d’étage créées par l’outil Extraire le plan d’étage du fichier BIM, elles doivent être présentées dans le même système de coordonnées que celui du fichier IFC en entrée.

  • Les entités sont importées depuis le fichier IFC vers le modèle Indoors en fonction du tableau suivant :

    Catégorie IFCClasse d’entités du modèle Indoors

    Dalles

    Niveaux

    Espaces

    Unités

    Étendue de toutes les dalles

    Bâtiments

    Portes, Colonnes, Murs, Rampes, Escaliers, Fenêtres, Murs-rideaux, Meubles et Colonnes Structurelles

    Détails

  • Le paramètre Nom du bâtiment renseigne le champ NAME des entités Bâtiment importées dans le jeu de données Indoor. Gardez les points suivants à l’esprit lorsque vous définissez sa valeur :

    • Pour ajouter les données IFC en entrée en tant que nouveau bâtiment dans un jeu de données Indoor existant, spécifiez un nom de bâtiment qui n’est pas affecté à un autre bâtiment dans les entités Bâtiment cibles.
    • Pour mettre à jour un bâtiment existant, utilisez la valeur du champ NAME définie pour cette entité de bâtiment dans les entités de bâtiment cible.
      Remarque :

      Pour que vous puissiez mettre à jour une entité Bâtiment existante, la valeur du paramètre Nom du bâtiment doit correspondre à la valeur du champ NAME de l’entité Bâtiment.

  • Si des données existent aux localisations que vous avez définies pour les paramètres d’entité cible, les noms de bâtiment et de niveau dans le fichier IFC source sont comparés aux noms de bâtiment et de niveau des entités, ce qui permet d’identifier les entités à mettre à jour.

    • Une entité Bâtiments est mise à jour si la valeur du paramètre Nom du bâtiment correspond à celle du champ NAME d’une entité Bâtiments cible.
    • Une entité Niveaux, ainsi que ses entités Détails et Unités associées, sont mises à jour si la valeur du champ BldgLevel d’une entité Niveaux dans le fichier IFC source correspond à la valeur du champ NAME d’une entité Niveaux cible.
    • Lors d’une mise à jour, les valeurs des champs qui ne sont pas renseignés par défaut dans les couches Bâtiments, Niveaux et Unités sont conservées. Les entités Détails sont supprimées et à nouveau ajoutées.
    Remarque :

    Si la valeur du paramètre Nom du bâtiment ne correspond pas au champ NAME d’une entité Bâtiment existante, l’outil importe le modèle IFC en tant que nouveau bâtiment avec la valeur spécifiée pour Nom du bâtiment.

  • 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, le nom court et la valeur z de chaque niveau dans les entités de couche Niveau cibles résultent de cette entrée. Le niveau défini en tant que rez-de-chaussée est créé avec un ordre vertical et une valeur z de 0. Tout niveau dont l’élévation est inférieure à celle du rez-de-chaussée identifié se voit attribuer une valeur z et un ordre vertical négatifs. Une valeur z et un ordre vertical positifs sont attribués aux niveaux situés au-dessus du rez-de-chaussée.

  • Vous pouvez utiliser le paramètre Appariement des propriétés des unités pour apparier des attributs supplémentaires à partir de la couche Espaces du fichier IFC à des champs existants de la couche Unités cible. Les champs doivent exister avant que vous n’exécutiez l’outil. Il est recommandé d’apparier les champs de la couche Espaces IFC source à des champs cibles dont le type de données est identique.

Paramètres

ÉtiquetteExplicationType de données
Espace de travail de fichier BIM en entrée

Espace de travail IFC en entrée.

BIM File Workspace
Entités de bâtiment cibles

Couche d’entités, classe d’entités ou service d’entités Bâtiments cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Niveaux, Unités et Détails cibles.

Feature Layer
Facility Name (Nom du bâtiment)

Nom commun du bâtiment. Si une entité dotée du même nom existe dans la couche Bâtiments cible, elle est mise à jour, ainsi que toutes les entités Niveaux, Unités et Détails associées.

String
Entités de niveau cibles

Couche d’entités, classe d’entités ou service d’entités Niveaux cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Bâtiments, Unités et Détails cibles.

Feature Layer
Entités d’unité cibles

Couche d’entités, classe d’entités ou service d’entités Unités cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Bâtiments, Niveaux et Détails cibles.

Feature Layer
Entités de détail cibles

Couche d’entités, classe d’entités ou service d’entités Détails cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Bâtiments, Niveaux et Unités cibles.

Feature Layer
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
Appariement des propriétés des unités
(Facultatif)

Contrôle les champs attributaires de la classe d’entités Unités qui seront remplis avec des valeurs de champ provenant de la couche Espaces IFC en entrée. Les champs doivent exister avant que vous n’exécutiez l’outil. Il est recommandé d’apparier les champs de la couche Espaces IFC en entrée à des champs de la couche Unités dont le type de données est identique.

Field Mappings
Charger depuis les couches de plan d’étage
(Facultatif)

Indique si les entités sont chargées depuis des couches de plan d’étage créées par l’outil Extraire le plan d’étage du fichier BIM.

  • Coché : les entités sont chargées depuis les couches de plan d’étage en entrée créées par l’outil Extraire le plan d’étage du fichier BIM. Toutes les sélections définies sur les couches en entrée sont respectées.
  • Décoché : les entités sont chargées à partir du fichier IFC. Tous les niveaux sont chargés et les sélections ne sont pas respectées. Il s’agit de l’option par défaut.
Boolean
Emprise de plan d’étage en entrée
(Facultatif)

Couche d’entités Emprise de plan d’étage créée à l’aide de l’outil Extraire le plan d’étage du fichier BIM. Les entités de cette couche sont utilisées pour créer des entités dans la couche Bâtiments cible.

Feature Layer
Couche surfacique du plan d’étage en entrée
(Facultatif)

Couche d’entités Polygone de plan d’étage créée à l’aide de l’outil Extraire le plan d’étage du fichier BIM. Les entités de cette couche sont utilisées pour créer des entités dans les couches Niveaux et Unités cibles.

Feature Layer
Couche de polylignes de plan d’étage en entrée
(Facultatif)

Couche d’entités Polyligne de plan d’étage créée à l’aide de l’outil Extraire le plan d’étage du fichier BIM. Les entités de cette couche sont utilisées pour créer des entités dans la couche Détails cible.

Feature Layer

Sortie obtenue

ÉtiquetteExplicationType de données
Bâtiments mis à jour

Entités Bâtiments cibles mises à jour.

Feature Layer
Niveaux mis à jour

Entités Niveaux cibles mises à jour.

Feature Layer
Unités mises à jour

Entités d’unité cibles mises à jour.

Feature Layer
Détails mis à jour

Entités Détails cibles mises à jour.

Feature Layer

arcpy.indoors.ImportIFCToIndoorDataset(in_bim_file_workspace, target_facility_features, facility_name, target_level_features, target_unit_features, target_detail_features, ground_floor_name, {unit_properties_mapping}, {load_floorplan_layers}, {in_floorplan_footprint}, {in_floorplan_polygon}, {in_floorplan_polyline})
NomExplicationType de données
in_bim_file_workspace

Espace de travail IFC en entrée.

BIM File Workspace
target_facility_features

Couche d’entités, classe d’entités ou service d’entités Bâtiments cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Niveaux, Unités et Détails cibles.

Feature Layer
facility_name

Nom commun du bâtiment. Si une entité dotée du même nom existe dans la couche Bâtiments cible, elle est mise à jour, ainsi que toutes les entités Niveaux, Unités et Détails associées.

String
target_level_features

Couche d’entités, classe d’entités ou service d’entités Niveaux cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Bâtiments, Unités et Détails cibles.

Feature Layer
target_unit_features

Couche d’entités, classe d’entités ou service d’entités Unités cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Bâtiments, Niveaux et Détails cibles.

Feature Layer
target_detail_features

Couche d’entités, classe d’entités ou service d’entités Détails cible conforme au modèle d’information ArcGIS Indoors et qui se trouve dans le même espace de travail que les entités Bâtiments, Niveaux et Unités cibles.

Feature Layer
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
unit_properties_mapping
(Facultatif)

Contrôle les champs attributaires de la classe d’entités Unités qui seront remplis avec des valeurs de champ provenant de la couche Espaces IFC en entrée. Les champs doivent exister avant que vous n’exécutiez l’outil. Il est recommandé d’apparier les champs de la couche Espaces IFC en entrée à des champs de la couche Unités dont le type de données est identique.

Field Mappings
load_floorplan_layers
(Facultatif)

Indique si les entités sont chargées depuis des couches de plan d’étage créées par l’outil Extraire le plan d’étage du fichier BIM.

  • LOAD_FROM_FLOORPLAN_LAYERSLes entités sont chargées depuis les couches de plan d’étage en entrée créées par l’outil Extraire le plan d’étage du fichier BIM. Toutes les sélections définies sur les couches en entrée sont respectées.
  • NO_LOAD_FROM_FLOORPLAN_LAYERSLes entités sont chargées à partir du fichier IFC. Tous les niveaux sont chargés et les sélections ne sont pas respectées. Il s’agit de l’option par défaut.
Boolean
in_floorplan_footprint
(Facultatif)

Couche d’entités Emprise de plan d’étage créée à l’aide de l’outil Extraire le plan d’étage du fichier BIM. Les entités de cette couche sont utilisées pour créer des entités dans la couche Bâtiments cible.

Feature Layer
in_floorplan_polygon
(Facultatif)

Couche d’entités Polygone de plan d’étage créée à l’aide de l’outil Extraire le plan d’étage du fichier BIM. Les entités de cette couche sont utilisées pour créer des entités dans les couches Niveaux et Unités cibles.

Feature Layer
in_floorplan_polyline
(Facultatif)

Couche d’entités Polyligne de plan d’étage créée à l’aide de l’outil Extraire le plan d’étage du fichier BIM. Les entités de cette couche sont utilisées pour créer des entités dans la couche Détails cible.

Feature Layer

Sortie obtenue

NomExplicationType de données
updated_facilities

Entités Bâtiments cibles mises à jour.

Feature Layer
updated_levels

Entités Niveaux cibles mises à jour.

Feature Layer
updated_units

Entités d’unité cibles mises à jour.

Feature Layer
updated_details

Entités Détails cibles mises à jour.

Feature Layer

Exemple de code

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

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction ImportIFCToIndoorDataset en mode immédiat.

import arcpy
arcpy.indoors.ImportCADToIndoorDataset('C:/Indoors/AdminBuilding.ifc', 'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 'Admin Building',
                                         'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 'C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                                         'C:/Indoors/ExampleCampus.gdb/Indoor/Details', '2', '', 
                                         'NO_LOAD_FROM_FLOORPLAN_LAYERS', '', '', '',)
Exemple 2 d’utilisation de la fonction ImportIFCToIndoorDataset (fenêtre Python)

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

import arcpy
    
#Set the IFC file to import
in_bim_file_workspace= 'C:/Indoors/AdminBuilding.ifc'

#Set target layers that conform to the ArcGIS Indoors Information model and Facility Name
target_facility_features='C:/Indoors/ExampleCampus.gdb/Indoor/Facilities'
facility_name="Administrative Building"
target_level_features='C:/Indoors/ExampleCampus.gdb/Indoor/Levels'
target_unit_features='C:/Indoors/ExampleCampus.gdb/Indoor/Units'
target_detail_features='C:/Indoors/ExampleCampus.gdb/Indoor/Details'

#Set which floor is the ground floor
ground_floor_name="0"

#Map additional unit attributes from spaces features
unit_properties_mapping='NAME_LONG "Long Name" true true false 255 Text 0 0,First,#,"Spaces",Family,0,255;' \
                            'CUSTOM_FIELD_DEPARTMENT "Department" true true false 255 Text 0 0,First,#,"Spaces",Department,0,255;' \
                            'CUSTOM_FIELD_FILEUPDATE "IFC File Update" true true false 255 Date 0 0,First,#,"Spaces",DocUpdate,0,255;'
    
#Load from floorplan layers created using Extract BIM File Floorplan tool
load_floorplan_layers="LOAD_FROM_FLOORPLAN_LAYERS"
in_floorplan_footprint='C:/Indoors/ExampleCampus.gdb/Floorplan_Dataset/Footprint'
in_floorplan_polygon='C:/Indoors/ExampleCampus.gdb/Floorplan_Dataset/planPolygon'
in_floorplan_polyline='C:/Indoors/ExampleCampus.gdb/Floorplan_Dataset/planPolyline'

#Run the tool
arcpy.indoors.ImportIFCToIndoorDataset_Indoors(in_bim_file_workspace, target_facility_features, facility_name,
                                                target_level_features, target_unit_features, target_detail_features, 
                                                ground_floor_name, unit_properties_mapping, load_floorplan_layers,
                                                in_floorplan_footprint, in_floorplan_polygon, in_floorplan_polyline)

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Non
  • Standard: Non
  • Advanced: Nécessite ArcGIS Indoors Pro ou ArcGIS Indoors Maps

Rubriques connexes