Обновить объекты пользователей рабочих мест (Indoors)

Доступно с дополнительным модулем ArcGIS Indoors Pro или ArcGIS Indoors Maps.

Краткая информация

Обновляет класс пространственных объектов пользователей рабочих мест, соответствующий информационной модели ArcGIS Indoors.

Этот инструмент обновляет класс пространственных объектов Пользователи рабочих мест, созданный с помощью инструмента Создать базу данных Indoors. Обновление объектов пользователей рабочих мест может быть необходимо, если нужно добавить пользователей рабочих мест, удалить существующих пользователей рабочих мест или изменить информацию о существующих пользователях рабочих мест на основании изменений назначения рабочих мест или поэтажных планов. Обновленный класс пространственных объектов Пользователи рабочих мест может использоваться для поддержки анализа и функциональных возможностей - таких как поиск, маршрутизация и резервирование рабочего места в Indoor Viewer и Indoors Mobile, и планирования пространства в Indoor Space Planner.

Использование

  • Входная таблица пользователей рабочих мест должна включать поля KNOWNAS и EMAIL. Можно также включить следующие поля, чтобы улучшить интерфейс приложения Space Planner, или дополнительные поля, включающие информацию для наполнения и поддержки в классе пространственных объектов Пользователи рабочих мест: ORG_LEVEL_1, ORG_LEVEL_2, JOB_TITLE, START_DATE и SITE_ID.

    В таблице ниже перечислены требуемые и дополнительные поля для входной таблицы пользователей рабочих мест.

    ПолеОписаниеОбязательное
    KNOWNAS

    Первое и последнее имя, которое чаще всего будет использовано при поиске пользователя рабочего места.

    Да

    EMAIL

    Адрес электронной почты пользователя рабочего места.

    Да

    ORG_LEVEL_1

    Департамент пользователя рабочего места.

    Нет

    ORG_LEVEL_2

    Команда пользователя рабочего места.

    Нет

    JOB_TITLE

    Должность пользователя рабочего места.

    Нет

    START_DATE

    Дата начала пребывания пользователя рабочего места.

    Нет

    SITE_ID

    Связанная с пользователем рабочего места площадка. Значения в этом поле должны совпадать со значениями в поле SITE_ID класса объектов Sites из модели Indoors.

    Нет

    Примечание:

    Это поле SITE_ID будет заполнено только в том случае, если вы специально сопоставляете с помощью параметра Сопоставление атрибутов пользователей рабочих мест поле SITE_ID. Если поле не поставлено в соответствие, значение поля пользователей рабочих мест SITE_ID будет иметь пустое значение - NULL. Остальные поля будут сопоставлены по имени поля, если имя поля во входной таблице совпадает с именем поля в таблице атрибутов слоя Пользователей рабочих мест.

    Подробнее о загрузке данных о рабочих мест

  • Вы можете хранить несколько назначения для пользователей рабочих мест в нескольких столбцах во входной таблице пользователей рабочих мест. Ниже приведен пример назначений с несколькими столбцами:

    Таблица с несколькими столбцами назначений

  • Инструмент поддерживает загрузку пользователей рабочих мест, не назначенных пространству. Если поле, идентифицируемое параметром Идентификатор секции (таблица пользователей рабочих мест), имеет пустое значение или значение NULL, пользователь рабочего места будет загружен как не назначенный (им не будет назначена секция). Пользователи рабочих мест, назначенные секциями во входной таблице пользователей рабочих мест, которые определены как отели, незакрепленные рабочие месте или не назначенные секции в классе пространственных объектов секций, будут также загружены как неназначенные.

    Примечание:

    Если параметр Поле идентификатора секции пользователя рабочего места пуст (для файла .csv или таблицы Excel) или <Null> (для таблицы базы геоданных), и домашний офис не задан, пользователь рабочего места будет загружен как неназначенный.

  • Параметр Идентификатор домашнего офиса позволяет загружать пользователей рабочих мест, которые работают из домашнего офиса. Используйте этот параметр, чтобы задать поле и значения во входной таблице пользователей рабочих мест, которая показывает, что пользователь работает из домашнего офиса.

    Если задан параметр Идентификатор домашнего офиса и значение параметра Целевые объекты пользователей рабочих мест содержит пользователей рабочих мест, которые назначены в домашний офис, они будут обновлены на основе информации из входной таблицы. Если значение параметра не указано, пользователи рабочих мест, назначенные в домашний офис, в слое Occupants не будут обновлены при запуске инструмента.

    Можно также использовать Space Planner для управления назначениями домашнего офиса.

  • Пользователь может быть отнесен к нескольким секциям в одном запуске инструмента.

  • Информация о пользователях добавляется, удаляется и изменяется на основании уникального значения поля идентификатора пользователя рабочего места.

    Примечание:

    Идентификатор пользователя рабочего места может быть любым полем, которое содержит информацию для уникальной идентификации любого пользователя. Рекомендуемое поле - EMAIL.

  • Значение параметра Целевые объекты пользователей рабочих мест будет иметь следующие поля, заполненные соответствующими значениями из параметра Входная таблица пользователей рабочих мест на основе изменений назначений мест или изменений поэтажных планов:

    • UNIT_ID
    • UNIT_NAME (Если поле существует в значении параметра Целевые объекты пользователей рабочих мест.)
    • LEVEL_ID
    • SITE_ID (Поле может быть сопоставлено со значениями из значения Входная таблица пользователей рабочих мест в параметре Сопоставление атрибутов пользователей рабочих мест.)
    Примечание:

    Если не указано значение параметра Идентификатор секции (входная таблица пользователей рабочих мест), будут обновлены только поля, сопоставленные в параметре Сопоставление атрибутов пользователей рабочих мест.

  • Значение слоя Секций ASSIGNMENT_TYPE будет обновлено для отображения статуса занятости секции. Если объект пользователей рабочей мест назначен секции, то для значения ASSIGNMENT_TYPE секции задано Office. Поле, используемое в Space Planner.

  • Если обновление выполняется для поэтажного плана после добавления пользователей рабочих мест к модели Indoors, при повторном запуске инструмента Обновить объекты пользователей рабочих мест произойдет следующее:

    • Если секция больше не существует после обновления поэтажного плана, все пользователи рабочих мест, назначенные этой секции, будут не назначены.
    • Если значение поля секции ASSIGNMENT_TYPE изменилось на Not Assignable после обновления поэтажного плана, все пользователи рабочих мест, назначенные этой секции, будут не назначены.
    • Если объект пользователей рабочих мест больше не находится в пределах секции, которой он назначен, после обновления поэтажного плана, объект пользователей рабочих мест будет перемещен обратно в назначенную секцию центроид.
    Примечание:

    Обновление данных пользователей рабочих мест для приведения в соответствие с обновленным поэтажным планом не требует ввода параметра Входная таблица пользователей рабочих мест.

  • Инструмент можно запускать периодически, чтобы обновить данные пользователей рабочих мест и изменения в назначении мест или поэтажных планах. Вы можете также опубликовать инструмент как сервис геообработки и запустить инструмент с помощью Планировщика Microsoft или CRON.

  • Этот инструмент создает сводный текстовый файл во временной директории, который корректен в сеансе ArcGIS Pro. Чтобы поддерживать постоянную запись итогового текстового файла, вы должны сохранить его в папке вне сеанса ArcGIS Pro.

