批量投影 (Data Management)
摘要
将一组输入要素类或要素数据集的坐标系更改为通用坐标系。要更改一个要素类或数据集的坐标系,请使用投影工具。
用法
-
投影工具的任何有效输入(如所有要素类或要素数据集)也是该工具的有效输入。
-
虽然输出坐标系和模板数据集都是可选参数,但必须输入其中一个。如果将这两个参数均留空,则会导致工具执行失败。
-
由于该工具不验证是否需要进行变换,因此请首先对其中一个输入使用投影工具,以确定是否需要进行变换。“投影”工具中地理(坐标)变换参数的下拉列表显示了有效的变换(如果存在)。
-
必须先使用定义投影工具为未定义坐标系或“未知”坐标系的要素类或数据集定义坐标系,然后才能对该要素类或数据集使用“投影”工具。
-
输出要素类的名称将取决于输入要素类的名称。例如,如果输入为 C:\myworkspace\Gondor.shp,则输出要素类将命名为 Gondor.shp。如果某个名称在输出工作空间中已存在,则系统将在名称结尾追加一个数字(例如 _1)以确保该名称在输出工作空间中唯一(例如,Gondor_1.shp)。
语法
BatchProject_management (Input_Feature_Class_or_Dataset, Output_Workspace, {Output_Coordinate_System}, {Template_dataset}, {Transformation})
参数 | 说明 | 数据类型 |
Input_Feature_Class_or_Dataset [Input_Feature_Class_or_Dataset,...] |
要转换坐标的输入要素类或要素数据集。 | Geodataset |
Output_Workspace |
每个新输出要素类或要素数据集的位置。 | Feature Dataset; Workspace |
Output_Coordinate_System (可选) |
用于对输入进行投影的坐标系。 有效值是空间参考对象、扩展名为 .prj 的文件或坐标系的字符串表达形式。 | Coordinate System |
Template_dataset (可选) |
用于指定投影时所用输出坐标系的要素类或要素数据集。 | Geodataset |
Transformation (可选) |
在两种地理坐标系(基准面)之间转换数据所应用的地理(坐标)变换的名称。 | String |
代码实例
BatchProject 示例 1 (Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 BatchProject 函数。
import arcpy
arcpy.env.workspace = "C:/data/input/batchproject"
arcpy.BatchProject_management(["citylim.shp", "flood.shp", "faultzn.shp"], "C:/data/output/batchproject", "", "C:/data/usa.gdb/templatefc")
BatchProject 示例 2(独立 Python 脚本)
以下 Python 脚本演示了如何在独立脚本中使用 BatchProject 函数。
# Name: BatchProject.py
# Description: Changes coordinate systems of several datasets in a batch.
import arcpy
from arcpy import env
# Set workspace environment
env.workspace = "C:/data/wgs1972.gdb"
# Input feature classes
input_features = ["cities", "counties", "blocks", "crime"]
# Output workspace
out_workspace = "C:/data/output.gdb"
# Output coordinate system - leave it empty
out_cs = ''
# Template dataset - it has GCS_WGS_1984 coordinate system
template = "C:/data/wgs1984.gdb/stateparks"
# Geographic transformation -
transformation = "WGS_1972_To_WGS_1984_1"
try:
res = arcpy.BatchProject(input_features, out_workspace, out_cs, template, transformation)
if res.maxSeverity == 0:
print "projection of all datasets successful"
else:
print "failed to project one or more datasets"
except:
print res.getMessages()
环境
相关主题
许可信息
ArcGIS for Desktop Basic:是
ArcGIS for Desktop Standard:是
ArcGIS for Desktop Advanced:是
9/15/2013