设置默认单元格大小

2024-09-30 04:39:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在尝试设置多边形到光栅转换的默认单元格大小时遇到问题。我需要将缓冲流(多边形)转换为光栅层,以便将流刻录到DEM中。我想自动化这个过程,把它包含在一个更大的脚本中。在

我的主要问题是polygontRaster_conversion()工具不允许我将单元格大小设置为光栅图层值。它也不符合我在环境中设置的默认光栅单元大小。相反,它始终使用默认的“范围除以250”。在

下面是我的脚本:

# Input Data
Input_DEM = "C:\\GIS\\DEM\\dem_30m.grid"
BufferedStream = "C:\\GIS\\StreamBuff.shp"

# Environment Settings
arcpy.env.cellSize = Input_DEM

# Convert to Raster
StreamRaster = "C:\\GIS\\Stream_Rast.grid"
arcpy.PolygonToRaster_conversion(BufferedStream, "FID", StreamRaster, "CELL_CENTER", "NONE", Input_DEM)

这将产生以下错误: “单元格大小必须大于零。”

如果我键入DEM图层的路径,也会出现同样的错误。在

我还试着手动输入一个单元格大小的数字。这是可行的,但我想概括一下这个工具的可用性。在

我真的不明白的是,我通过ArcGIS界面手动使用DEM图层作为单元大小,而这一切完美地工作了!!在

任何帮助都将不胜感激!!!在


Tags: 工具脚本图层input光栅错误多边形grid
1条回答
网友
1楼 · 发布于 2024-09-30 04:39:35

这里有几个选项。首先,可以使用光栅标注栏属性提取单元格大小并将其插入PolygonToRaster函数中。其次,尝试在cell size环境设置中使用MINOF参数。在

import arcpy

# Input Data
Input_DEM = "C:\\GIS\\DEM\\dem_30m.grid"
BufferedStream = "C:\\GIS\\StreamBuff.shp"

# Use the describe function to get at cell size
desc = arcpy.Describe(Input_DEM)
cellsize = desc.meanCellWidth

# Convert to Raster
StreamRaster = "C:\\GIS\\Stream_Rast.grid"
arcpy.PolygonToRaster_conversion(BufferedStream, "FID", StreamRaster, "CELL_CENTER", "NONE", cellsize)

相关问题 更多 >

    热门问题