Параметры

ПодписьОписаниеТип данных
Целевые объекты пользователей рабочих мест

Целевой векторный слой, класс пространственных объектов или сервис объектов, в котором записи о пользователях рабочих мест добавляются, обновляются или удаляются. Входные данные должны содержать уникальные значения, которые идентифицируют каждого пользователя рабочего места и должны соответствовать классу пространственных объектов пользователей рабочих мест в модели Indoors.

Feature Layer
Входные объекты секций
(Дополнительный)

Входные полигональные объекты, соответствующие пространствам здания, в которых могут находиться пользователи рабочих мест. Входные данные должны быть векторным слоем, классом пространственных объектов или сервисом объектов, который соответствует Классу пространственных объектов секций в модели Indoors. В качестве местоположений пользователя или пользователей рабочих мест будут использоваться центроиды пространств.

Feature Layer
Входная таблица пользователей рабочих мест
(Дополнительный)

Входная таблица, содержащая информацию о пользователях рабочих мест в здании.

Входная таблица должна быть таблицей базы геоданных, листом рабочей книги Microsoft Excel (файл .xls или .xlsx), текстовым файлом с разделителями-запятыми (.csv) или таблицей OLE DB.

Table View
Идентификатор пользователя рабочего места (Целевые объекты рабочих мест)
(Дополнительный)

Поле в значении параметра Целевая объекты пользователей рабочих мест, которое будет использоваться в качестве первичного ключа для привязки пользователей рабочих мест к значениям параметра Входная таблица пользователей рабочих мест. Значения поля должны быть уникальными.

