Actualizar entidades de ocupantes (Indoors)

Resumen

Actualiza la clase de entidad Occupants que se ajusta al Modelo de información de ArcGIS Indoors.

Esta herramienta actualiza la clase de entidad Occupants que se crea con la herramienta Crear base de datos de Indoors. Puede que sea necesario actualizar las entidades de ocupantes cuando se requiera agregar nuevos ocupantes, cuando sea necesario eliminar los ocupantes existentes o modificar la información de ocupantes existentes en función de los cambios en las asignaciones de asientos o los planos de planta. La clase de entidad Occupants actualizada se puede usar como apoyo al análisis y funcionalidad de interiores, como búsquedas, generación de rutas, reservas de espacios de trabajo en Indoor Viewer y Indoors Mobile y planificación de espacios en Indoor Space Planner.

Uso

  • La tabla de ocupantes de entrada debe incluir los campos KNOWNAS y EMAIL. De manera opcional, puede incluir los siguientes campos para mejorar la experiencia de la aplicación de Space Planner o cualquier campo adicional que incluya la información que desea rellenar y mantener en la capa Occupants: ORG_LEVEL_1, ORG_LEVEL_2, JOB_TITLE, START_DATE y SITE_ID.

    En la tabla que aparece a continuación se enumeran los campos obligatorios y opcionales para la tabla de ocupantes de entrada.

    CampoDescripciónEs obligatorio
    KNOWNAS

    El nombre y los apellidos que es más probable que se utilicen al buscar un ocupante.

    EMAIL

    La dirección de correo electrónico del ocupante.

    ORG_LEVEL_1

    El departamento del ocupante.

    No

    ORG_LEVEL_2

    El equipo del ocupante.

    No

    JOB_TITLE

    El cargo del ocupante.

    No

    START_DATE

    La fecha de ingreso del ocupante.

    No

    SITE_ID

    El sitio asociado del ocupante. Los valores de este campo deben coincidir con los del campo SITE_ID de la clase de entidad Sites del modelo de Indoors.

    No

    Nota:

    El campo SITE_ID solo se rellenará si asigna el campo SITE_ID utilizando el parámetro Asignación de atributos de ocupante. Si este campo no está asignado, el valor del campo SITE_ID de ocupante seguirá siendo NULO. Todos los demás campos se asignarán de forma predeterminada si el nombre de campo de la tabla de entrada coincide con el nombre de campo en la capa Ocupantes.

    Más información sobre la carga de datos de ocupantes

  • Puede almacenar varias asignaciones para ocupantes en varias columnas de la tabla de ocupantes de entrada. El siguiente es un ejemplo de una asignación con varias columnas:

    Tabla con varias columnas de asignación

  • La herramienta admite la carga de ocupantes que no estén asignados a ningún espacio. Si el campo identificado en el parámetro Identificador de unidad (Tabla de ocupantes de entrada) tiene un valor NULO o vacío, el ocupante se cargará como no asignado (no se asignará a ninguna unidad). Los ocupantes asignados a las unidades de la tabla de ocupantes de entrada que se definen como hoteles, hot desks o unidades no asignables en la clase de entidad Units también se cargarán como no asignados.

    Nota:

    Si el parámetro Campo identificador de unidad de ocupantes está vacío (para un archivo .csv o una hoja Excel) o es <NULL> (para una tabla de geodatabase) y no hay ninguna oficina doméstica definida para el ocupante, el ocupante se cargará como no asignado.

  • El parámetro Identificador de oficina doméstica admite la carga de ocupantes asignados a una oficina doméstica. Utilice este parámetro para definir el campo y los valores de campo en la tabla de ocupantes de entrada que indica que un ocupante está asignado a una oficina doméstica.

    Si se especifica el parámetro Identificador de oficina doméstica y el valor del parámetro Entidades del ocupante objetivo contiene ocupantes asignados a una oficina doméstica, se actualizarán según la información de la tabla de entrada. Si no se proporciona ningún valor de parámetro, los ocupantes asignados a oficinas domésticas en la capa Ocupantes no se actualizarán cuando ejecute la herramienta.

    También puede utilizar Space Planner para gestionar tareas de oficina doméstica.

  • Se puede asignar un usuario a varias unidades en una sola ejecución de herramienta.

  • La información del ocupante se agrega, elimina y modifica en función del valor del campo de identificador de ocupante único.

    Nota:

    El identificador de ocupante puede ser cualquier campo que contenga información para identificar de forma única a cada ocupante. El campo recomendado es EMAIL.

  • El valor del parámetro Entidades de ocupantes de destino tendrá los siguientes campos rellenados con valores correspondientes del valor del parámetro Tabla de ocupantes de entrada basándose en cambios de asignación de asiento o en cambios del plano de planta:

    • UNIT_ID
    • UNIT_NAME (Si el campo existe en el valor del parámetro Entidades de ocupantes de destino).
    • LEVEL_ID
    • SITE_ID (El campo se puede asignar con valores de la tabla de ocupantes de entrada del parámetro Asignación de atributos de ocupantes).
    Nota:

    Si no se proporciona ningún valor para el parámetro Identificador de unidades (Tabla de ocupantes de entrada), solo se actualizan los campos asignados en el parámetro Asignación de atributos de ocupantes.

  • El valor ASSIGNMENT_TYPE de la capa Unidades se actualizará para mostrar el estado de ocupación de la unidad. Si una entidad de ocupante se asigna a una unidad, el valor ASSIGNMENT_TYPE de esa unidad se establece en Oficina. Este campo es utilizado por Space Planner.

  • Si se realiza una actualización de los datos del plano de planta después de agregar ocupantes al modelo Indoors, ocurre lo siguiente cuando se vuelve a ejecutar la herramienta Actualizar entidades de ocupantes:

    • Si una unidad deja de existir tras una actualización del plano de planta, se desasignarán todos los ocupantes que estén asignados a esa unidad.
    • Si el valor del campo ASSIGNMENT_TYPE de una unidad ha cambiado a Not Assignable después de una actualización del plano de planta, todos los ocupantes asignados a la unidad quedarán sin asignar.
    • Si una entidad ocupante ya no se encuentra dentro de la unidad a la que está asignada tras una actualización del plano, la entidad ocupante se desplazará de nuevo al centroide de la unidad asignada.
    Nota:

    La actualización de los datos de ocupantes para alinearlos con un plano de planta actualizado no requiere una entrada en el parámetro Tabla de ocupantes de entrada.

  • Puede ejecutar la herramienta periódicamente para actualizar los datos de ocupantes y cambiar la asignación de asientos o los planos de planta. También puede publicar la herramienta como un servicio de geoprocesamiento y ejecutar la herramienta utilizando el Programador de Microsoft o CRON.

  • Esta herramienta crea un archivo de texto de resumen en el directorio temporal que es válido en la sesión de ArcGIS Pro. Para mantener un registro permanente del archivo de texto de resumen, debe guardarlo en una carpeta fuera de la sesión de ArcGIS Pro.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de ocupantes de destino

