Mettre à jour les entités Occupant (Indoors)

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

Synthèse

Met à jour la classe d’entités Occupants conformément au modèle d’information ArcGIS Indoors.

Cet outil met à jour la classe d’entités Occupants créée à l’aide de l’outil Créer une base de données Indoors. Il peut être nécessaire de mettre à jour des entités Occupant dans les cas où de nouveaux occupants doivent être ajoutés, des occupants existants doivent être supprimés ou des informations sur des occupants existants doivent être modifiées en fonction des modifications apportées à des attributions de poste ou des plans d’étage. La classe d’entités Occupants mise à jour peut être utilisée pour prendre en charge l’analyse et les fonctionnalités Indoor (par exemple, recherche, calcul d’itinéraire et réservations d’espaces de travail) dans Indoor Viewer et Indoors

Utilisation

  • La valeur du paramètre Entités Occupant cibles doit correspondre à une couche d’entités, une classe d’entités ou un service d’entités dans lequel l’outil ajoutera, mettra à jour ou supprimera des enregistrements Occupant devant respecter la classe d’entités Occupants dans le modèle Indoors.

  • La valeur du paramètre Entités Unités en entrée doit correspondre à une couche d’entités, une classe d’entités ou un service d’entités devant respecter la classe d’entités Unités dans le modèle Indoors.

  • La valeur du paramètre Table des occupants en entrée doit correspondre à une table de géodatabase, une feuille d’un classeur Microsoft Excel (.xls ou .xlsx), un fichier texte délimité par des virgules (.csv) ou une table de base de données OLE.

  • La table des occupants en entrée doit inclure les champs KNOWNAS et EMAIL. Vous pouvez éventuellement inclure les champs suivants pour améliorer l’expérience offerte par l’application Space Planner ou des champs supplémentaires qui incluent les informations à renseigner et gérer dans la classe d’entités Occupants : ORG_LEVEL_1, ORG_LEVEL_2, JOB_TITLE, START_DATE et SITE_ID.

    Vous pouvez stocker plusieurs attributions pour les occupants dans plusieurs colonnes de la table des occupants en entrée. L’exemple suivant illustre une attribution avec plusieurs colonnes :

    Table avec plusieurs colonnes d’attribution

    La table ci-après répertorie les champs requis et facultatifs de la table des occupants en entrée.

    Remarque :

    Le champ SITE_ID n’est renseigné que si vous appariez le champ SITE_ID dans le contrôle d’appariement des champs de l’outil. Si ce champ n’est pas apparié, le champ SITE_ID de l’occupant reste NULL.

    ChampDescriptionPeut être nul
    KNOWNAS

    Prénom et nom susceptibles d’être utilisés pour rechercher un occupant.

    Non

    EMAIL

    Adresse e-mail de l’occupant.

    Non

    ORG_LEVEL_1

    Premier niveau de l’organisation.

    Oui

    ORG_LEVEL_2

    Deuxième niveau de l’organisation.

    Oui

    JOB_TITLE

    Intitulé du poste de l’occupant.

    Oui

    START_DATE

    Date d’arrivée de l’occupant.

    Oui

    SITE_ID

    Site associé de l’occupant. Les valeurs de ce champ doivent correspondre à celles du champ SITE_ID dans la classe d’entités Sites du modèle Indoors.

    Oui

    En savoir plus sur le chargement de données sur les occupants

  • L’outil prend en charge le chargement d’occupants non attribués à un espace. Si le champ identifié dans le paramètre Identifiant d’unité (Table des occupants en entrée) contient une valeur NULL ou vide, l’occupant est chargé comme non attribué (il n’est pas attribué à une unité). Les occupants attribués à des unités de la table des occupants en entrée qui sont définies comme des espaces de coworking, des bureaux partagés ou des unités non attribuables dans la classe d’entités Unités sont également chargés comme non attribués.

    Remarque :

    Si le paramètre Champ Identifiant d’unité de l’occupant est vide (pour un fichier .csv ou une feuille Excel) ou <NULL> (pour une table de géodatabase), l’occupant est chargé comme non attribué.

  • Le paramètre Identifiant d’unité (Table des occupants en entrée) prend en charge plusieurs champs d’une table des occupants en entrée qui stocke plusieurs attributions d’espace d’un occupant. Seuls les champs spécifiés sont utilisés pour mettre à jour la classe d’entités Occupants.

    Si le paramètre Identifiant d’unité (Table des occupants en entrée) n’est pas spécifié, les attributions de poste des occupants ne sont pas mises à jour dans la classe d’entités Occupants. À la place, les enregistrements de la classe d’entités Occupants sont appariés à ceux de la table des occupants en entrée et les attributs appariés dans le paramètre Appariement des attributs d’occupant sont mis à jour.

  • Les informations sur les occupants sont ajoutées, supprimées et modifiées en fonction de la valeur unique du champ Identifiant d’occupant.

    Remarque :

    L’identifiant d’occupant peut correspondre à tout champ contenant des informations permettant d’identifier de manière unique chaque occupant. Le champ recommandé est EMAIL.

  • Les champs suivants de la valeur du paramètre Entités Occupant cibles sont renseignés avec les valeurs correspondantes du paramètre Table des occupants en entrée en fonction des modifications d’attribution de poste ou des modifications de plans d’étage :

    • UNIT_ID
    • UNIT_NAME (S’il existe dans la valeur du paramètre Entités Occupant cibles.)
    • LEVEL_ID
    • SITE_ID (Il peut être apparié avec des valeurs de la table des occupants en entrée dans le paramètre Appariement des attributs d’occupant.)
    Remarque :

    Si le paramètre Identifiant d’unité (Table des occupants en entrée) n’est pas spécifié, seuls les champs appariés dans le paramètre Appariement des attributs d’occupant sont mis à jour.

  • La valeur ASSIGNMENT_TYPE de la classe d’entités Unités utilisée par Space Planner est mise à jour pour afficher le statut d’occupation de l’unité. Si une entité Occupant est attribuée à une unité, la valeur ASSIGNMENT_TYPE de cette unité est définie sur Bureau.

  • Si les données des plans d’étage sont mises à jour à l’aide de l’outil Importer des plans d’étage dans une géodatabase Indoors ou Importer un fichier BIM dans un jeu de données Indoor et que cette mise à jour affecte les entités Unité auxquelles des occupants sont attribués, l’attribution des occupants attribués à des entités Unité qui n’existent plus dans le plan d’étage actuel est annulée. La même modification s’applique également aux occupants attribués à une unité dont la valeur du champ ASSIGNMENT_TYPE a été modifiée en Non attribuable après une mise à jour du plan d’étage. La mise à jour des données sur les occupants en fonction du plan d’étage le plus récent ne requiert pas le paramètre Table des occupants en entrée.

  • Vous pouvez exécuter l’outil de manière périodique pour mettre à jour les données sur les occupants et modifier les attributions de poste ou les plans d’étage. Vous pouvez publier l’outil en tant que service de géotraitement, puis l’exécuter à l’aide du planificateur Microsoft ou d’une tâche CRON.

  • Cet outil fournit un fichier texte récapitulatif temporaire valide dans la session ArcGIS Pro. Pour gérer un enregistrement permanent du fichier texte récapitulatif, vous devez l’enregistrer dans un dossier en dehors de la session ArcGIS Pro.