Field
Идентификатор пользователя рабочего места (входная таблица пользователей рабочих мест)
(Дополнительный)

Поле в значении параметра Входная таблица пользователей рабочих мест, которое будет использоваться в качестве первичного ключа для привязки пользователей рабочих мест к значениям параметра Входные объекты пользователей рабочих мест. Значения поля должны быть уникальными.

Field
Идентификатор секции (Входные объекты секций)
(Дополнительный)

Поле в значении параметра Входные объекты секций, которое хранит уникальный идентификатор места, соответствующий идентификатору секции из значения параметра Входная таблица пользователей рабочих мест. Значения поля должны быть уникальными.

Field
Идентификатор секции (входная таблица пользователей рабочих мест)
(Дополнительный)

Поле или поля в значении параметра Входная таблица пользователей рабочих мест, которое будут использоваться в качестве первичного ключа для привязки назначения мест пользователей рабочих мест к значению параметра Входные объекты секций. Если значение поля пустое, пользователь рабочих мест будет загружен как неназначенный.

Этот параметр поддерживает несколько полей из входной таблицы пользователей рабочих мест, которая хранит более одного назначения места пользователю. Только указанные поля будут использоваться для обновления класса пространственных объектов пользователей рабочих мест.

Если значение параметра не указано, назначения мест пользователей рабочих мест не будут обновлены в классе пространственных объектов пользователей рабочих мест. Вместо этого записи в классе объектов пользователей рабочих мест будут сопоставлены с записями во входной таблице пользователей рабочих мест, и атрибуты, сопоставленные в параметре Сопоставление атрибутов пользователей рабочих мест обновляются.

Field
Сопоставление атрибутов пользователей рабочих мест
(Дополнительный)

Атрибутивные поля в значении параметра Целевые объекты пользователей рабочих мест, которые будут заполнены значениями полей из значения параметра Входная таблица пользователей рабочих мест. Поля должны существовать в значении параметра Целевые объекты пользователей рабочих мест перед запуском инструмента. Рекомендуется сопоставить поля из значения параметра Входная таблица пользователей рабочих мест полям из значения параметра Целевые объекты пользователей рабочих мест, у которых тот же тип поля.

Field Mappings
Вставить новых пользователей рабочих мест
(Дополнительный)

Определяет, будут ли не сопоставленные записи пользователей рабочих мест для значения параметра Входная таблица пользователей рабочих мест добавлены в целевой слой объектов пользователей рабочих мест.

  • Отмечено - несопоставленные записи пользователей рабочих мест будут добавлены в целевой слой объектов пользователей рабочих мест. Это значение по умолчанию
  • Не отмечено - несопоставленные записи пользователей рабочих мест не будут добавлены в целевой слой объектов пользователей рабочих мест.
Boolean
Удаленные пользователи рабочих мест не включаются в Выходную таблицу пользователей рабочих мест
(Дополнительный)

Определяет, будут ли не сопоставленные записи пользователей рабочих мест для значения параметра Входная таблица пользователей рабочих мест удалены из целевого слоя объектов пользователей рабочих мест.

  • Отмечено - несопоставленные записи пользователей рабочих мест будут удалены из целевого слоя объектов пользователей рабочих мест. Это значение по умолчанию
  • Не отмечено - несопоставленные записи пользователей рабочих мест не будут удалены из целевого слоя объектов пользователей рабочих мест.
Boolean
Идентификатор домашнего офиса
(Дополнительный)

SQL-запрос, определяющий поле и его значения на основе входной таблицы пользователей рабочих мест, которая показывает, что пользователь работает из домашнего офиса.

SQL Expression

Производные выходные данные

ПодписьОписаниеТип данных
Обновленные объекты пользователей рабочих мест

Обновленная версия целевых объектов пользователей, использованная для этого инструмента.

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})
ИмяОписаниеТип данных
target_occupant_features

Целевой векторный слой, класс пространственных объектов или сервис объектов, в котором записи о пользователях рабочих мест добавляются, обновляются или удаляются. Входные данные должны содержать уникальные значения, которые идентифицируют каждого пользователя рабочего места и должны соответствовать классу пространственных объектов пользователей рабочих мест в модели Indoors.

Feature Layer
in_unit_features
(Дополнительный)

Входные полигональные объекты, соответствующие пространствам здания, в которых могут находиться пользователи рабочих мест. Входные данные должны быть векторным слоем, классом пространственных объектов или сервисом объектов, который соответствует Классу пространственных объектов секций в модели Indoors. В качестве местоположений пользователя или пользователей рабочих мест будут использоваться центроиды пространств.

