[Gdal-dev] create 256x256 tiles for google maps

Paul Van Deusen Paul_VanDeusen at uml.edu
Sat Apr 7 09:32:49 EDT 2007


Paul Van Deusen wrote:
>>
>> If anyone happens to haave an updated version of "gdalsplit"
>> > I would be interested.
>> > Maybe some mechanism to manage user contributions would be
>> > good (like the GRASS Addons repository).
>> > > Markus
>> > > ------------------
>> > ITC -> dall'1 marzo 2007 Fondazione Bruno Kessler
>> > ITC -> since 1 March 2007 Fondazione Bruno Kessler
>> > ------------------
>> > _______________________________________________
>> > Gdal-dev mailing list
>> > Gdal-dev at lists.maptools.org
>> > http://lists.maptools.org/mailman/listinfo/gdal-dev
>> >   
>
>> Perhaps I am overlooking something, or didn't understand the question 
>> right, but I regularly create tiles from a large tif-file with the 
>> -srcwin <xoff yoff xsize ysize> parameter of gdal_translate. A simple 
>> bash-script to tile in.tif (30000*30000 pixels) into 256*256 tiles 
>> would be:
>>
>> width=30000
>> height=30000
>> y=0
>> while [ $y -lt $height ]
>> do
>>   x=0
>>   while [ $x -lt $width ]
>>   do
>>      outtif=t_${y}_$x.tif
>>      gdal_translate -srcwin $x $y 256 256 in.tif $outtif
>>      let x=$x+256
>>   done
>>   let y=$y+256
>> done
>>
>> This would result in about 14000 files. This is so simple that it can 
>> even be done with a primitive DOS batch file.
>>
>> Most of the time I work with projected coordinates (-projwin instead 
>> of -srcwin) but the idea is the same. Note by the way that -projwin 
>> uses the *upper* left corner as reference.
>>
>> Jan
>
> Jan,
>
> I always like simple solutions.  I put your code into a bash script 
> and tried it
> on a 10240x5120 section of a tif file.  I applied imagemagick to the 
> full file using
> convert nlcd.tif -crop 256x256 tiles%d.tif
>
> Imagemagick was done in a couple of seconds, but the shell script took 
> several minutes.  Imagemagick wins (I think) because it does 
> everything in memory, whereas
> the shell script keeps reloading the full image on each iteration.  
> However,
> imagemagick starts to fall apart on very large files.   gdalsplit 
> might work better.
>
> Still your solution was worth looking at.
>
> Paul
>
>
I spoke too soon.  I tried this script on some large files. It keeps 
chugging along and
finishes the job ahead of imagemagick on very large files.  So it is a 
solution.




More information about the Gdal-dev mailing list