TableView (arcpy.mapping)

Резюме

Обеспечивает доступ к основным свойствам таблицы.

Обсуждение

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

Эта ссылка позволяет ссылаться на таблицу за пределами документа карты в рабочей области посредством функции TableView. Это позволяет добавлять внешнюю таблицу в документ карты, используя функцию AddTableView. Эта функция похожа на MakeTableView, но разница в том, что результат от MakeTableView не может быть добавлен постоянно в документ карты.

Функция ListTableViews возвращает список объектов TableView Python. Затем необходимо пройти по всем элементами списка в цикле или указать номер индекса для ссылки на определенный TableView объект. Таблицы могут выбираться во всем карте документа или в определенном фрейме данных. Групповые символы могут также использоваться для ограничения поиска.

Определяющий запрос не будет работать для всей рабочей области. Важно использовать правильный SQL синтаксис при работе в разных рабочих областях. Например, файловые базы геоданных и шейп-файлы имеют двойные кавычки вокруг имени поля (например, "field_name"), персональные базы геоданных имеют скобки (например, [field_name]) и SDE соединения не имеют каких-либо специальных символов (например, field_name). Более подробная информация по обновлению рабочих областей и источников данных в документе карты или файла слоя находятся в разделе справки Обновление и установление источников данных с помощью arcpy.mapping.

Таблицы могут удаляться из документа карты с помощью функции RemoveTableView.

Синтаксис

TableView (table_view_data_source)
ПараметрОбъяснениеТип данных
table_view_data_source

Строка, которая содержит полный путь к рабочей области, включая имя таблицы.

String

Свойства

СвойствоОбъяснениеТип данных
datasetName
(только чтение)

Возвращает имя таблицы набора данных так, как оно отображается в рабочей области, а не в Таблице содержания.

String
dataSource
(только чтение)

Возвращает путь к источнику данных таблицы. Содержит комбинацию workspacePath и datasetName.

String
definitionQuery
(чтение и запись)

Дает возможность получать или задавать определяющий запрос к таблице.

String
name
(чтение и запись)

Дает возможность задавать или получать имя таблицы, которое отображается в таблице содержания в ArcMap. Можно использовать пробелы.

String
isBroken
(только чтение)

Возвращает True, если источник данных таблицы поврежден.

Boolean
workspacePath
(только чтение)

Возвращает путь к рабочей области таблицы или к файлу подключения.

String

Обзор метода

МетодОбъяснение
findAndReplaceWorkspacePath (find_workspace_path, replace_workspace_path, {validate})

Заменяет рабочую область таблицы на путь к новой рабочей области

replaceDataSource (workspace_path, workspace_type, {dataset_name}, {validate})

Заменяет источник данных таблицы в документе карты (.mxd); кроме того, позволяет переключаться между типами рабочей области (например, меняет рабочую область файловой базы геоданных на рабочую область SDE).

Методы

findAndReplaceWorkspacePath (find_workspace_path, replace_workspace_path, {validate})
ПараметрОбъяснениеТип данных
find_workspace_path

Строка, содержащая путь к искомым рабочей области или файлу подключения. Если передана пустая строка, все пути рабочих областей будут заменены, при этом параметр replace_workspace_path будет зависеть от значения параметра the проверить.

String
replace_workspace_path

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

String
validate

Если задано значение Истина (True), рабочая область обновляется, только если значением workspace_path является существующая рабочая область. Если значение недопустимо, рабочая область не заменяется. Если задано значение Ложь (False), метод задает рабочую область как replace_workspace_path независимо от ее наличия соответствий. В этом случае, если соответствий нет, это означает, что источник данных таблицы поврежден.

(Значение по умолчанию — True)

Boolean

Более подробное описание, сведения о параметрах, сценарии и примеры кода см. в разделе справки Обновление и фиксирование источников данных (Updating and Fixing Data Sources).

replaceDataSource (workspace_path, workspace_type, {dataset_name}, {validate})
ПараметрОбъяснениеТип данных
workspace_path

Строка, которая содержит путь рабочей области к новым данным или файлу подключения.

String
workspace_type

Ключевое слово, представляющее тип рабочей области новых данных.

  • ACCESS_WORKSPACE Персональная база геоданных или рабочая область Access
  • ARCINFO_WORKSPACE Рабочая область покрытия ArcInfo
  • CAD_WORKSPACEРабочая область файла САПР
  • EXCEL_WORKSPACEРабочая область файла Excel
  • FILEGDB_WORKSPACEРабочая область файловой базы геоданных
  • Нет сжатия (NONE)Используется для пропуска параметра
  • OLEDB_WORKSPACEРабочая область базы данных OLE
  • PCCOVERAGE_WORKSPACEРабочая область покрытия PC ARC/INFO
  • RASTER_WORKSPACEРабочая область растра
  • SDE_WORKSPACEРабочая область базы геоданных SDE
  • SHAPEFILE_WORKSPACEРабочая область шейп-файла
  • TEXT_WORKSPACEРабочая область текстового файла
  • TIN_WORKSPACEРабочая область TIN
  • VPF_WORKSPACEРабочая область VPF
String
dataset_name

Строка, представляющая имя таблицы в том виде, в котором оно отображается в новой рабочей области (не имя таблицы в таблице содержания). Если параметр dataset_name не указан, метод replaceDataSource попытается заменить набор данных, найдя таблицу с таким же именем, что и текущего набора данных слоя.

String
validate

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

(Значение по умолчанию — True)

Boolean

Более подробное описание, сведения о параметрах, сценарии и примеры кода см. в разделе справки Обновление и фиксирование источников данных.

Пример кода

TableView, пример 1

С помощью следующего скрипта можно найти таблицу под названием Customers в фрейме данных Transportation и установить определяющий запрос.

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "Transportation")[0]
for table in arcpy.mapping.ListTableViews(mxd, "", df):
    if table.name.lower() == "trafficaccidents":
        table.definitionQuery = "\"age\" >= 18"
mxd.save()
del mxd
TableView, пример 2

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

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "Transportation")[0]
accidentsTable = arcpy.mapping.TableView(r"C:\Project\Data\Transportation.gdb\Accidents")
arcpy.mapping.AddTableView(df, accidentsTable)
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd, accidentsTable
9/11/2013