【问题标题】:Raster to ASCII - adding processing multiple files piece of code in Python光栅到 ASCII - 在 Python 中添加处理多个文件的一段代码
【发布时间】:2012-09-05 23:24:10
【问题描述】:

我在 python 中编写了一段将光栅文件转换为 ascii 的代码。现在,我需要让它处理文件夹中的所有文件。此外,最后保存 ascii 文件,其名称与添加后缀的原始文件名称相同。 我是 python 的新手,我保证我做了我的功课,我不能自己做批处理。任何帮助将不胜感激!

import arcpy
from arcpy import env
env.workspace = "C:/Data"
inRaster = ("test.img")
outASCII = "c:/output/test3.asc"
arcpy.RasterToASCII_conversion(inRaster, outASCII)

【问题讨论】:

  • 如果您已经使用 python,则无需向 ArcGIS 支付高昂的许可费用,请查看 GDAL.org,它们具有出色的 python 绑定,并且您可以非常轻松地将二进制栅格转换为 ascii。

标签: python batch-file ascii arcgis raster


【解决方案1】:

试试下面的

import arcpy
arcpy.env.workspace = 'c:/data'

listOfImgs = arcpy.ListRasters('*.img')
for imageFile in listOfImgs:
    outASCII = '%s.asc' % (imageFile,)
    arcpy.RasterToASCII_conversion(imageFile, outASCII)

【讨论】:

    【解决方案2】:

    试试这个:

    import os
    dir_name = ...
    for filename in os.listdir(dir_name):
        if not filename.endswith(".img"): continue
        full_path = os.path.join(dir_name, filename)
        outASCII = '%s.asc' % (full_path,)
        arcpy.RasterToASCII_conversion(full_path, outASCII)
    

    它获取目录dir_name 中所有以.img 结尾的文件名并将其传递给您的转换函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-28
      • 2013-11-16
      • 1970-01-01
      • 2013-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多