【问题标题】:How to convert multiple Raster to NetCDF using ArcPy如何使用 ArcPy 将多个 Raster 转换为 NetCDF
【发布时间】:2017-01-19 10:00:53
【问题描述】:

我正在尝试使用 ArcPy 脚本将多个栅格文件转换为 NetCDF 文件。当我运行以下脚本时,我收到以下错误消息:

Message File Name   Line    Position    
Traceback               
    <module>    <module1>   19      
    RasterToNetCDF  C:\Program Files\ArcGIS\Desktop10.3\ArcPy\arcpy\md.py   253     
ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000840: The value is not a Raster Layer.
ERROR 000840: The value is not a Raster Catalog.
Failed to execute (RasterToNetCDF).

Python 脚本:

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = r"D:\2012A"

# Set local variables
inRaster = r"D:\2012A"
outNetCDFFile = r"D:\2012A/nppnetcdf.nc"
variable = "elevation"
units = "meter"
XDimension = "x"
YDimension = "y"
bandDimension = ""

# Process: RasterToNetCDF
arcpy.RasterToNetCDF_md(inRaster, outNetCDFFile, variable, units,
                        XDimension, YDimension, bandDimension)

【问题讨论】:

标签: python arcgis arcpy


【解决方案1】:

@Erica 回答了您收到错误的原因,但如果您想为目录中的每个栅格数据集执行转换,您必须首先在其中创建一个栅格列表。这可以通过类似的方式完成这个:

rasterlist = arcpy.ListRasters()
## other variables, as you have already defined them in your code
for raster in rasterlist:
    RastertoNetCDF_md(variables)

所以要实现这个:

# Set environment settings
env.workspace = r"D:\2012A"

# Set local variables
inRaster = r"D:\2012A"
outNetCDFFile = r"D:\2012A\nppnetcdf.nc"
variable = "elevation"
units = "meter"
XDimension = "x"
YDimension = "y"
bandDimension = ""
rasterlist = arcpy.ListerRasters()

# Process: RasterToNetCDF
for raster in rasterlist:
    arcpy.RasterToNetCDF_md(inRaster, outNetCDFFile, variable, units,
                    XDimension, YDimension, bandDimension)

【讨论】:

    【解决方案2】:

    我觉得有两个问题很突出。

    首先,您在outNetCDFFile = r"D:\2012A/nppnetcdf.nc" 的文件路径无效。两者都应该是反斜杠 \ 以获得有效路径。

    其次,更可能导致错误的原因——inRaster = r"D:\2012A" 似乎是一个目录。您不能只将目录传递给RasterToNetCDF_md tool——输入参数必须是栅格图层。在栅格文件(而不是目录!)上运行 MakeRasterLayer_management tool 以创建栅格图层,并将结果传递给 RasterToNetCDF_md

    【讨论】:

      猜你喜欢
      • 2020-04-28
      • 2021-02-23
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 2013-03-04
      相关资源
      最近更新 更多