从地理数据库提取数据 (数据管理)

摘要

将数据子集从一个地理数据库提取到另一个地理数据库或 .xml 文件。

了解有关从地理数据库提取数据的详细信息

使用情况

  • 此工具提供与将数据从一个地理数据库复制到另一个地理数据库类似的功能,但支持通过设置范围环境、指定使用几何要素提取参数值或使用选择来复制数据子集。 您还可以提取方案和数据或仅提取方案。

  • 该工具还可使用输出坐标系环境仅提取指定空间参考的方案。 在所需空间参考中获得方案后,您可以使用重新使用方案参数的重用选项将数据提取到新模式。

    注:

    在下列方案中将忽略输出坐标系环境:

    • 提取参数设置为数据
    • 输出类型参数设置为 XML 文件

参数

标注说明数据类型
要提取的数据集

将提取的数据。

Table View; Dataset
提取
(可选)

指定是提取方案和数据行还是仅提取方案。

  • 数据将提取方案和行。 这是默认设置。
  • 仅方案将仅提取方案。
String
输出类型
(可选)

指定数据将提取到的输出类型。

  • 地理数据库数据将被提取到现有的地理数据库中。 这是默认设置。
  • XML 文件数据将被提取到 XML 工作空间文档中。
  • 新文件地理数据库数据将被提取到新的文件地理数据库中。 使用地理数据库位置地理数据库名称参数指定新文件地理数据库的位置和名称。
  • 新建移动地理数据库数据将被提取到新的移动地理数据库中。 使用地理数据库位置地理数据库名称参数指定新移动地理数据库的位置和名称。
String
将数据提取到的地理数据库
(可选)

输出类型参数设置为地理数据库时,将包含所提取数据的地理数据库。

Workspace
将数据提取到的 XML 文件
(可选)

输出类型参数设置为 XML 文件时将创建的 .xml 文件的名称和位置。

File
地理数据库位置
(可选)

将为提取的数据创建的文件或移动地理数据库的位置。 当输出类型参数设置为新建文件地理数据库新建移动地理数据库时,则此参数为必需项。

Folder
地理数据库名称
(可选)

将为提取的数据创建的文件或移动地理数据库的名称。 当输出类型参数设置为新建文件地理数据库新建移动地理数据库时,则此参数为必需项。

String
扩展要素类和表
(可选)

指定是否将添加扩展要素类和表(例如网络、拓扑或关系类中的要素类和表)。

  • 使用默认值将添加与输入数据集中的要素类和表相关的扩展要素类和表。 要素类的默认设置是提取所有与空间过滤器相交的要素。 如果未提供任何空间过滤器,则系统会将所有要素包括在内。 表的默认设置是仅提取方案。 这是默认设置。
  • 仅使用方案添加将仅为扩展要素类和表添加方案。
  • 所有行将为扩展要素类和表添加所有行。
  • 不添加将不添加扩展要素类或表。
String
重新使用方案
(可选)

指定是否重复使用包含要提取的数据方案的地理数据库。 重用方案可以减少提取数据所需的时间。

  • 不重用将不会重用方案。 这是默认设置。
  • 重用将重用方案。
String
提取相关数据
(可选)

指定是否将提取与数据中现有行相关的行。 例如,几何过滤器内部存在一个要素 (f1),且该过滤器外部存在一个来自其他类的相关要素 (f2)。 如果您选择获取相关数据,则要素 f2 将包含到提取的数据中。

  • 不取得关联相关数据将不会被提取。
  • 取得关联将提取相关数据。 这是默认设置。
String
使用几何要素提取
(可选)

将用于定义要提取区域的要素。

Feature Layer
几何过滤器类型
(可选)

指定使用几何要素提取输入数据集参数值之间的空间关系以及如何过滤该关系。 空间关系将应用于由使用几何要素提取参数中指定的感兴趣区域 (AOI) 定义的范围内的数据。

  • 相交将提取与使用几何要素提取参数值中的要素相交的输入数据集参数值中的要素。
  • 包含将提取使用几何要素提取参数值中所选要素所包含的输入数据集参数值中的要素。
String
所有表的记录
(可选)

