【问题标题】:Setting Default Cell Size设置默认像元大小
【发布时间】:2014-10-01 23:09:20
【问题描述】:

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

我的主要问题是 PolygonToRaster_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 图层作为像元大小,并且效果很好!

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

【问题讨论】:

    标签: python raster arcpy


    【解决方案1】:

    这里有几个选项。首先,您可以使用栅格波段属性来提取像元大小并将其插入到 PolygonToRaster 函数中。其次,尝试在单元格大小环境设置中使用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)
    

    【讨论】:

      猜你喜欢
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-24
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      相关资源
      最近更新 更多