Paramètres

ÉtiquetteExplicationType de données
Entités Occupant cibles

Couche d’entités, classe d’entités ou service d’entités cible dans lequel les enregistrements Occupant sont ajoutés, mis à jour ou supprimés. L’entrée doit contenir des valeurs uniques qui identifient chaque occupant et doivent respecter la classe d’entités Occupants dans le modèle Indoors.

Feature Layer
Entités Unité en entrée
(Facultatif)

Entités surfaciques en entrée représentant les espaces des bâtiments susceptibles d’être occupés. Dans le modèle d’information ArcGIS Indoors, il s’agit de la couche Unités. Le centroïde de chaque espace sera utilisé comme localisation ponctuelle pour le ou les occupants.

Feature Layer
Table des occupants en entrée
(Facultatif)

Table en entrée qui contient des informations sur les occupants d’un bâtiment.

Les informations peuvent être stockées dans une table de géodatabase, une feuille d’un classeur Excel (fichier .xls ou .xlsx) ou un fichier .csv.

Table View
Identifiant d’occupant (Entités Occupant cibles)
(Facultatif)

Champ dans la valeur du paramètre Entités Occupant cibles utilisé comme clé primaire pour associer les occupants aux valeurs du paramètre Table des occupants en entrée. Les valeurs de ce champ doivent être uniques.

Field
Identifiant d’occupant (Table des occupants en entrée)
(Facultatif)

Champ dans la valeur du paramètre Table des occupants en entrée utilisé comme clé primaire pour associer les occupants aux valeurs du paramètre Entités Occupant cibles. Les valeurs de ce champ doivent être uniques.

Field
Identifiant d’unité (Entités Unités en entrée)
(Facultatif)

Champ dans la valeur du paramètre Entités Unité en entrée qui stocke les informations d’identification d’espace uniques correspondant à l’identifiant d’unité de la valeur du paramètre Table des occupants en entrée. Les valeurs de ce champ doivent être uniques.

