Mettre à jour les entités Occupant (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 Mobile, ainsi que la planification de l’espace dans Indoor Space Planner.

Utilisation

  • La table des occupants en entrée doit inclure les champs KNOWNAS et EMAIL. Vous pouvez également 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.

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

    TerrainDescriptionObligatoire
    KNOWNAS

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

    Oui

    EMAIL

    Adresse e-mail de l’occupant.

    Oui

    ORG_LEVEL_1

    Service de l’occupant.

    Non

    ORG_LEVEL_2

    Équipe de l’occupant.

    Non

    JOB_TITLE

    Intitulé du poste de l’occupant.

    Non

    START_DATE

    Date d’arrivée de l’occupant.

    Non

    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.

    Non

    Remarque :

    Le champ SITE_ID sera rempli uniquement si vous appariez le champ SITE_ID à l’aide du paramètre Appariement des attributs de l’occupant. Si ce champ n’est pas apparié, le champ SITE_ID de l’occupant reste NULL. Tous les autres champs seront appariés par défaut si le nom du champ dans la table en entrée correspond au nom du champ dans la couche Occupants.

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

  • 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

  • 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) et qu’aucun bureau à domicile n’est défini pour l’occupant, ce dernier sera chargé comme non attribué.

  • Le paramètre Identifiant du bureau à la maison prend en charge le chargement des occupants attribués à un bureau à la maison. Utilisez ce paramètre pour définir le champ et les valeurs de champ dans la table d’occupant en entrée qui indique qu’un occupant est attribué à un bureau à domicile.

    Si le paramètre Identifiant du bureau à la maison est spécifié et que la valeur du paramètre Entités Occupant cibles contient des occupants attribués à un bureau à la maison, ils seront mis à jour selon les informations dans la table en entrée. Si aucune valeur de paramètre n’est fournie, les occupants attribués aux bureaux à la maison dans la couche Occupants ne seront pas mis à jour lorsque vous exécutez l’outil.

    Vous pouvez également utiliser Space Planner pour gérer les affectations de bureau à la maison.

  • Un utilisateur peut être attribué à plusieurs unités dans une seule exécution d’outil.

  • 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 de la valeur 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 (Si le champ existe dans la valeur du paramètre Entités Occupant cibles).
    • LEVEL_ID
    • SITE_ID (Le champ 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 aucune valeur n’est fournie pour le paramètre Identifiant d’unité (Table d’occupant en entrée), seuls les champs appariés dans le paramètre Appariement des attributs d’occupant seront mis à jour.

  • La valeur ASSIGNMENT_TYPE de la couche Unités sera 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. Ce champ est utilisé par Space Planner.

  • Si une mise à jour est réalisée pour les données du plan d’étage après l’ajout d’occupants au modèle Indoors, ce qui suit survient lorsque l’outil Mettre à jour les entités d’occupant est exécuté à nouveau :

    • Si une unité disparaît après une mise à jour des plans d’étage, les occupants qui lui sont attribués sont considérés comme non attribués.
    • Si la valeur du champ ASSIGNMENT_TYPE d’une unité est modifiée en Not Assignable après une mise à jour des plans d’étage, les occupants qui sont attribués à l’unité sont considérés comme non attribués.
    • Si, après une mise à jour des plans d’étage, une entité Occupant ne se trouve plus dans l’unité à laquelle elle est attribuée, l’entité Occupant est replacée dans le centroïde de l’unité attribuée.
    Remarque :

    La mise à jour des données sur les occupants en fonction d’un plan d’étage mis à jour n’exige pas de renseigner 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 également 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 crée un fichier texte récapitulatif dans le répertoire 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. Il doit s’agir d’une couche d’entités, d’une classe d’entités ou d’un service d’entités conforme à la classe d’entités Unités du modèle Indoors. 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.

La table 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 OLE DB.

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(s) dans la valeur du paramètre Table des occupants en entrée utilisés 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é.

Ce paramètre 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 fournis sont utilisés pour mettre à jour la classe d’entités Occupants.

Si aucune valeur n’est indiquée pour ce paramètre, 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.

Field
Appariement des attributs d’occupant
(Facultatif)

Champs attributaires de la valeur 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 non appariés 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 non appariés 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
Identifiant de bureau à la maison
(Facultatif)

Requête SQL qui définit le champ et la valeur de champ depuis la table d’occupant en entrée qui indique qu’un occupant est attribué à un bureau à la maison.

SQL Expression

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}, {home_office_identifier})
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. Il doit s’agir d’une couche d’entités, d’une classe d’entités ou d’un service d’entités conforme à la classe d’entités Unités du modèle Indoors. 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.

La table 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 OLE DB.

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_unit_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(s) dans la valeur du paramètre in_occupant_table utilisés comme clé primaire pour associer l’attribution des espaces des occupants aux valeurs du paramètre in_unit_features. Si une valeur de champ est vide, l’occupant est chargé comme non attribué.

Ce paramètre 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 fournis sont utilisés pour mettre à jour la classe d’entités Occupants.

Si aucune valeur n’est indiquée pour ce paramètre, 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 occupant_attributes_mapping sont mis à jour.

Field
occupant_attributes_mapping
(Facultatif)

Champs attributaires de la valeur 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 non appariés 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 non appariés 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
home_office_identifier
(Facultatif)

Requête SQL qui définit le champ et la valeur de champ depuis la table d’occupant en entrée qui indique qu’un occupant est attribué à un bureau à la maison.

SQL Expression

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 montre comment utiliser 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, "HOME_OFFICE IS NOT NULL")
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

#Set the query for occupants that are assigned to a home office
home_office_identifier = "SPACE_ASSIGNMENT LIKE ‘%HOME OFFICE%’"

# 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, home_office_identifier)

Informations de licence

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

Rubriques connexes