La capa de entidades, clase de entidad o servicio de entidades de destino en los que se agregarán, actualizarán o eliminarán los registros de ocupantes. La entrada debe contener valores únicos que identifiquen a cada ocupante y deben ajustarse a la clase de entidad Occupants del modelo de Indoors.

Feature Layer
Entidades de unidad de entrada
(Opcional)

Las entidades poligonales de entrada que representan espacios de edificios que podrían estar ocupados. La entrada debe ser una capa de entidades, clase de entidad o un servicio de entidades conforme a la clase de entidad Units del modelo de Indoors. El centroide de cada espacio se usará como la ubicación de punto de los ocupantes.

Feature Layer
Tabla de ocupantes de entrada
(Opcional)

La tabla de entrada que contiene información sobre los ocupantes de un edificio.

La tabla de entrada debe ser una tabla de geodatabase, una hoja en un libro de trabajo de Microsoft Excel (archivo .xls o .xlsx), un archivo de texto delimitado por comas (.csv) o una tabla OLE DB.

Table View
Identificador de ocupante (Entidades de ocupantes de destino)
(Opcional)

El campo del valor del parámetro Entidades de ocupantes de destino que se usará como clave principal para asociar ocupantes con valores del parámetro Tabla de ocupantes de entrada. Los valores del campo deben ser únicos.

