首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IndentationError中使用gdalwarp重采样:意外缩进

在IndentationError中使用gdalwarp重采样:意外缩进
EN

Stack Overflow用户
提问于 2019-04-24 11:36:18
回答 1查看 127关注 0票数 2

我处理Sentinel2图像,并试图重新整理它们。

我尝试了以下代码:

代码语言:javascript
复制
import os, fnmatch

INPUT_FOLDER = "/d/afavro/Bureau/test_resampling/original"
OUTPUT_FOLDER = "/d/afavro/Bureau/test_resampling/resampling_10m"

    def findRasters (path, filter):
        for root, dirs, files in os.walk(path):
            for file in fnmatch.filter(files, filter):
                yield file

    for raster in findRasters(INPUT_FOLDER,'*.tif'):
        print(raster)
        inRaster = INPUT_FOLDER + '/' + raster
        print(inRaster)
        outRaster = OUTPUT_FOLDER + '/resample' + raster
        print (outRaster)
        cmd = "gdalwarp -tr 10 10 -r cubic " % (inRaster,outRaster)
        os.system(cmd)

但我仍然收到同样的错误信息:

代码语言:javascript
复制
def findRasters (path, filter): ^
IndentationError: unexpected indent

我已经尝试过使用相同类型的代码来生成子集,并且成功了。我不明白我的错误是怎么来的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-24 11:40:55

错误类型IndentationError应该从字面上看:您的缩进似乎是错误的。你的线路

代码语言:javascript
复制
def findRasters (path, filter):

缩进太远,但需要与前面的行处于相同的缩进级别。

代码语言:javascript
复制
OUTPUT_FOLDER = "/d/afavro/Bureau/test_resampling/resampling_10m"

您提供的完整代码示例应该如下所示:

代码语言:javascript
复制
import os, fnmatch

INPUT_FOLDER = "/d/afavro/Bureau/test_resampling/original"
OUTPUT_FOLDER = "/d/afavro/Bureau/test_resampling/resampling_10m"

def findRasters (path, filter):
    for root, dirs, files in os.walk(path):
        for file in fnmatch.filter(files, filter):
            yield file

for raster in findRasters(INPUT_FOLDER,'*.tif'):
    print(raster)
    inRaster = INPUT_FOLDER + '/' + raster
    print(inRaster)
    outRaster = OUTPUT_FOLDER + '/resample' + raster
    print (outRaster)
    cmd = "gdalwarp -tr 10 10 -r cubic " % (inRaster,outRaster)
    os.system(cmd)

另外,正如您在附加注释中所写的,您的行

代码语言:javascript
复制
cmd = "gdalwarp -tr 10 10 -r cubic " % (inRaster,outRaster)

似乎是错误的,因为inRasteroutRaster不会在字符串中使用。使用字符串格式代替:

代码语言:javascript
复制
cmd = 'gdalwarp -tr 10 10 -r cubic "{}" "{}"'.format(inRaster, outRaster)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55829171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档