Сводка
Обеспечивает доступ к основным свойствам таблицы и методам.
Описание
Существуют два способа, с помощью которых можно ссылаться на таблицы в скрипте для использования в проекте. Для ссылки на таблицы, которые уже находятся в проекте, используйте метод listTables для Map Class (Класса карты). Для ссылки на таблицы напрямую из рабочей области, используйте функцию Table (Таблица).
Вы можете ссылаться на таблицу в проекте с помощью функции listTables, потому что вам, возможно, потребуется изменить источник данных таблицы, ее определяющий запрос или даже удалить таблицу из проекта с использованием метода removeTable.
Функция Table полезна для ссылки на новые таблицы, которые нужно добавить в проект. Если у вас есть ссылка на новый, внешний источник таблицы, то вы можете добавить ее в Карту (Map) используя метод addTable.
Изменение источника данных таблицы – это общее требование. Существуют метод и свойство для объекта Layer, которые помогают это сделать. Более подробное описание, сведения о параметрах, сценарии и примеры кода см. в разделе справки Обновление и фиксирование источников данных.
Свойства
Владение | Объяснение | Тип данных |
connectionProperties (только чтение) | Возвращает информацию о подключении к источнику данных таблицы как словарь Python. | Dictionary |
dataSource (только чтение) | Возвращает полный путь к источнику данных таблицы. Он включает полный путь к рабочей области и имя набора данных. Для таблиц многопользовательских баз геоданных возвращается строка, содержащая информацию о подключении таблицы. Подсказка:Таблицы многопользовательских баз геоданных в проекте ArcGIS Pro не хранят путь к файлу подключения к базе данных (.sde), который использовался для создания слоя. | String |
definitionQuery (чтение и запись) | Дает возможность получать или задавать определяющий запрос к таблице. | String |
isBroken (только чтение) | Возвращает True, если источник данных таблицы поврежден. | Boolean |
metadata (чтение и запись) | Получите или задайте информацию класса Метаданные для таблицы. Имейте в виду, что задание метаданных зависит от значения свойства isReadOnly. | Metadata |
name (чтение и запись) | Предоставляет возможность устанавливать или получать имя таблицы способом, обеспечивающим его отображение в таблице содержания. Можно использовать пробелы. | String |
Обзор метода
Метод | Объяснение |
getDefinition (cim_version) | Получает определение CIM для таблицы. |
getSelectionSet () | Возвращает выборку таблицы в виде набора идентификаторов объектов Python. |
setDefinition (definition_object) | Задает определение CIM для таблицы. |
setSelectionSet ({oidList}, {method}) | Задает выборку таблицы, используя список Object ID Python. |
updateConnectionProperties (current_connection_info, new_connection_info, {auto_update_joins_and_relates}, {validate}, {ignore_case}) | Заменяет свойства подключения, используя словарь либо путь к рабочей области. |
Методы
getDefinition (cim_version)
Parameter | Объяснение | Тип данных |
cim_version | Строка, представляющая основную версию CIM. | String |
Уровень доступа CIM для дополнительных свойств объекта был введен в версии 2.4. Esri использует спецификацию семантического версионирования. Это означает, что до следующего основного релиза, например, 3.0, когда будут разрешены критические изменения API, значением, которое будет использоваться с cim_version, будет V2. После выпуска версии 3.0 станет доступна новая опция V3. Это дает авторам скриптов Python возможность управления версией CIM, которая будет использоваться во время запуска, если существует вероятность внесения критических изменений в новой версии.
Более подробно о работе с CIM и примеры использования см. в разделе Доступ к Python CIM.
getSelectionSet ()
Тип данных | Объяснение |
List | Возвращает выборку таблицы в виде набора идентификаторов объектов Python. |
Это простейший способ получения текущей выборки таблицы.
setDefinition (definition_object)
Parameter | Объяснение | Тип данных |
definition_object | Измененный объект определения CIM, изначально полученный с помощью getDefinition. | Object |
Более подробно о работе с CIM и примеры использования см. в разделе Доступ к Python CIM.
setSelectionSet ({oidList}, {method})
Parameter | Объяснение | Тип данных |
oidList [oidList,...] | Список Object ID Python для работы с соответствующим способом выборки объектов. (Значение по умолчанию — None) | List |
method | Строка, задающая используемый метод выборки.
(Значение по умолчанию — NEW) | String |
Это простейший способ управления текущей выборкой таблицы. Чтобы очистить выборку, воспользуйтесь методом выборки NEW с пустым списком, или без параметров. Списки Python можно применять для oidList, но наборы возвращаются методом getSelectionSet объекта Table.
updateConnectionProperties (current_connection_info, new_connection_info, {auto_update_joins_and_relates}, {validate}, {ignore_case})
Parameter | Объяснение | Тип данных |
current_connection_info | Строка, представляющая собой путь к рабочей области либо словарь Python, содержащий свойства подключения к источнику, который вы собираетесь удалять. | String |
new_connection_info | Строка, представляющая собой путь к рабочей области либо словарь Python, содержащий свойства подключения с информацией о новом источнике. | String |
auto_update_joins_and_relates | Если задано значение True, способ updateConnectionProperties также обновляет подключения для соответствующих связей и соединений. (Значение по умолчанию — True) | Boolean |
validate | Если задано значение True, свойства подключения обновляются, только если значением new_connection_info является допустимое подключение. Если оно недопустимо, подключение не заменяется. При значении False все подключения будут соответствовать new_connection_info, независимо от корректности соответствия. В этом случае, если соответствий нет, источники данных повреждены. (Значение по умолчанию — True) | Boolean |
ignore_case | Определяет, будет ли поиск чувствителен к регистру. По умолчанию, запросы чувствительны к регистру. Чтобы выполнять не чувствительные к регистру запросы, задайте для ignore_case значение True. (Значение по умолчанию — False) | Boolean |
Более подробное описание, сведения о параметрах, сценарии и примеры кода см. в разделе справки Обновление и исправление источников данных.
Пример кода
Следующий скрипт будет печатать имена автономных таблиц, которые имеют поврежденный источник данных для всех таблиц во всех картах.
import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
for m in aprx.listMaps():
for tbl in m.listTableViews():
if tbl.isBroken:
print(f"Table: {tbl.name} is broken in map: {m.name}")
del aprx
Следующий скрипт будет добавлять таблицу из файловой базы геоданных в карту.
import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
addTab = arcpy.mp.Table(r"C:\Projects\YosemiteNP\Data_Vector\YosemiteData.gdb\NHDFCode")
m = aprx.listMaps("Yose*")[0]
m.addTable(addTab)
del aprx