使用空间参考类

地理数据集(如要素类、coverage 和栅格)具有空间参考,空间参考用于定义数据集的坐标系、x,y 域、m 域和 z 域。空间参考的每个部分都具有多个属性,特别是坐标系,它定义了哪些地图投影选项用于定义水平坐标。所有这些信息都可以从空间参考属性中获取,该属性实际上是另一个包含多个属性的对象。

import arcpy

# Describe a feature class
#
fc = "D:/St_Johns/data.gdb/roads"
desc = arcpy.Describe(fc)

# Get the spatial reference 
#
sr = desc.spatialReference

# Check if the feature class is in projected space
#
if sr.type == "Projected":
    arcpy.Copy_management(fc,"D:/St_Johns/data.gdb/roads_UTM")

使用投影 (.prj) 文件创建空间参考

将一个空间参考的所有详细信息都保存在一个 Python 脚本中通常不太现实。通过将投影文件用作 SpatialReference 类的参数,可以快速完成空间参考属性的设置并将对象用作地理处理工具的输入。在下面的示例中,将使用提供的投影文件作为输入参数来构造空间参考。

import arcpy

inputWorkspace = "c:/temp"
outputName =  "rivers.shp"

# Get the input workspace, the output name for the new feature class
#  and path to an input projection file
#
inputWorkspace = arcpy.GetParameterAsText(0)
outputName     = arcpy.GetParameterAsText(1)
prjFile        = arcpy.GetParameterAsText(2)

# Use the the projection file as input to the SpatialReference class
#
spatialRef = arcpy.SpatialReference(prjFile)

# Use the SpatialReference object to create a new feature class with a 
#  specific coordinate system
#
arcpy.CreateFeatureClass_management(inputWorkspace, outputName, 
                                    "POLYLINE", "", "", "", spatialRef)
注注:

要获取属性和方法的完整列表,请参阅 SpatialReference 类

注注:

空间参考有时被称为“投影引擎”字符串。投影引擎 (PE) 是一个代码库,所有 ArcGIS 产品均使用此代码库来定义地图投影和执行从一个投影到另一个投影的变换。

相关主题


7/10/2012