【问题标题】:Colab - Split big tiff file using GDALColab - 使用 GDAL 拆分大 tiff 文件
【发布时间】:2020-09-19 04:41:30
【问题描述】:

我正在尝试使用 Colab 上的 gdal 将一个巨大的 tiff 文件拆分为图块。

我的 google 驱动器已安装,我可以对其进行读写。

代码取自this答案:

com_string = "gdal_translate -of GTIFF -srcwin" + ...
os.system(com_string)

单元完成,但驱动器上没有显示新文件。 有什么想法或其他方式来实现文件的拆分?

【问题讨论】:

  • 请分享一个能够重现您观察到的问题的独立笔记本。

标签: google-colaboratory tiff gdal


【解决方案1】:

This回答给出建议:

您需要提出像素/线位置或角坐标,然后使用 gdal_translate 循环遍历这些值。

import os, sys
from osgeo import gdal

dset = gdal.Open(sys.argv[1])

width = dset.RasterXSize
height = dset.RasterYSize

print width, 'x', height

tilesize = 5000

for i in range(0, width, tilesize):
    for j in range(0, height, tilesize):
        w = min(i+tilesize, width) - i
        h = min(j+tilesize, height) - j
        gdaltranString = "gdal_translate -of GTIFF -srcwin "+str(i)+", "+str(j)+", "+str(w)+", " \
            +str(h)+" " + sys.argv[1] + " " + sys.argv[2] + "_"+str(i)+"_"+str(j)+".tif"
        os.system(gdaltranString)

当然,这取决于您的gdal 安装是否正常工作。如果上述方法不起作用(您仍然没有文件),请尝试首先在未安装 Google Drive 的位置运行它。如果可行,您就知道问题出在您的安装上。如果没有,接下来我会检查以确保您获得了您期望的输入图像,例如plt.imshow(your_source_image)。如果您看到图像,请继续。如果不是,则您的源图像丢失或路径错误。

如果还是不行,我怀疑是你的gdal 安装有问题。在这种情况下,我会首先尝试一个非常简单的函数,并确保它给出了您期望的结果。您也可以尝试在 Collab 上运行其他东西并确保它有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多