Field
Identifiant d’unité (Table des occupants en entrée)
(Facultatif)

Champ dans la valeur du paramètre Table des occupants en entrée utilisé comme clé primaire pour associer l’attribution des espaces des occupants aux valeurs du paramètre Entités Unité en entrée. Si une valeur de champ est vide, l’occupant est chargé comme non attribué.

Field
Appariement des attributs d’occupant
(Facultatif)

Champs attributaires du paramètre Entités Occupant cibles renseignés avec les valeurs de champ de la valeur du paramètre Table des occupants en entrée. Ces champs doivent exister dans la valeur du paramètre Entités Occupant cibles avant que vous n’exécutiez l’outil. Il est recommandé d’apparier les champs de la valeur du paramètre Table des occupants en entrée aux champs de la valeur du paramètre Entités Occupant cibles qui possèdent le même type de champ.

Field Mappings
Insérer de nouveaux occupants
(Facultatif)

Indique si les enregistrements Occupant uniques pour la valeur du paramètre Table des occupants en entrée sont ajoutés à la couche d’entités Occupant cible.

  • Activé : les enregistrements Occupant non appariés sont ajoutés à la couche d’entités Occupant cible. Il s’agit de l’option par défaut.
  • Désactivé : les enregistrements Occupant non appariés ne sont pas ajoutés à la couche d’entités Occupant cible.
Boolean
Supprimer les occupants non inclus dans la table des occupants en entrée
(Facultatif)

Indique si les enregistrements Occupant uniques pour la valeur du paramètre Table des occupants en entrée sont supprimés de la couche d’entités Occupant cible.

  • Activé : les enregistrements Occupant non appariés sont supprimés de la couche d’entités Occupant cible. Il s’agit de l’option par défaut.
  • Désactivé : les enregistrements Occupant non appariés ne sont pas supprimés de la couche d’entités Occupant cible.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Entités Occupant mises à jour

Version mise à jour des entités Occupant cibles utilisées pour cet outil.

Feature Layer

arcpy.indoors.UpdateOccupantFeatures(target_occupant_features, {in_unit_features}, {in_occupant_table}, {occupant_id_from_target_occupant_features}, {occupant_id_from_input_table}, {unit_id_from_units_features}, {unit_id_from_input_table}, {occupant_attributes_mapping}, {allow_insert}, {allow_delete})
NomExplicationType de données
target_occupant_features

Couche d’entités, classe d’entités ou service d’entités cible dans lequel les enregistrements Occupant sont ajoutés, mis à jour ou supprimés. L’entrée doit contenir des valeurs uniques qui identifient chaque occupant et doivent respecter la classe d’entités Occupants dans le modèle Indoors.

Feature Layer
in_unit_features
(Facultatif)

Entités surfaciques en entrée représentant les espaces des bâtiments susceptibles d’être occupés. Dans le modèle d’information ArcGIS Indoors, il s’agit de la couche Unités. Le centroïde de chaque espace sera utilisé comme localisation ponctuelle pour le ou les occupants.

Feature Layer
in_occupant_table
(Facultatif)

Table en entrée qui contient des informations sur les occupants d’un bâtiment.

Les informations peuvent être stockées dans une table de géodatabase, une feuille d’un classeur Excel (fichier .xls ou .xlsx) ou un fichier .csv.

Table View
occupant_id_from_target_occupant_features
(Facultatif)

Champ dans la valeur du paramètre target_occupant_features utilisé comme clé primaire pour associer les occupants aux valeurs du paramètre in_occupant_table. Les valeurs de ce champ doivent être uniques.

Field
occupant_id_from_input_table
(Facultatif)

Champ dans la valeur du paramètre in_occupant_table utilisé comme clé primaire pour associer les occupants aux valeurs du paramètre target_occupant_features. Les valeurs de ce champ doivent être uniques.

Field
unit_id_from_units_features
(Facultatif)

Champ dans la valeur du paramètre in_units_features qui stocke les informations d’identification d’espace uniques correspondant à l’identifiant d’unité de la valeur du paramètre in_occupant_table. Les valeurs de ce champ doivent être uniques.

Field
unit_id_from_input_table
[unit_id_from_input_table,...]
(Facultatif)

Champ dans la valeur du paramètre in_occupant_table utilisé comme clé primaire pour associer l’attribution des espaces des occupants aux valeurs du paramètre in_units_features. Si une valeur de champ est vide, l’occupant est chargé comme non attribué.

Field
occupant_attributes_mapping
(Facultatif)

