Регистрация в базе геоданных (Управление данными)

Сводка

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

Использование

  • Используйте этот инструмент для регистрации в базе геоданных классов пространственных объектов, представлений, таблиц и растровых слоёв, которые вы создали в базе данных при помощи сторонних инструментов или SQL. Представления, созданные с помощью инструмента геообработки Создать представление базы данных, также могут быть зарегистрированы в базе геоданных.

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

  • Для регистрации в многопользовательской базе геоданных необходимо подключиться в качестве владельца входного набора данных.

  • Прежде чем класс пространственных объектов, таблица или растровый слой сможет в полной мере участвовать во всех функциях базы геоданных, он должен быть зарегистрирован в базе геоданных. Если он не зарегистрирован в базе геоданных, будут доступны только некоторые функции клиентов и сервисов ArcGIS.

  • Представления, зарегистрированные в базе геоданных, не могут участвовать в некотором поведении базы геоданных, и доступны только для чтения для клиентов ArcGIS. Представления не поддерживаются в сервисах объектов.

Синтаксис

arcpy.management.RegisterWithGeodatabase(in_dataset, {in_object_id_field}, {in_shape_field}, {in_geometry_type}, {in_spatial_reference}, {in_extent})
ParameterОбъяснениеТип данных
in_dataset

Класс пространственных объектов, таблица, представление или растр, созданные при помощи сторонних инструментов, SQL или инструмента Создать представление базы данных, которые будут зарегистрированы в базе геоданных. Набор данных должен находиться в той же базе данных, что и база геоданных.

Table View; Raster Layer
in_object_id_field
(Дополнительный)

Это поле будет использоваться как поле ObjectID. Эти входные данные обязательны при регистрации представления и должны предоставлять существующее целочисленное поле. Этот параметр не обязателен при регистрации других типов наборов данных; при использовании существующего поля оно должно быть целочисленным. Если существующее поле не указано при регистрации этих других типов набора данных, то будет создано и заполнено поле ObjectID.

Field
in_shape_field
(Дополнительный)

Если входной набор данных содержит поле shape, включите его в процессе регистрации.

Field
in_geometry_type
(Дополнительный)

Задает тип геометрии. Если присутствует значение параметра in_shape_field, вы должны указать тип геометрии. Если регистрируемый набор данных содержит существующие объекты, указанный тип геометрии должен соответствовать сущности этих пространственных объектов.

  • POINTТип геометрии – точка.
  • MULTIPOINTТип геометрии – мультиточка.
  • POLYGONТип геометрии – полигон.
  • POLYLINEТип геометрии – полилиния.
String
in_spatial_reference
(Дополнительный)

Если присутствует значение параметра in_shape_field и таблица пустая, укажите систему координат для ее использования пространственными объектами. Если регистрируемый набор данных содержит существующие объекты, указанная система координат должна соответствовать системе координат существующих пространственных объектов. Корректными значениями являются: Объект Spatial Reference, файл с расширением .prj и строковое представление системы координат.

Spatial Reference
in_extent
(Дополнительный)

Если присутствует значение параметра in_shape_field, укажите допустимый диапазон значений для координат X,Y в следующем порядке: "XMin YMin XMax YMax". Если регистрируемый набор данных содержит существующие объекты, будет использован экстент существующих объектов.

Envelope

Производные выходные данные

NameОбъяснениеТип данных
reg_dataset

Зарегистрированный набор данных.

Таблица

Пример кода

RegisterWithGeodatabase, пример 1 (окно Python)

Следующий скрипт в окне Python показывает, как использовать функцию RegisterWithGeodatabase в окне Python для пространственной таблицы, содержащей точечные геометрические объекты. Так как основополагающая таблица содержит информацию о существующих пространственных объектах, пространственной привязке и экстенте объектов, её всегда можно посмотреть и не обязательно предоставлять в явном виде.

import arcpy
arcpy.env.workspace = r"Database Connections/connection.sde"
arcpy.RegisterWithGeodatabase_management("database.owner.COUNTIES", "OID", 
                                         "Shape", "POINT")
RegisterWithGeodatabase, пример 2 (автономный скрипт)

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

# RegisterWithGeodatabase.py
# Description: Simple example showing use of RegisterWithGeodatabase tool
 
# Import system modules
import arcpy
# Set variables
inTable = r"c:\connectionFiles\Connection to esriServer.sde\database.dbo.cities"
oid_field = "OID"
shape_field = "Shape"
geometry_type = "POINT"
sr = arcpy.SpatialReference(4326)
in_extent = "11 10 14 34"
# Process: Register With Geodatabase
arcpy.RegisterWithGeodatabase_management(inTable, oid_field, shape_field, 
                                         geometry_type, sr, in_extent)
RegisterWithGeodatabase, пример 3 (автономный скрипт)

Регистрирование представления названием trees в файловой базе геоданных.

# RegisterWithGeodatabase.py
# Description: Example showing use of RegisterWithGeodatabase tool with a file 
#              gdb view.
# Import system modules
import arcpy
# Create a view in the geodatabase
arcpy.CreateDatabaseView_management("C:\\testdata\\mytest.gdb",
                                    "trees",
                                    "select objectid, owner, parcel from inventory where type = trees")
# Set variables
inTable = r"C:\\testdata\\mytest.gdb\\trees"
# Process: Register With Geodatabase
arcpy.RegisterWithGeodatabase_management(inTable, "objectid")

Информация о лицензиях

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

Связанные разделы