Краткая информация
Обеспечивает доступ к основным свойствам таблицы.
Описание
Объект 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}) | Заменяет рабочую область таблицы на путь к новой рабочей области |
getSelectionSet () | Возвращает выборку таблицы в виде набора идентификаторов объектов Python. |
replaceDataSource (workspace_path, workspace_type, {dataset_name}, {validate}) | Заменяет источник данных таблицы в документе карты (.mxd); кроме того, позволяет переключаться между типами рабочей области (например, меняет рабочую область файловой базы геоданных на рабочую область SDE). |
setSelectionSet (method, oidList) | Задает выборку таблицы в виде набора идентификаторов объектов Python. |
Методы
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).
getSelectionSet ()
Значение отраженного сигнала
Тип данных | Объяснение |
List | Возвращает выборку таблицы в виде набора идентификаторов объектов Python. |
Это простейший способ получения текущей выборки таблицы.
replaceDataSource (workspace_path, workspace_type, {dataset_name}, {validate})
Параметр | Объяснение | Тип данных |
workspace_path | Строка, которая содержит путь рабочей области к новым данным или файлу подключения. | String |
workspace_type | Ключевое слово, представляющее тип рабочей области новых данных.
| String |
dataset_name | Строка, представляющая имя таблицы в том виде, в котором оно отображается в новой рабочей области (не имя таблицы в таблице содержания). Если параметр dataset_name не указан, метод replaceDataSource попытается заменить набор данных, найдя таблицу с таким же именем, что и текущего набора данных слоя. | String |
validate | Если задано значение True, рабочая область обновляется, только если значением workspace_path является допустимая рабочая область. Если значение недопустимо, рабочая область не заменяется. Если задано значение False, метод задает рабочую область как workspace_path независимо от допустимого соответствия. В этом случае, если соответствий нет, источник данных поврежден. (Значение по умолчанию — True) | Boolean |
Более подробное описание, сведения о параметрах, сценарии и примеры кода см. в разделе справки Обновление и фиксирование источников данных.
setSelectionSet (method, oidList)
Параметр | Объяснение | Тип данных |
method | Строка, задающая используемый метод выборки.
(Значение по умолчанию — None) | String |
oidList | Набор идентификаторов Python для работы с соответствующим способом выборки объектов. | Integer |
Это простейший способ управления текущей выборкой таблицы. Чтобы очистить выборку, воспользуйтесь методом выборки NEW с пустым набором объектов. Наборы и списки Python можно применять для oidList, но наборы возвращаются методом getSelectionSet объекта Table.
Пример кода
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