我有一堆大的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这样的实用程序,但我没有取得进展。什么是正确的工具/命令行选项?
答案 0 :(得分:1)
您可以在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')