指定是否将所有记录或仅方案提取到表的子地理数据库(例如选择或定义查询)。

支持应用过滤器的表。

  • 选中 - 所有记录都将提取到地理数据库中。 此选项将覆盖扩展要素类和表参数值。
  • 未选中 - 仅将方案提取到表的地理数据库中。 这是默认设置。

Boolean

派生输出

标注说明数据类型
输出地理数据库

输出类型参数设置为地理数据库新文件地理数据库新移动地理数据库时的输出工作空间。

Workspace

arcpy.management.ExtractDataFromGeodatabase(in_data, {extract_type}, {out_type}, {out_geodatabase}, {out_xml}, {out_folder_path}, {out_name}, {expand_feature_classes_and_tables}, {reuse_schema}, {get_related_data}, {extract_using_geometry_features}, {geometry_filter_type}, {all_records_for_tables})
名称说明数据类型
in_data
[in_data,...]

将提取的数据。

Table View; Dataset
extract_type
(可选)

指定是提取方案和数据行还是仅提取方案。

  • DATA将提取方案和行。 这是默认设置。
  • SCHEMA_ONLY将仅提取方案。
String
out_type
(可选)

指定数据将提取到的输出类型。

  • GEODATABASE数据将被提取到现有的地理数据库中。 这是默认设置。
  • XML_FILE数据将被提取到 XML 工作空间文档中。
  • NEW_FILE_GEODATABASE数据将被提取到新的文件地理数据库中。 使用 out_folder_pathout_name 参数指定新文件地理数据库的位置和名称。
  • NEW_MOBILE_GEODATABASE数据将被提取到新的移动地理数据库中。 使用 out_folder_pathout_name 参数指定新移动地理数据库的位置和名称。
String
out_geodatabase
(可选)

out_type 参数设置为 GEODATABASE 时,将包含所提取数据的地理数据库。

Workspace
out_xml
(可选)

out_type 参数设置为 XML_FILE 时将创建的 .xml 文件的名称和位置。

File
out_folder_path
(可选)

将为提取的数据创建的文件或移动地理数据库的位置。 当将 out_type 参数设置为 NEW_FILE_GEODATABASENEW_MOBILE_GEODATABASE 时,此参数为必需项。

Folder
out_name
(可选)

将为提取的数据创建的文件或移动地理数据库的名称。 当将 out_type 参数设置为 NEW_FILE_GEODATABASENEW_MOBILE_GEODATABASE 时,此参数为必需项。

String
expand_feature_classes_and_tables
(可选)

指定是否将添加扩展要素类和表(例如网络、拓扑或关系类中的要素类和表)。

  • USE_DEFAULTS将添加与输入数据集中的要素类和表相关的扩展要素类和表。 要素类的默认设置是提取所有与空间过滤器相交的要素。 如果未提供任何空间过滤器,则系统会将所有要素包括在内。 表的默认设置是仅提取方案。 这是默认设置。
  • ADD_WITH_SCHEMA_ONLY将仅为扩展要素类和表添加方案。
  • ALL_ROWS将为扩展要素类和表添加所有行。
  • DO_NOT_ADD将不添加扩展要素类或表。
String
reuse_schema
(可选)

指定是否重复使用包含要提取的数据方案的地理数据库。 重用方案可以减少提取数据所需的时间。

  • DO_NOT_REUSE将不会重用方案。 这是默认设置。
  • REUSE将重用方案。
String
get_related_data
(可选)

指定是否将提取与数据中现有行相关的行。 例如,几何过滤器内部存在一个要素 (f1),且该过滤器外部存在一个来自其他类的相关要素 (f2)。 如果您选择获取相关数据,则要素 f2 将包含到提取的数据中。

  • DO_NOT_GET_RELATED相关数据将不会被提取。
  • GET_RELATED将提取相关数据。 这是默认设置。
String
extract_using_geometry_features
(可选)

将用于定义要提取区域的要素。

Feature Layer
geometry_filter_type
(可选)