Field
Identificador de ocupante (Tabla de ocupantes de entrada)
(Opcional)

El campo del valor del parámetro Tabla de ocupantes de entrada que se usará como clave principal para asociar ocupantes con valores del parámetro Entidades de ocupantes de destino. Los valores del campo deben ser únicos.

Field
Identificador de unidades (Entidades de unidades de entrada)
(Opcional)

El campo del valor del parámetro Entidades de unidades de entrada que almacena la información de identificación de espacio única que coincidirá con el identificador de unidad del valor del parámetro Tabla de ocupantes de entrada. Los valores del campo deben ser únicos.

Field
Identificador de unidad (Tabla de ocupantes de entrada)
(Opcional)

El campo o los campos del valor del parámetro Tabla de ocupantes de entrada que se usarán como clave principal para asociar la asignación de espacios a ocupantes con el valor del parámetro Entidades de unidad de entrada. Si un valor de campo está vacío, el ocupante se cargará como no asignado.

Este parámetro admite varios campos de una tabla de ocupantes de entrada que almacena más de una asignación de espacio de un ocupante. Solo se utilizarán los campos proporcionados para actualizar la clase de entidad Occupants.

Si no se proporciona ningún valor de parámetro, las asignaciones de asientos de los ocupantes no se actualizarán en la clase de entidad Occupants. En lugar de esto, los registros de la clase de entidad Occupants se harán coincidir en la tabla de ocupantes de entrada y los atributos asignados en el parámetro Asignación de atributos de ocupantes se actualizarán.

Field
Asignaciones de atributos de ocupantes
(Opcional)

Los campos de atributo del valor del parámetro Entidades de ocupantes de destino que se rellenarán con valores de campo del valor del parámetro Tabla de ocupantes de entrada. Los campos deben existir en el valor del parámetro Entidades de ocupantes de destino antes de ejecutar la herramienta. Se recomienda que asigne campos del valor del parámetro Tabla de ocupantes de entrada a campos del valor del parámetro Entidades de ocupantes de destino que tengan el mismo tipo de campo.

Field Mappings
Insertar nuevos ocupantes
(Opcional)

Especifica si los registros de ocupantes no coincidentes para el valor del parámetro Tabla de ocupantes de entrada se agregarán a la capa de entidades de ocupantes de destino.

  • Activado: los registros de ocupantes no concordados se agregarán a la capa de entidades de ocupantes de destino. Esta es la opción predeterminada.
  • Desactivado: los registros de ocupantes no concordados no se agregarán a la capa de entidades de ocupantes de destino.
Boolean
Eliminar ocupantes no incluidos en la Tabla de ocupantes de entrada
(Opcional)

Especifica si los registros de ocupantes no coincidentes para el valor del parámetro Tabla de ocupantes de entrada se eliminarán de la capa de entidades de ocupantes de destino.

  • Activado: los registros de ocupantes no concordados se eliminarán de la capa de entidades de ocupantes de destino. Esta es la opción predeterminada.
  • Desactivado: los registros de ocupantes no concordados no se eliminarán de la capa de entidades de ocupantes de destino.
Boolean
Identificador de oficina doméstica
(Opcional)

Una consulta SQL que define el campo y el valor del campo a partir de la tabla de ocupantes de entrada que indica que un ocupante está asignado a una oficina doméstica.

SQL Expression

Salida derivada

EtiquetaExplicaciónTipo de datos
Entidades de ocupantes actualizadas

La versión actualizada de las entidades de ocupantes de destino utilizadas para esta herramienta.

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})
NombreExplicaciónTipo de datos
target_occupant_features

La capa de entidades, clase de entidad o servicio de entidades de destino en los que se agregarán, actualizarán o eliminarán los registros de ocupantes. La entrada debe contener valores únicos que identifiquen a cada ocupante y deben ajustarse a la clase de entidad Occupants del modelo de Indoors.

Feature Layer
in_unit_features
(Opcional)

Las entidades poligonales de entrada que representan espacios de edificios que podrían estar ocupados. La entrada debe ser una capa de entidades, clase de entidad o un servicio de entidades conforme a la clase de entidad Units del modelo de Indoors. El centroide de cada espacio se usará como la ubicación de punto de los ocupantes.

