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_path 和 out_name 参数指定新文件地理数据库的位置和名称。
NEW_MOBILE_GEODATABASE—数据将被提取到新的移动地理数据库中。 使用 out_folder_path 和 out_name 参数指定新移动地理数据库的位置和名称。
|
String
|
|
out_geodatabase
(可选)
|
当 out_type 参数设置为 GEODATABASE 时,将包含所提取数据的地理数据库。
|
Workspace
|
|
out_xml
(可选)
|
当 out_type 参数设置为 XML_FILE 时将创建的 .xml 文件的名称和位置。
|
File
|
|
out_folder_path
(可选)
|
将为提取的数据创建的文件或移动地理数据库的位置。 当将 out_type 参数设置为 NEW_FILE_GEODATABASE 或 NEW_MOBILE_GEODATABASE 时,此参数为必需项。
|
Folder
|
|
out_name
(可选)
|
将为提取的数据创建的文件或移动地理数据库的名称。 当将 out_type 参数设置为 NEW_FILE_GEODATABASE 或 NEW_MOBILE_GEODATABASE 时,此参数为必需项。
|
String
|
|
expand_feature_classes_and_tables
(可选)
|
指定是否将添加扩展要素类和表(例如网络、拓扑或关系类中的要素类和表)。
|
String
|
|
reuse_schema
(可选)
|
指定是否重复使用包含要提取的数据方案的地理数据库。 重用模式可以减少提取数据所需的时间。
|
String
|
|
get_related_data
(可选)
|
指定是否将提取与数据中现有行相关的行。 例如,几何过滤器内部存在一个要素 (f1),且该过滤器外部存在一个来自其他类的相关要素 (f2)。 如果您选择获取相关数据,则要素 f2 将包含到提取的数据中。
|
String
|
|
extract_using_geometry_features
(可选)
|
将用于定义要提取区域的要素。
|
Feature Layer
|
|
geometry_filter_type
(可选)
|
指定 extract_using_geometry_features 和 in_data 参数值之间的空间关系以及如何过滤该关系。 空间关系将应用于由 extract_using_geometry_features 参数中指定的感兴趣区域 (AOI) 定义的范围内的数据。
|
String
|
|
all_records_for_tables
(可选)
|
指定是否将所有记录或仅方案提取到表的子地理数据库(例如选择或定义查询)。
将支持具有已应用过滤器的表。
|
Boolean
|
派生输出
|
名称
|
说明
|
数据类型
|
|
out_workspace
|
当 out_type 参数设置为 GEODATABASE、NEW_FILE_GEODATABASE 或 NEW_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_xml = ""
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")