Extract Data (Production Mapping)
摘要
Extracts input features to a geodatabase. You can optionally filter the input features with a polygon from another layer.
用法
-
Input Datasets can include points, polylines, polygons, and annotation features.
If the input features include a topology, features are extracted from all the layers that participate in the topology. This may be in addition to the layers you have specified in the Input Datasets parameter.
Extracted data will have the same name as Input Datasets.
All data in Input Datasets must originate from the same workspace.
If extracted data originates from a feature dataset, the tool will create a feature dataset of the same name in the target geodatabase.
The target geodatabase must exist before this tool can run.
The Re-use Schema (in_reuse_schema) parameter is enabled for file and personal geodatabases only.
The Filter by Geometry parameter requires one selected feature in the Filter Feature Layer. The tool will return a Filter feature layer selection count not equal to 1 error if there are zero or more than one selected features.
The selected feature in the Filter Feature Layer must be a polygon. If it is not, the tool will return a Filter feature layer must be polygon geometry type error.
Related data is extracted by default. To avoid extracting related data, you must specify each relationship class that defines the related objects you want to exclude using the Exclude Relationship Classes parameter.
Related data is extracted in a forward direction, from origin to destination.
语法
参数 | 说明 | 数据类型 |
in_datasets [Dataset,{Rows Option},...] |
Value table of rows that contain a dataset to extract and a filter option for that dataset. Specifying a filter option allows you to control how rows are replicated per dataset. Filter options include the following:
| Value Table |
in_target_gdb |
The workspace into which data will be extracted. | GeoDataServer; Workspace |
in_reuse_schema (可选) |
Indicates whether to reuse a geodatabase that contains the schema of the data you want to replicate. This reduces the amount of time required to replicate the data. This option is only available for checkout replicas.
| String |
in_usefilter (可选) | The filter limits extraction to features that either intersect or are contained by features in the in_features feature layer.
| Boolean |
in_filtertype (可选) | Specifies the spatial relationship between in_datasets and in_features.
| String |
in_features (可选) |
Feature layer with one selected feature. | Layer |
in_exclude_rel_classes [in_exclude_rel_classes,...] (可选) |
The list of relationship classes whose relationships you want to exclude from extraction. The relationship classes will still be included if both datasets that participate are present but the related objects are not extracted. | Relationship Class |
代码实例
The following Python window script demonstrates how to use the ExtractData tool.
arcpy.env.workspace="c:/data"
inDatasets="Austin.gdb/AOI SCHEMA_ONLY;Austin.gdb/Counties SCHEMA_ONLY"
targetGdb="extract.gdb"
arcpy.ExtractData_production(inDatasets,targetGdb)
The following stand-alone script demonstrates how to use the ExtractData tool.
# Name: ExtractData.py
# Description: Extracts data from the Production Mapping Austin.gdb sample data
# Requires: Esri Production Mapping
import arcpy, sys
# check out a foundation license
arcpy.CheckOutExtension("Foundation")
# set our workspace to the folder that contains both gdbs
arcpy.env.workspace = "c:/data/"
# create a feature layer for the in_features parameter
inFeatures="Austin.gdb/AOI"
inFeaturesLyr="AOI"
arcpy.MakeFeatureLayer_management(inFeatures,inFeaturesLyr)
print arcpy.GetMessages()
# select a feature in inFeaturesLyr
selType="NEW_SELECTION"
where="Q_24K_ID='42671'"
arcpy.SelectLayerByAttribute_management(inFeaturesLyr,selType,where)
print arcpy.GetMessages()
# describe inFeaturesLyr to make sure we have 1 selected feature
desc=arcpy.Describe("AOI")
if len(desc.FIDSet) != 1:
print str(len(desc.FIDSet))
sys.exit("Incorrect number of features selected: Tool expects 1")
# create a value table of input datasets and filter options
inDatasets="Austin.gdb/RoadL USE_FILTERS;Austin.gdb/ContourL USE_FILTERS"
# make a new geodatabase if needed
extractGdb="extract.gdb"
if arcpy.Exists(extractGdb) == False:
arcpy.CreateFileGDB_management(arcpy.env.workspace,extractGdb)
print arcpy.GetMessages()
# extract data
reuseSchema="DO_NOT_REUSE"
useFilter="FILTER_BY_GEOMETRY"
filterType="CONTAINS"
arcpy.ExtractData_production(inDatasets,extractGdb,reuseSchema,useFilter,filterType,inFeaturesLyr)
print arcpy.GetMessages()