指定 extract_using_geometry_featuresin_data 参数值之间的空间关系以及如何过滤该关系。 空间关系将应用于由 extract_using_geometry_features 参数中指定的感兴趣区域 (AOI) 定义的范围内的数据。

  • INTERSECTS将提取与 in_data 参数值中的要素相交的 extract_using_geometry_features 参数值中的要素。
  • CONTAINS将提取 in_data 参数值中所选要素所包含的 extract_using_geometry_features 参数值中的要素。
String
all_records_for_tables
(可选)

指定是否将所有记录或仅方案提取到表的子地理数据库(例如选择或定义查询)。

支持应用过滤器的表。

  • ALL_RECORDS_FOR_TABLES所有记录都将提取到地理数据库中。 此选项将覆盖 expand_feature_classes_and_tables 参数值。
  • SCHEMA_ONLY_FOR_TABLES仅将方案提取到地理数据库中。 这是默认设置。
Boolean

派生输出

名称说明数据类型
out_workspace

out_type 参数设置为 GEODATABASENEW_FILE_GEODATABASENEW_MOBILE_GEODATABASE 时的输出工作空间。

Workspace

代码示例

ExtractDataFromGeodatabase 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何将 ExtractDataFromGeodatabase 函数与单个输入要素类和新的输出文件地理数据库结合使用。

import arcpy
arcpy.management.ExtractDataFromGeodatabase(
    r"C:\MyProject\MyGDB.gdb\Bridges", "DATA", "NEW_FILE_GEODATABASE", "", "",
   r"C:\MyProject", "MyNewGDB")
ExtractDataFromGeodatabase 示例 2(Python 窗口)

以下 Python 窗口脚本演示了如何使用具有多图层的 ExtractDataFromGeodatabase 函数以及如何将方案仅提取到 XML 工作空间文档。

import arcpy
arcpy.management.ExtractDataFromGeodatabase(
    ["Layer1", "Layer2"], "SCHEMA_ONLY", "XML_FILE", "",
    r"C:\MyProject\MyXMLWkspDoc.xml")
ExtractDataFromGeodatabase 示例 3(独立脚本)

以下独立 Python 脚本演示了如何使用具有范围环境的现有地理数据库的多个输入数据集的 ExtractDataFromGeodatabase 函数。

# Name: ExtractDataFromGeodatabase_Example3.py
# Description: Extract a subset of data by providing an extent using the Extent
#              environment setting.

# Import system modules
import arcpy

# Set the current workspace (to avoid having to specify the full path to each 
# input dataset)
arcpy.env.workspace = "C:\MyProject\MyData.gdb"

# Set the extent environment using the Extent class
arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)

# Set local variables
in_data = ["FC1", "FC2", "FC3"]
extract_type = "DATA"
out_type = "GEODATABASE"
out_geodatabase = "C:\MyProject\MyGDB.gdb"
out_folder_path = ""
out_name = ""
expand_fcs = "USE_DEFAULTS"
reuse_schema = "DO_NOT_REUSE"
get_related_data = "GET_RELATED"
extract_using_geom = ""
geom_filter = ""
all_records = "ALL_RECORDS_FOR_TABLES"

# Run ExtractDataFromGeodatabase
arcpy.management.ExtractDataFromGeodatabase(in_data,
                                            extract_type,
                                            out_type,
                                            out_geodatabase,
                                            out_xml,
                                            out_folder_path,
                                            out_name,
                                            expand_fcs,
                                            reuse_schema,
                                            get_related_data,
                                            extract_using_geom,
                                            geom_filter,
                                            all_records)
ExtractDataFromGeodatabase 示例 4(独立脚本)

以下独立 Python 脚本演示了如何使用 ExtractDataFromGeodatabase 函数通过输出坐标系环境将数据提取到具有新坐标系的新文件地理数据库。

# Name: ExtractDataFromGeodatabase_Example4.py
# Description: Extract data to use a new coordinate system by using the
#              Output Coordinate System environment setting. Then run the tool a second
#              time to load the data using the reuse_schema option

# Import system modules
import arcpy

# Set the Output Coordinate System environment
arcpy.env.outputCoordinateSystem = arcpy.SpatialReference("GCS_North_American_1983_HARN")
arcpy.env.geographicTransformations = "NAD_1983_HARN_To_WGS_1984_2"

