Создать представление таблицы (Make Table View) (Управление данными)
Резюме
Создает представление таблицы из входной таблицы или класса пространственных объектов. Представление таблицы, создаваемое этим инструментом, является временным и будет удалено после окончания сеанса, если документ не будет сохранен.
Использование
-
Этот инструмент обычно используется для создания представления таблицы с выбранным набором атрибутов или полей.
-
ArcCatalog не отображает эти представления таблиц, но они могут использоваться как входные данные других инструментов геообработки в текущей сессии ArcGIS. После закрытия приложения ArcGIS, представления таблицы удаляются.
-
Созданные в ArcCatalog представления таблицы не могут использоваться в ArcMap.
Если выражение SQL используется, но ничего не дает на выходе, выходные данные будут пустыми.
Именам полей могут быть даны новые имена, путем использования инструмента Информация о поле (Field Info). Второй столбец в окне вносит в список существующие имена полей из входных данных. Чтобы переименовать поле, щелкните имя и тип поля в новом поле.
Новые имена полей, определенные в контрольной панели Информация поля (Field Info) будут выполнена в последующих инструментах. Однако, если этот инструмент - последний в модели, имена полей будут получены из исходных данных на диске. Чтобы сохранить новые имена полей, новый слой должен быть записан в новые данные с помощью инструментов Копировать строки (Copy Rows) или Копировать объекты (Copy Features).
Имена полей будет проверяться путем определения входной рабочей области. Таким образом, если входные данные - класс пространственных объектов базы геоданных, а выходная рабочая область - папка, имена полей могут быть урезаны, так как атрибуты шейп-файла могут иметь имена только из 10 или менее символов. Новые поля можно просмотреть и изменить при помощи элемента управления Информация поля (Field Info).
Поднабор полей можно сделать недоступным в новом слое, используя видимое свойство контрольной панели Информация о поле (Field Info). Третий столбец контрольной панели предоставляет ниспадающую опцию для указания, будет ли поле видимым или скрытым в новом слое. По умолчанию установлено TRUE. Если установить FALSE, поле будет скрыто. Вы не можете использовать скрытые поля в рабочей области, если вновь созданный слой является входными данными для последующего процесса или инструмента. Если выходные данные сохраняются на диск, только поля, перечисленные как видимые, появятся в новых данных.
-
Опция Правила разбиения (Split Policy) в элементе управления Информация поля (Field Info) не применяется к этому инструменту.
Синтаксис
Параметр | Объяснение | Тип данных |
in_table |
Входная таблица или класс пространственных объектов. | Table View;Raster Layer |
out_view |
Имя создаваемого представления таблицы. | Table View ;Raster Layer |
where_clause (дополнительно) |
SQL-выражение, использованное для выбора поднабора пространственных объектов. Синтаксис выражения различается в зависимости от формата данных. Например, если вы запрашиваете файловые или ArcSDE базы геоданных, шейп-файлы или покрытия, заключите имена полей в двойные кавычки: "ИМЯ_ПОЛЯ" Если вы строите запрос к персональной базе геоданных, заключите поля в квадратные скобки: [ИМЯ_ПОЛЯ] В Python строковые значения заключаются в соответствующие одинарные или двойные кавычки. Чтобы создать строку с кавычками (что часто требуется при написании условия WHERE в выражениях SQL), можно использовать перед кавычками escape-символ (символ обратной косой черты) или заключить всю строку в три пары кавычек. Например, если требуется написать в условии WHERE "CITY_NAME" = 'Чикаго', можно заключить всю строку в двойные кавычки и добавить escape-символ перед внутренними двойными кавычками: " \"CITY_NAME\" = 'Чикаго' ", Или можно заключить всю строку в одинарные кавычки и добавить escape-символ перед внутренними одинарными кавычками: ' "CITY_NAME" = \'Чикаго\' ' Или можно заключить всю строку в три пары кавычек и не добавлять escape-символ: """ "CITY_NAME" = 'Чикаго' """, Более подробно о синтаксисе SQL и о том, как он различается между источниками данных, смотрите разделы справки: Литература по SQL для выражений запросов, используемых в ArcGIS. | SQL Expression |
workspace (дополнительно) |
Входная рабочая область используется для проверки имен полей. Если входными данными является таблица базы геоданных, а выходной рабочей областью - таблица dBASE, имена полей могут быть обрезаны, т.к. поля dBASE могут иметь имена, не превышающие 10 символов. Можно просмотреть и изменить новые поля с помощью контрольной панели информации поля. | Workspace |
field_info (дополнительно) |
Укажите, какие поля из входной таблицы переименовать и сделать видимыми в результирующем представлении таблицы. | Field Info |
Пример кода
Пример скрипта Python для выполнения функции Создать представление таблицы (MakeTableView) с запуском из окна Python в ArcGIS.
import arcpy
arcpy.MakeTableView_management("C:/data/input/crimefrequency.dbf", "crimefreq_tview")
Пример скрипта Python для выполнения функции Создать представление таблицы (MakeTableView) с объектом Информация поля (Field Info), чтобы отфильтровать поля в выходных данных.
# Name: MakeTableView_Example2.py
# Description: Uses a FieldInfo object to select a subset of fields and renaming one field's name.
# Import system modules
import arcpy
# Set data path
intable = "C:/data/tables.gdb/crimefreq"
# Get the fields from the input
fields= arcpy.ListFields(intable)
# Create a fieldinfo object
fieldinfo = arcpy.FieldInfo()
# Iterate through the fields and set them to fieldinfo
for field in fields:
if field.name == "FREQUENCY":
fieldinfo.addField(field.name, "NEWFREQ", "VISIBLE", "")
elif field.name == "CRIME_CAT":
fieldinfo.addField(field.name, field.name, "HIDDEN", "")
elif field.name == "BEAT":
fieldinfo.addField(field.name, field.name, "VISIBLE", "")
# The created crime_view layer will have fields as set in fieldinfo object
arcpy.MakeTableView_management(intable, "crime_view", "", "", fieldinfo)
# To persist the layer on disk make a copy of the view
arcpy.CopyRows_management("crime_view", "C:/temp/newfreq.dbf")