ArcGIS: автоматический расчет значения поля из других полей

Я искал вопрос, похожий на мой, но не нашел ничего похожего, поэтому, если на него уже был дан ответ, прошу прощения.

Я создаю шейп-файл ROW, который содержит (среди прочего) 3 поля: «Liber», «Страница», «ROWID»

В настоящее время у меня установлены «Liber» и «Page» как текстовые значения (хотя позже они могут измениться на числовой тип данных) и «ROWID» как текстовое значение. Можно ли написать скрипт, который будет автоматически вычислять "ROWID" как:

"РЯД-" +! Либер! +! Страница!

Я пытаюсь настроить это так, чтобы кто-то вводил данные, не делая ничего, кроме ввода значений в поля «Liber» и «Страница». Если это невозможно сделать таким образом, как я могу настроить его так, чтобы кто-то мог щелкнуть правой кнопкой мыши поле «ROWID», выбрать «Рассчитать значения» (который я на самом деле больше не могу найти; они удалили это из вне Geoprocessing Toolbox?) и запускал ли он указанный выше скрипт Python? К сожалению, я не могу ожидать, что человек, вводящий данные, будет запускать калькулятор поля каждый раз, когда ему нужно вычислить новое значение «ROWID».

Пожалуйста, дайте мне знать, если это не имеет смысла. Спасибо!


person user5905246    schedule 12.04.2016    source источник


Ответы (1)


Самый простой способ сделать это, что я могу придумать, - использовать Calculate Field. В этом случае сценарий будет таким:

FC = path to shapefile

field = "ROWID"

arcpy.CalculateField(FC, field, '!Liber! + !Page!', "PYTHON_9.3")

person Schap058    schedule 12.05.2016