# Set local variables
in_data = "C:/MyProject/MyGDB.gdb/FC1"
extract_type = "SCHEMA_ONLY"
out_type = "NEW_FILE_GEODATABASE"
out_geodatabase = ""
out_xml = ""
out_folder_path = "C:\MyProject"
out_name = "MyOutputGDB.gdb"
expand_fcs = "USE_DEFAULTS"
reuse_schema = "DO_NOT_REUSE"
get_related_data = "GET_RELATED"
extract_using_geom = ""
geom_filter = ""
all_records = "SCHEMA_ONLY_FOR_TABLES"

# Run ExtractDataFromGeodatabase with the schema only option
arcpy.management.ExtractDataFromGeodatabase(in_data,
                                            extract_type,
                                            out_type,
                                            out_geodatabase,
                                            out_xml,
                                            out_folder_path,
                                            out_name,
                                            expand_fcs,
                                            reuse_schema,
                                            get_related_data,
                                            extract_using_geom,
                                            geom_filter,
                                            all_records)

# Rest the Output Coordinate System environment
arcpy.ClearEnvironment("outputCoordinateSystem")
arcpy.ClearEnvironment("geographicTransformations")

# Set variables that we are changing to load the data into the newly created schema in 
# the different coordinate system.
extract_type = "DATA"
out_type = "GEODATABASE"
out_geodatabase = "C:\MyProject\MyOutputGDB.gdb"
out_folder_path = ""
out_name = ""
reuse_schema = "REUSE"
all_records = "ALL_RECORDS_FOR_TABLES"

# Run ExtractDataFromGeodatabase with the data and reuse schema option
arcpy.management.ExtractDataFromGeodatabase(in_data,
                                            extract_type,
                                            out_type,
                                            out_geodatabase,
                                            out_xml,
                                            out_folder_path,
                                            out_name,
                                            expand_fcs,
                                            reuse_schema,
                                            get_related_data,
                                            extract_using_geom,
                                            geom_filter,
                                            all_records)
ExtractDataFromGeodatabase 示例 5(独立脚本)

以下独立 Python 脚本演示了如何使用 ExtractDataFromGeodatabase 工具将提取方案保存为 XML 文件,并随后使用 ImportXMLWorkspaceDocument 工具加载数据。

# Name: ExtractDataFromGeodatabase_Example5.py
# Description: Extract schema of multiple feature classes and import the
#              schema into an enterprise geodatabase

# Import system modules
import arcpy

# Set the current workspace (to avoid having to specify the full path to each input dataset)
arcpy.env.workspace = "C:\MyProject\MyData.gdb"

# Export the schema as an XML file from a feature class
result = arcpy.management.ExtractDataFromGeodatabase(
    ["FC1", "FC2"], "SCHEMA_ONLY", "XML_FILE", "",
    "C:/MyProject/MyXMLWkspDoc.xml")

# Get the path to the output XML file
out_xml = result[0]

# Pass the output XML into the Import XML Workspace Document tool
arcpy.management.ImportXMLWorkspaceDocument("C:/MyProject/mySDEConnection.sde", 
                                            out_xml, 
                                            "SCHEMA_ONLY", "DEFAULTS")
ExtractDataFromGeodatabase 示例 6(独立脚本)

以下独立 Python 脚本演示了如何使用 ExtractDataFromGeodatabase 工具将数据提取到新的移动地理数据库,并为新的输出地理数据库创建属性域。

# Name: ExtractDataFromGeodatabase_Example6.py
# Description: Extract data and create a domain on output workspace

# Import system modules
import arcpy

# Export data to a new mobile geodatabase
result = arcpy.management.ExtractDataFromGeodatabase(
    "C:/MyProject/mySDEConnection.sde/myGDB.USER1.FC1", "DATA", "NEW_MOBILE_GEODATABASE", "", "",
    "C:/MyProject", "newMobileGDB")

# Get the path to the output mobile geodatabase
out_mobile_gdb = result[1]

# Pass the output geodatbase to the CreateDomain tool
arcpy.management.CreateDomain(out_mobile_gdb, "MyDomain", "My domain description", "SHORT", "CODED")

许可信息

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

相关主题