Feature Layer
in_occupant_table
(Дополнительный)

Входная таблица, содержащая информацию о пользователях рабочих мест в здании.

Входная таблица должна быть таблицей базы геоданных, листом рабочей книги Microsoft Excel (файл .xls или .xlsx), текстовым файлом с разделителями-запятыми (.csv) или таблицей OLE DB.

Table View
occupant_id_from_target_occupant_features
(Дополнительный)

Поле в значении параметра target_occupant_features, которое будет использоваться в качестве первичного ключа для привязки пользователей рабочих мест к значениям параметра in_occupant_table. Значения поля должны быть уникальными.

Field
occupant_id_from_input_table
(Дополнительный)

Поле в значении параметра in_occupant_table, которое будет использоваться в качестве первичного ключа для привязки пользователей рабочих мест к значениям параметра target_occupant_features. Значения поля должны быть уникальными.

Field
unit_id_from_units_features
(Дополнительный)

Поле в значении параметра in_unit_features, которое хранит уникальный идентификатор места, соответствующий идентификатору секции из значения параметра in_occupant_table. Значения поля должны быть уникальными.

Field
unit_id_from_input_table
[unit_id_from_input_table,...]
(Дополнительный)

Поле или поля в значении параметра in_occupant_table будут использоваться как первичный ключ для связи назначения мест пользователям рабочих мест со значением параметра in_unit_features. Если значение поля пустое, пользователь рабочих мест будет загружен как неназначенный.

Этот параметр поддерживает несколько полей из входной таблицы пользователей рабочих мест, которая хранит более одного назначения места пользователю. Только указанные поля будут использоваться для обновления класса пространственных объектов пользователей рабочих мест.

Если значение параметра не указано, назначения мест пользователей рабочих мест не будут обновлены в классе пространственных объектов пользователей рабочих мест. Вместо этого записи в классе объектов пользователей рабочих мест будут сопоставлены с записями во входной таблице пользователей рабочих мест, и атрибуты, сопоставленные в параметре occupant_attributes_mapping, будут обновлены.

Field
occupant_attributes_mapping
(Дополнительный)

Атрибутивные поля в значении параметра target_occupant_features, которые будут заполнены значениями полей из значения параметра in_occupant_table. Поля должны существовать в значении параметра target_occupant_features перед запуском инструмента. Рекомендуется сопоставить поля из значения параметра in_occupant_table полям из значения параметра target_occupant_features, у которых тот же тип поля.

Field Mappings
allow_insert
(Дополнительный)

Определяет, будут ли не сопоставленные записи пользователей рабочих мест для значения параметра in_occupant_table добавлены в целевой слой объектов пользователей рабочих мест.

  • INSERT_OCCUPANTSНесопоставленные записи пользователей рабочих мест будут добавлены в целевой слой объектов пользователей рабочих мест. Это значение по умолчанию
  • NO_INSERT_OCCUPANTSНесопоставленные записи пользователей рабочих мест не будут добавлены в целевой слой объектов пользователей рабочих мест.
Boolean
allow_delete
(Дополнительный)

Определяет, будут ли не сопоставленные записи пользователей рабочих мест для значения параметра in_occupant_table удалены из целевого слоя объектов пользователей рабочих мест.

  • DELETE_OCCUPANTSНесопоставленные записи пользователей рабочих мест будут удалены из целевого слоя объектов пользователей рабочих мест. Это значение по умолчанию
  • NO_DELETE_OCCUPANTSНесопоставленные записи пользователей рабочих мест не будут удалены из целевого слоя объектов пользователей рабочих мест.
Boolean
home_office_identifier
(Дополнительный)

SQL-запрос, определяющий поле и его значения на основе входной таблицы пользователей рабочих мест, которая показывает, что пользователь работает из домашнего офиса.

SQL Expression

Производные выходные данные

ИмяОписаниеТип данных
updated_occupant_features

Обновленная версия целевых объектов пользователей, использованная для этого инструмента.

Feature Layer

Пример кода

UpdateOccupantFeatures, пример 1 (окно Python)

Пример скрипта окна Python для использования функции UpdateOccupantFeatures в режиме прямого запуска. В этом примере входные и выходные данные должны находиться в одной базе геоданных.


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")
Пример 2 UpdateOccupantFeatures (автономный скрипт)

В следующем автономном скрипте показано использование функции 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)

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Обязательно ArcGIS Indoors Pro или ArcGIS Indoors Maps

Связанные разделы