Champs attributaires du paramètre target_occupant_features renseignés avec les valeurs de champ de la valeur du paramètre in_occupant_table. Ces champs doivent exister dans la valeur du paramètre target_occupant_features avant que vous n’exécutiez l’outil. Il est recommandé d’apparier les champs de la valeur du paramètre in_occupant_table aux champs de la valeur du paramètre target_occupant_features qui possèdent le même type de champ.

Field Mappings
allow_insert
(Facultatif)

Indique si les enregistrements Occupant uniques pour la valeur du paramètre in_occupant_table sont ajoutés à la couche d’entités Occupant cible.

  • INSERT_OCCUPANTSLes enregistrements Occupant non appariés sont ajoutés à la couche d’entités Occupant cible. Il s’agit de l’option par défaut.
  • NO_INSERT_OCCUPANTSLes enregistrements Occupant non appariés ne sont pas ajoutés à la couche d’entités Occupant cible.
Boolean
allow_delete
(Facultatif)

Indique si les enregistrements Occupant uniques pour la valeur du paramètre in_occupant_table sont supprimés de la couche d’entités Occupant cible.

  • DELETE_OCCUPANTSLes enregistrements Occupant non appariés sont supprimés de la couche d’entités Occupant cible. Il s’agit de l’option par défaut.
  • NO_DELETE_OCCUPANTSLes enregistrements Occupant non appariés ne sont pas supprimés de la couche d’entités Occupant cible.
Boolean

Sortie obtenue

NomExplicationType de données
updated_occupant_features

Version mise à jour des entités Occupant cibles utilisées pour cet outil.

Feature Layer

Exemple de code

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

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction UpdateOccupantFeatures en mode immédiat. Dans cet exemple, les entrées et les sorties sont toutes dans la même géodatabase.

import arcpy
arcpy.indoors.UpdateOccupantFeatures('C:/ExampleCampus.gdb/Indoors/Occupants', 
                                    'C:/ExampleCampus.gdb/Indoors/Units', 'C:/OccupantsData/2022Occupants.xlsx/2022Q2$',
                                    'EMAIL', 'EMAIL',
                                    'UNIT_ID', 'SPACE_ASSIGNMENT', 'KNOWNAS "Known As" true false false 255 Text 0 
                                    0,First,#,C:/OccupantsData/2022Occupants.xlsx/2022Q2$,KNOWNAS,0,255;SITE_ID "Site ID" true true false 255 Text 
                                    0 0,First,#',
                                    True, True)
Exemple 2 d’utilisation de la fonction UpdateOccupantFeatures (script autonome)

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

# Import system modules import arcpy
# Set local variables 

target_occupant_features = r'C:\ExampleCampus.gdb\Indoors\Occupants'
in_unit_features = r'C:\ExampleCampus.gdb\Indoors\Units'
in_occupant_table = r'C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$'
occupant_id_from_target_occupant_features = 'EMAIL' 
occupant_id_from_input_table = 'EMAIL' 
unit_id_from_units_features = 'UNIT_ID'
unit_id_from_input_table = "SPACE_ASSIGNMENT"
occupant_attributes_mapping = 'KNOWNAS "Known As" true false false 255 Text 0 0,First,#,
C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$,KNOWNAS,0,255;CONTACT_PHONE "Contact Phone" true true false 255 Text 0 0,First,#,
C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$,CONTACT_PHONE,0,255;CONTACT_EXTENSION "Contact Extension" true true false 255 Text 0 0,First,#,
C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$,CONTACT_EXTENSION,-1,-1;SITE_ID "Site ID" true true false 255 Text 0 0,First,#;JOB_TITLE "Job Title" true true false 255 Text 0 0,First,#,
C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$,JOB_TITLE,0,255;ORG_LEVEL_1 "Department" true true false 255 Text 0 0,First,#,
C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$,ORG_LEVEL_1,0,255;ORG_LEVEL_2 "Team" true true false 255 Text 0 0,First,#,
C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$,ORG_LEVEL_2,0,255;START_DATE "Start Date" true true false 8 Date 0 0,First,#,
C:\OccupantSpreadsheets\BuildingL.xlsx\OccupantsSeatingAssignment$,START_DATE,-1,-1' 

allow_insert = True
allow_delete = True

# Run the tool 
arcpy.indoors.UpdateOccupantFeatures(target_occupant_features, in_unit_features, in_occupant_table,
                                     occupant_id_from_target_occupant_features, occupant_id_from_input_table,
                                     unit_id_from_units_features, unit_id_from_input_table, occupant_attributes_mapping,
                                     allow_insert, allow_delete)

Informations de licence

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

Rubriques connexes