注册到地理数据库 (数据管理)

摘要

用于将要素类、表、视图和栅格图层注册到地理数据库。 注册用于使用 SQL 的第三方工具在数据库中创建的数据,或者使用未注册到地理数据库的工具(创建未注册的要素类创建未注册的表创建数据库视图工具)在 ArcGIS Pro 中创建的数据。

对于未注册的数据,ArcGIS 客户端和服务仅提供有限的功能。 注册会将有关项目的信息(例如表和列名称、空间范围和几何类型)存储在地理数据库的系统表中。 由此,已注册项目即可参与地理数据库功能。

了解有关如何将表或视图注册到地理数据库的详细信息

使用情况

  • 此外,还可以将在文件和企业级地理数据库中使用创建数据库视图工具创建的视图注册到文件地理数据库。

  • 要注册到企业级地理数据库,您必须以输入数据集所有者的身份进行连接。

  • 未注册到地理数据库中的视图不能参与某些地理数据库行为,并且只能通过 ArcGIS 客户端实现读取。 即使将视图注册到地理数据库,视图也不支持用于要素服务中。

参数

标注说明数据类型
输入数据集

使用第三方工具或 SQL 创建的要素类、表、视图或栅格,或者使用将在地理数据库中注册的创建数据库视图工具创建的视图。 数据集必须存在于与地理数据库相同的数据库中。

Table View; Raster Layer
Object ID 字段
(可选)

将用作 ObjectID 字段的字段。 当使用输入数据集中的现有字段时,将需要整型数据类型。 如果未使用现有字段,则将创建 ObjectID 字段并进行填充。

注:

当注册视图时,将需要现有整型字段。

Field
Shape 字段
(可选)

用于标识要素形状的字段。 如果输入数据集包含空间数据类型列,则在注册过程中应将该字段包括在内。

Field
几何类型
(可选)

指定几何类型。 如果提供 Shape 字段参数值,您必须指定一个几何类型。 支持的几何类型包括点、多点、面、折线和多面体。 如果正在注册的数据集包含现有要素,则指定的几何类型必须与这些要素的实体类型相匹配。

  • 该几何类型将为点。
  • 多点该几何类型将为多点。
  • 该几何类型将为面。
  • 折线该几何类型将为折线。
  • 多面体几何类型将为多面体。
String
坐标系
(可选)

如果提供 Shape 字段参数值,且表为空,则需要指定将要用于要素的坐标系。 如果正在注册的数据集包含现有要素,则指定的坐标系必须与现有要素的坐标系相匹配。

Spatial Reference
指定范围
(可选)

如果提供 Shape 字段参数值,则需要指定允许的 x,y 坐标的坐标范围。 如果正在注册的数据集包含现有要素,则将使用现有要素的范围。

Envelope

派生输出

标注说明数据类型
注册的数据集

已注册的数据集。

Table

arcpy.management.RegisterWithGeodatabase(in_dataset, {in_object_id_field}, {in_shape_field}, {in_geometry_type}, {in_spatial_reference}, {in_extent})
名称说明数据类型
in_dataset

使用第三方工具或 SQL 创建的要素类、表、视图或栅格,或者使用将在地理数据库中注册的创建数据库视图工具创建的视图。 数据集必须存在于与地理数据库相同的数据库中。

Table View; Raster Layer
in_object_id_field
(可选)

将用作 ObjectID 字段的字段。 当使用输入数据集中的现有字段时,将需要整型数据类型。 如果未使用现有字段,则将创建 ObjectID 字段并进行填充。

注:

当注册视图时,将需要现有整型字段。

Field
in_shape_field
(可选)

用于标识要素形状的字段。 如果输入数据集包含空间数据类型列,则在注册过程中应将该字段包括在内。

Field
in_geometry_type
(可选)

指定几何类型。 如果提供 in_shape_field 参数值,您必须指定一个几何类型。 如果正在注册的数据集包含现有要素,则指定的几何类型必须与这些要素的实体类型相匹配。

  • POINT该几何类型将为点。
  • MULTIPOINT该几何类型将为多点。
  • POLYGON该几何类型将为面。
  • POLYLINE该几何类型将为折线。
  • MULTIPATCH几何类型将为多面体。
String
in_spatial_reference
(可选)

如果提供 in_shape_field 参数值,且表为空,则需要指定将要用于要素的坐标系。 如果正在注册的数据集包含现有要素,则指定的坐标系必须与现有要素的坐标系相匹配。 有效值可以是 Spatial Reference 对象、扩展名为 .prj 的文件或坐标系的字符串表达形式。

Spatial Reference
in_extent
(可选)

如果提供 in_shape_field 参数值,请按以下顺序指定 x,y 坐标的允许坐标范围:"XMin YMin XMax YMax"。 如果正在注册的数据集包含现有要素,则将使用现有要素的范围。

Envelope

派生输出

名称说明数据类型
reg_dataset

已注册的数据集。

Table

代码示例

RegisterWithGeodatabase 示例 1(Python 窗口)

以下 Python 窗口脚本显示了如何在 Python 窗口中使用 RegisterWithGeodatabase 函数以获得包含点几何要素的空间表。 由于基础表包含现有要素,所以可以查找坐标参考和要素范围信息而无需明确列出。

import arcpy
arcpy.env.workspace = r"Database Connections/connection.sde"
arcpy.management.RegisterWithGeodatabase("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.management.RegisterWithGeodatabase(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.management.CreateDatabaseView("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.management.RegisterWithGeodatabase(inTable, "objectid")

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题