在 Advanced 许可等级下可用。
使用方法
可以将包含面要素的任意要素类(地理数据库、shapefile 或 coverage)转换为栅格数据集。
输入字段类型决定输出栅格的类型。如果字段是整型,则输出栅格也是整型;如果字段是浮点型,则输出栅格也是浮点型。
如果输入字段包含字符串值,则输出栅格将包含一个整数值字段和一个字符串字段。
但是,如果字段为浮点型并且值以整数形式表示,则输出栅格将为整型。
像元大小可以通过数值进行定义,也可以从现有栅格数据集获取。如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(如果已指定环境)。如果参数像元大小和环境像元大小均未指定,但已设置了捕捉栅格环境,则将使用捕捉栅格的像元大小。如果未指定任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。
如果已使用数值指定像元大小,则工具会直接将其用于输出栅格。
如果已使用栅格数据集指定像元大小,则该参数将显示栅格数据集的路径而不是像元大小的值。如果数据集的空间参考与输出空间参考相同,则栅格数据集的像元大小将直接用于分析。如果数据集的空间参考不同,则将基于所选的像元大小投影方法进行投影。
此工具与栅格转面工具互为补充,后者是将栅格转换为面要素类。
当输出像元中存在多个要素时,此工具可提供比要素转栅格工具更全面的像元值分配控制。
转换重叠面时,您可能想要将具有最小面积的面要素分配给像元。为此,比较容易的方法是,向输入要素类另外添加一个字段,并计算各面的面积倒数;然后在运行此工具时使用此字段作为优先级字段。
对于支持 Null 值的数据格式,例如文件地理数据库要素类,在将 Null 值用作输入时,该值将被忽略。
某些栅格存储环境可能适用于此工具。
语法
arcpy.conversion.PolygonToRaster(in_features, value_field, out_rasterdataset, {cell_assignment}, {priority_field}, {cellsize}, {build_rat})
参数 | 说明 | 数据类型 |
in_features | 要转换为栅格的面输入要素数据集。 | Feature Layer |
value_field | 用于向输出栅格分配值的字段。 可以是输入要素数据集属性表中的任何字段。 | Field |
out_rasterdataset | 要创建的输出栅格数据集。 如果不希望将输出栅格保存到地理数据库,请为 TIFF 文件格式指定 .tif,为 CRF 文件格式指定 .CRF,为 ERDAS IMAGINE 文件格式指定 .img,而对于 Esri Grid 栅格格式,无需指定扩展名。 | Raster Dataset |
cell_assignment (可选) | 用于确定当多个要素落在一个像元中时如何为像元分配值的方法。
| String |
priority_field (可选) | 此字段用于确定哪个要素应该优先于像元外的其他要素。使用时,无论选择何种像元分配类型,始终为转换选择优先级为最大正值的要素。 | Field |
cellsize (可选) | 正在创建的输出栅格的像元大小。 此参数可以通过数值进行定义,也可以从现有栅格数据集获取。如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。有关详细信息,请参阅“用法”。 | Analysis Cell Size |
build_rat (可选) | 指定输出栅格是否将具有栅格属性表。 此参数仅适用于整型栅格。
| Boolean |
代码示例
将面要素转换为栅格数据集。
import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.PolygonToRaster_conversion("ca_counties.shp", "NAME",
"c:/output/ca_counties.img",
"MAXIMUM_AREA", "MALES", 0.25)
将面要素转换为栅格数据集。
# Name: PolygonToRaster_Ex_02.py
# Description: Converts polygon features to a raster dataset.
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inFeatures = "ca_counties.shp"
valField = "NAME"
outRaster = "c:/output/ca_counties"
assignmentType = "MAXIMUM_AREA"
priorityField = "MALES"
cellSize = 0.5
# Execute PolygonToRaster
arcpy.PolygonToRaster_conversion(inFeatures, valField, outRaster,
assignmentType, priorityField, cellSize)
许可信息
- Basic: 需要 Spatial Analyst 或 3D Analyst
- Standard: 需要 Spatial Analyst 或 3D Analyst
- Advanced: 是