Batch Project tool (Управление данными)
Резюме
Изменяет систему координат набора входных классов объектов или наборов классов объектов в единую систему координат . Для того, чтобы изменить систему координат одного класса объектов или набора данных, используйте инструмент Проецировать (Project).
Использование
-
Корректные входные данные для инструмента Проецировать (Project), например, классы пространственных объектов или наборы классов объектов, также являются корректными входными данными для этого инструмента.
-
Хотя и Выходная система координат (Output Coordinate System), и Шаблонный набор данных (Template Dataset) являются дополнительными параметрами, один из этих параметров необходимо ввести. Если не ввести ни одного из этих параметров, то инструмент работать не будет.
-
Поскольку инструмент не проверяет, требуется ли трансформация, вначале используйте инструмент Проецировать (Project) с одним из наборов входных данных, чтобы определить, требуется ли какая-нибудь трансформация. Раскрывающийся список параметра Географическая трансформация (Geographic Transformation) инструмента Проецировать (Project) показывает, какие трансформации (если они существуют) корректны.
-
Если у класса пространственных объектов или у набора данных не определена или не известна система координат, то, прежде чем использовать его с этим инструментом, необходимо вначале определить эту систему координат при помощи инструмента Задать проекцию (Define Projection).
-
Имя выходных классов пространственных объектов будет основано на именах входных классов объектов. Например, если входные данные - C:\myworkspace\Gondor.shp, имя выходного класса объектов будет Gondor.shp. Если имя уже существует в выходной рабочей области, к нему будет присоединено число (например, _1), чтобы сделать его уникальным (Gondor_1.shp) в выходной рабочей области.
Синтаксис
Параметр | Объяснение | Тип данных |
Input_Feature_Class_or_Dataset [Input_Feature_Class_or_Dataset,...] |
Входные классы объектов или наборы классов объектов, координаты которых который должны быть конвертированы. | Geodataset |
Output_Workspace |
Местоположение каждого нового выходного класса объектов или набора классов объектов. | Feature Dataset; Workspace |
Output_Coordinate_System (дополнительно) |
Система координат, которая должна использоваться для проецирования входных данных. Корректными значениями являются: Объект пространственной привязки (Spatial Reference object), файл с расширением .prj и строковое представление системы координат. | Coordinate System |
Template_dataset (дополнительно) |
Класс объектов или набор классов объектов, которые применяются для указания выходной системы координат, используемой для проецирования. | Geodataset |
Transformation (дополнительно) |
Перемещение ваших данных между системами координат иногда включает преобразования между географическими системами координат. | String |
Пример кода
Пример скрипта 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")
На следующем скрипте 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()