2

我有一堆大的 GeoTiff 文件(1.4GB,4 纬度 x 8 经度)。

我需要将每个切片切成 1 度纬度 x 1 度长的瓷砖(每个瓷砖只有一点点超龄)。

这是 GeoTiff 文件之一的 gdalinfo 输出:

Driver: GTiff/GeoTIFF
Files: index.tif
Size is 38401, 19201
Coordinate System is:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433],
    AUTHORITY["EPSG","4326"]]
Origin = (-112.000104166666674,56.000104166666667)
Pixel Size = (0.000208333333333,-0.000208333333333)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (-112.0001042,  56.0001042) (112d 0' 0.38"W, 56d 0' 0.37"N)
Lower Left  (-112.0001042,  51.9998958) (112d 0' 0.38"W, 51d59'59.62"N)
Upper Right (-103.9998958,  56.0001042) (103d59'59.62"W, 56d 0' 0.37"N)
Lower Right (-103.9998958,  51.9998958) (103d59'59.62"W, 51d59'59.62"N)
Center      (-108.0000000,  54.0000000) (108d 0' 0.00"W, 54d 0' 0.00"N)
Band 1 Block=38401x1 Type=Int16, ColorInterp=Gray
  NoData Value=-32767

我希望一切都一样,除了大小。所以每一个都需要被切成 32 块瓷砖,每块 1 度 x 1 度。

例如
,一个将涵盖:-112.0001042、56.0001042 到 -110.9998958、54.9998958(基本上是 -112、56 到 -111、55)。

我看到了像 gdal_retile.py 和 gdal_grid 这样的实用程序,但我没有取得进展。什么是正确的工具/命令行选项?

4

1 回答 1

3

您可以在 Python 循环中使用 gdal_translate,如下所示:

import os

for ulx in range(-112,-103):
    for uly in range(51,56):
        os.system('gdal_translate -projwin '+str(ulx)+' '+str(uly)+' '+str(ulx+1)+' '+str(uly+1)+' index.tif index_tile_ulx_'+str(ulx)+'_uly_'+str(uly)+'.tif')
于 2013-11-26T14:18:07.743 回答