Feature Layer
in_occupant_table
(Opcional)

La tabla de entrada que contiene información sobre los ocupantes de un edificio.

La tabla de entrada debe ser una tabla de geodatabase, una hoja en un libro de trabajo de Microsoft Excel (archivo .xls o .xlsx), un archivo de texto delimitado por comas (.csv) o una tabla OLE DB.

Table View
occupant_id_from_target_occupant_features
(Opcional)

El campo del valor del parámetro target_occupant_features que se usará como clave principal para asociar ocupantes con valores del parámetro in_occupant_table. Los valores del campo deben ser únicos.

Field
occupant_id_from_input_table
(Opcional)

El campo del valor del parámetro in_occupant_table que se usará como clave principal para asociar ocupantes con valores del parámetro target_occupant_features. Los valores del campo deben ser únicos.

Field
unit_id_from_units_features
(Opcional)

El campo del valor del parámetro in_unit_features que almacena la información de identificación de espacio única que coincidirá con el identificador de unidad del valor del parámetro in_occupant_table. Los valores del campo deben ser únicos.

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

El campo o los campos del valor del parámetro in_occupant_table que se usarán como clave principal para asociar la asignación de espacios a ocupantes con el valor del parámetro in_unit_features. Si un valor de campo está vacío, el ocupante se cargará como no asignado.

Este parámetro admite varios campos de una tabla de ocupantes de entrada que almacena más de una asignación de espacio de un ocupante. Solo se utilizarán los campos proporcionados para actualizar la clase de entidad Occupants.

Si no se proporciona ningún valor de parámetro, las asignaciones de asientos de los ocupantes no se actualizarán en la clase de entidad Occupants. En lugar de esto, los registros de la clase de entidad Occupants se harán coincidir en la tabla de ocupantes de entrada y los atributos asignados en el parámetro occupant_attributes_mapping se actualizarán.

Field
occupant_attributes_mapping
(Opcional)

Los campos de atributo del valor del parámetro target_occupant_features que se rellenarán con valores de campo del valor del parámetro in_occupant_table. Los campos deben existir en el valor del parámetro target_occupant_features antes de ejecutar la herramienta. Se recomienda que asigne campos del valor del parámetro in_occupant_table a campos del valor del parámetro target_occupant_features que tengan el mismo tipo de campo.

Field Mappings
allow_insert
(Opcional)

Especifica si los registros de ocupantes no coincidentes para el valor del parámetro in_occupant_table se agregarán desde la capa de entidades de ocupantes de destino.

  • INSERT_OCCUPANTSLos registros de ocupantes no concordados se agregarán a la capa de entidades de ocupantes de destino. Esta es la opción predeterminada.
  • NO_INSERT_OCCUPANTSLos registros de ocupantes no concordados no se agregarán a la capa de entidades de ocupantes de destino.
Boolean
allow_delete
(Opcional)

Especifica si los registros de ocupantes no coincidentes para el valor del parámetro in_occupant_table se eliminarán de la capa de entidades de ocupantes de destino.

  • DELETE_OCCUPANTSLos registros de ocupantes no concordados se eliminarán de la capa de entidades de ocupantes de destino. Esta es la opción predeterminada.
  • NO_DELETE_OCCUPANTSLos registros de ocupantes no concordados no se eliminarán de la capa de entidades de ocupantes de destino.
Boolean
home_office_identifier
(Opcional)

Una consulta SQL que define el campo y el valor del campo a partir de la tabla de ocupantes de entrada que indica que un ocupante está asignado a una oficina doméstica.

SQL Expression

Salida derivada

NombreExplicaciónTipo de datos
updated_occupant_features

La versión actualizada de las entidades de ocupantes de destino utilizadas para esta herramienta.

Feature Layer

Muestra de código

Ejemplo 1 de UpdateOccupantFeatures (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función UpdateOccupantFeatures de modo inmediato. En este ejemplo, las entradas y las salidas están todas en la misma geodatabase.


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")
Ejemplo 2 de UpdateOccupantFeatures (script independiente)

El siguiente script independiente muestra cómo utilizar la función 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)

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Requiere ArcGIS Indoors Pro o ArcGIS Indoors Maps

Temas relacionados