批量投影 (数据管理)

摘要

将一组输入要素类或要素数据集的坐标系更改为通用坐标系。要更改单个要素类或数据集的坐标系,请使用投影工具。

使用情况

  • 投影工具的任何有效输入(如所有要素类要素数据集)也是此工具的有效输入。

  • 虽然输出坐标系模板数据集都是可选参数,但必须对其中一个输入参数。如果将这两个参数均留空,则会导致工具执行失败。

  • 如有需要,将根据输出坐标系、输入坐标系、输入数据集范围为各个输入数据集计算地理(坐标)变换

  • 必须先使用定义投影工具为未定义坐标系或“未知”坐标系的要素类或数据集定义坐标系,然后才能对该要素类或数据集使用“投影”工具。

  • 输入要素类的名称用于对输出要素类命名。例如,如果输入为 C:\myworkspace\Gondor.shp,则输出要素类将命名为 Gondor.shp。如果该名称在输出工作空间中已存在,系统会在名称后面追加一个数字(例如,_1)以确保名称唯一 (Gondor_1.shp)。

参数

标注说明数据类型
输出工作空间

每个新输出要素类或要素数据集的位置。

Feature Dataset; Workspace
输出坐标系
(可选)

用于对输入进行投影的坐标系。默认值将基于输出坐标系环境进行设置。

Coordinate System
模板数据集
(可选)

用于指定投影时所用输出坐标系的要素类或要素数据集。

Geodataset
变换
(可选)

在两种地理坐标系(基准面)之间转换数据所应用的地理(坐标)变换的名称。

String

派生输出

标注说明数据类型
更新的输出工作空间

每个新输出要素类或要素数据集的位置。

工作空间;要素数据集

arcpy.management.BatchProject(Output_Workspace, {Output_Coordinate_System}, {Template_dataset}, {Transformation})
名称说明数据类型
Output_Workspace

每个新输出要素类或要素数据集的位置。

Feature Dataset; Workspace
Output_Coordinate_System
(可选)

用于对输入进行投影的坐标系。

有效值可以是 SpatialReference 对象、扩展名为 .prj 的文件或坐标系的字符串表达形式。

Coordinate System
Template_dataset
(可选)

用于指定投影时所用输出坐标系的要素类或要素数据集。

Geodataset
Transformation
(可选)

在两种地理坐标系(基准面)之间转换数据所应用的地理(坐标)变换的名称。

String

派生输出

名称说明数据类型
Derived_Output

每个新输出要素类或要素数据集的位置。

工作空间;要素数据集

代码示例

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 脚本演示了如何在独立脚本中使用 BatchProject 函数。

# Name: BatchProject.py
# Description: Changes coordinate systems of several datasets in a batch.

import arcpy

# Set workspace environment
arcpy.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"

res = arcpy.BatchProject(input_features, out_workspace, out_cs, template, transformation)

相关主题