定义投影 (数据管理)

描述

覆盖与数据集一同存储的坐标系信息(地图投影和基准面)。此工具用于坐标系未知或定义错误的数据集。

所有地理数据集均具有一个用于显示、测量和转换地理数据的坐标系,此坐标系在 ArcGIS 中使用。如果某一数据集的坐标系未知或不正确,您可以使用此工具来指定正确的坐标系。使用此工具前,您必须已获知该数据集的正确坐标系。

使用方法

  • 此工具仅更新现有的坐标系信息,而并不修改任何几何。如果您要将几何转换到其他坐标系,请使用投影工具。

  • 此工具最常见的用途是为具有未知坐标系(即,在数据集属性中坐标系为“未知”)的数据集指定一个已知坐标系。另一个用途是为没有正确定义坐标系(例如,坐标以 UTM 米为单位,而坐标系则定义为地理坐标系)的数据集指定正确的坐标系。

  • 将具有已知坐标系的数据集输入此工具时,此工具将显示警告信息,但仍将成功执行。

  • 地理数据库要素数据集中的所有要素类将使用同一个坐标系。对于地理数据库数据集而言,应在其创建时确定坐标系。数据集包含要素类之后,其坐标系将无法更改。

语法

arcpy.management.DefineProjection(in_dataset, coor_system)
参数说明数据类型
in_dataset

要定义投影的数据集或要素类。

Feature Layer;Geodataset
coor_system

要应用于输入的坐标系。默认值将基于“输出坐标系”环境设置进行设定。

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

Coordinate System

派生输出

名称说明数据类型
out_dataset

已更新的输入地理数据集。

地理数据集

代码示例

DefineProjection 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 DefineProjection 函数。

import arcpy
infc = r"C:\data\citylim_unk.shp"
sr = arcpy.SpatialReference("NAD 1983 UTM Zone 11N")
arcpy.DefineProjection_management(infc, sr)
DefineProjection 示例(独立脚本)

以下独立脚本使用 DefineProjection 函数来记录输入数据集的坐标系信息。

# Name: DefineProjection.py 
# Description: Records the coordinate system information for the specified input dataset or feature class

# import system modules
import arcpy

# set workspace environment
arcpy.env.workspace = "C:/data"

try:
    # set local variables
    in_dataset = "citylim_unk.shp" #"forest.shp"
    
    # get the coordinate system by describing a feature class
    dsc = arcpy.Describe("citylim_utm11.shp")
    coord_sys = dsc.spatialReference
    
    # run the tool
    arcpy.DefineProjection_management(in_dataset, coord_sys)
    
    # print messages when the tool runs successfully
    print(arcpy.GetMessages(0))
    
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))
    
except Exception as ex:
    print(ex.args[0])

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题