Транспонировать поля (Управление данными (Data Management))
Резюме
Перемещает данные, введенные в поля или столбцы, в строки в таблице или классе объектов.
Полезно использовать этот инструмент, если таблица или класс пространственных объектов хранят значения в именах полей (например, Field1, Field2, Field3) и вы хотите переместить имена полей и соответствующие значения данных полей в строковый формат.
Рисунок
Использование
-
По умолчанию выходными данными является таблица. Но если требуется транспонировать поля в классе объектов, можно выбрать выведение либо таблицы, либо класса объектов с транспонированными полями. Для выведения класса пространственных объектов, вам следует выбрать поле Shape под Полями атрибутов.
Если входными данными является класс пространственных объектов, единственный способ получить класс пространственных объектов в качестве выходных данных - это выбрать поле Shape в параметре Поля атрибутов (Attribute Fields).
Синтаксис
Параметр | Объяснение | Тип данных |
in_table |
Входной класс объектов или таблица, для которых будут перемещены поля, содержащие значения данных. | Table View |
in_field [[field, {value}],...] |
Поля или столбцы, содержащие значения данных в входной таблице, которые нужно переместить. В зависимости от ваших потребностей, можно выбрать несколько полей, которые нужно переместить. По умолчанию значение такое же, как имя поля. Однако, вы можете задать собственное значение. Например, если имена тех полей, которые вы хотите перенести, Pop1991, Pop1992 и т. д., по умолчанию значения для этих полей будут одинаковыми ( Pop1991, Pop1992 и т. д.). Однако, вы можете задать собственные значения, например, 1991 и 1992. | Value Table |
out_table | Выходной класс пространственных объектов или таблица. Выходной класс объектов или таблица будут содержать перемещенное поле, поле значения, а также любое заданное количество полей атрибутов, которые должны быть унаследованы от входной таблицы. Для выходной таблицы задана таблица, если значение входной таблицы является классом пространственных значений и поле Shape выбрано в параметре поля атрибутов. | Table |
in_transposed_field_name |
Имя поля, которое будет создано для хранения значений имен полей, выбираемых для перемещения. Может использоваться любое корректное имя поля. | String |
in_value_field_name |
Имя поля, которое будет создано для хранения значений входной таблицы. Вы можете ввести любое имя для создаваемого поля времени, не противоречащие общим правилам названия полей и не конфликтующее с уже имеющимися полями входной таблицы или класса пространственных объектов. | String |
attribute_fields [attribute_fields,...] (дополнительно) |
Атрибутивные поля входной таблицы, которые Вы хотите включить в выходные данные. Если требуется вывести класс объектов, выберите Поле Shape (Shape field). | Field |
Пример кода
На следующем скрипте окна Python демонстрируется, как использовать инструмент Транспонировать поля (Transpose Fields) с запуском из окна Python в ArcGIS.
import arcpy
arcpy.TransposeFields_management("C:/Data/TemporalData.gdb/Input","Field1 newField1;Field2 newField2;Field3 newField3",
"C:/Data/TemporalData.gdb/Output_Time","Transposed_Field", "Value","Shape;Type")
Пример скрипта Python для выполнения функции Транспонировать поля (Transpose Fields).
# Name: TransposeFields_Ex_02.py
# Description: Tranpose field names from column headers to values in one column
# Requirements: None
# Import system modules
import arcpy
from arcpy import env
# set workspace
arcpy.env.workspace = "C:/Data/TemporalData.gdb"
# Set local variables
inTable = "Input"
# Specify fields to transpose
fieldsToTranspose = "Field1 newField1;Field2 newField2;Field3 newField3"
# Set a variable to store output feature class or table
outTable = "Output_Time"
# Set a variable to store time field name
transposedFieldName = "Transposed_Field"
# Set a variable to store value field name
valueFieldName = "Value"
# Specify attribute fields to be included in the output
attrFields = "Shape;Type"
# Execute TransposeTimeFields
arcpy.TransposeFields_management(inTable, fieldsToTranspose, outTable, transposedFieldName, valueFieldName, attrFields)