[mapserver-users] How to tile a large TIF image?

William Kyngesburye woklist at kyngchaos.com
Fri Apr 18 06:37:16 PDT 2008


Ah, yes, make sure you have the latest GDAL framework build.  There is  
an optimization bug in Xcode 3.x that causes problems with GeoTIFF  
format if I forget to apply a workaround.  You can check for this bug  
by looking at the crashlog for gdal_translate, you should see  
something in the thread about geokeys.


On Apr 18, 2008, at 8:07 AM, Paul Spencer wrote:

> Sounds like a problem with your gdal install - I'm running a mac  
> also and have no problems.  I recommend going back to the kyngchaos  
> site and downloading the latest GDAL and installing it.
>
> Cheers
>
> Paul
>
> On 18-Apr-08, at 9:02 AM, Stefan Schwarzer wrote:
>> Thanks a lot for these details. That should be added to the  
>> existing documents!
>>
>> But unfortunately I still get a "Segmentation fault" message...
>>
>> Stef
>>
>>> Stefan,
>>>
>>> I don't think you can specify 10'', you need something in pixels.   
>>> But the command is also probably not what you really need to do.
>>>
>>> More likely, you should be doing the following:
>>>
>>> gdal_translate -co "TILED=YES" gebco/bathymetry.tif gebco/ 
>>> bathmetry_tiled.tif
>>>
>>> This will create a single tif file that has an internal block size  
>>> of 256x256 - you can think of this as having broken your tif up  
>>> into 256x256 tiles but keeps them all within the same file.  This  
>>> is equivalent to breaking the tif up into individual files,  
>>> creating a shapefile that has rectangles for each individual  
>>> files' extent, and using that as a tile index in mapserver.
>>>
>>> Next, you want to do this:
>>>
>>> gdaladdo gebco/bathymetry.tif 2 4 6 8 16
>>>
>>> this will pre-compute smaller versions of the tif image called  
>>> overviews at 1/2, 1/4 1/6 1/8 and 1/16 of the original size of the  
>>> tif - this makes it much more efficient for gdal to return exactly  
>>> what mapserver is asking for at any given scale.  Depending on the  
>>> range of scales that you need to display your raster image at, you  
>>> can add more overview levels (or take some away).
>>>
>>> With this two commands, you can make your rasters much more  
>>> efficient for mapserver and probably avoid the need to split them  
>>> up into many files.
>>>
>>> It does make the file somewhat larger.  If you are working with  
>>> very large files ( > 4GB ) then you may run into some problems  
>>> with tiff and may need to investigate another format or a  
>>> compressed format like ECW or MrSID (both requiring commercial  
>>> licenses I believe).
>>>
>>> There are also some built in compression schemes for tiffs in gdal  
>>> which you can apply when running gdal_translate (see http://www.gdal.org/frmt_gtiff.html 
>>>  for creation options), for instance:
>>>
>>> gdal_translate -co "TILED=YES" -co "COMPRESS=JPEG" -co  
>>> "JPEG_QUALITY=80" gebco/bathymetry.tif gebco/bathmetry_tiled.tif
>>>
>>> would compress the tif using JPEG compression (lossy) set to 80%  
>>> (low compression, small loss).
>>>
>>> Cheers
>>>
>>> Paul
>>>
>>>
>>>
>>> On 18-Apr-08, at 5:47 AM, Stefan Schwarzer wrote:
>>>> Thanks for the info.
>>>>
>>>> Did it like this:
>>>>
>>>> Library/Frameworks/GDAL.framework/Versions/1.5/Programs/ 
>>>> gdal_translate -outsize 10'' 10'' -co TILED=YES gebco/ 
>>>> bathymetry.tif gebco/bathymetry_tiled.tif
>>>>
>>>> But get the message: "Segmentation fault"
>>>>
>>>> Anything that I did wrong? Or should do differently?
>>>>
>>>> Thanks for a hint,
>>>>
>>>> Stef
>>>>
>>>>> Hi,
>>>>>
>>>>> Gdal_translate program has options for you:
>>>>>
>>>>> c:\FWTools>gdal_translate
>>>>> Usage: gdal_translate [--help-general]
>>>>>     [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
>>>>>           CInt16/CInt32/CFloat32/CFloat64}] [-strict]
>>>>>     [-of format] [-b band] [-outsize xsize[%] ysize[%]]
>>>>>     [-scale [src_min src_max [dst_min dst_max]]]
>>>>>     [-srcwin xoff yoff xsize ysize] [-projwin ulx uly lrx lry]
>>>>>     [-a_srs srs_def] [-a_ullr ulx uly lrx lry] [-a_nodata value]
>>>>>     [-gcp pixel line easting northing [elevation]]*
>>>>>     [-mo "META-TAG=VALUE"]* [-quiet] [-sds]
>>>>>     [-co "NAME=VALUE"]*
>>>>>     src_dataset dst_dataset
>>>>>
>>>>> By playing with -srcwin or possibly with -outsize and -projwin  
>>>>> you should be able to split your image as you wish.  Read more  
>>>>> from
>>>>> http://gdal.org/gdal_translate.html
>>>>>
>>>>> -Jukka Rahkonen-
>>>>>
>>>>>
>>>>>
>>>>> Lähettäjä: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org 
>>>>> ] Puolesta Stefan Schwarzer
>>>>> Lähetetty: 18. huhtikuuta 2008 12:05
>>>>> Vastaanottaja: mapserver-users at lists.osgeo.org
>>>>> Aihe: [mapserver-users] How to tile a large TIF image?
>>>>>
>>>>> Hi there,
>>>>>
>>>>> I would like to use instead of single large tif image smaller  
>>>>> tiles. Although I am well aware of mapserver's and gdal's  
>>>>> possibilities to create the shapes for it, I first need to  
>>>>> "split" the large tif into 20 or 50 or 100 tiles.
>>>>>
>>>>> Can anyone give me a hint with what kind of software this is  
>>>>> possible?
>>>>>
>>>>> There is an ArcGIS script, but it doesn't work on my machine ( http://arcscripts.esri.com/details.asp?dbid=13978 
>>>>>  ).
>>>>>
>>>>> Thanks for any hints,
>>>>>
>>>>> Stef
>>>>>
>>>>> ____________________________________________________________________
>>>>>
>>>>> Stefan Schwarzer
>>>>>
>>>>> Lean Back and Relax - Enjoy some Nature Photography
>>>>> http://photoblog.la-famille-schwarzer.de
>>>>>
>>>>> Appetite for Global Data? UNEP GEO Data Portal:
>>>>> http://geodata.grid.unep.ch
>>>>> ____________________________________________________________________
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> mapserver-users mailing list
>>>> mapserver-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>>>
>>> __________________________________________
>>>
>>> Paul Spencer
>>> Chief Technology Officer
>>> DM Solutions Group Inc
>>> http://www.dmsolutions.ca/
>>
>
>
> __________________________________________
>
>   Paul Spencer
>   Chief Technology Officer
>   DM Solutions Group Inc
>   http://www.dmsolutions.ca/
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

All generalizations are dangerous, even this one.





More information about the MapServer-users mailing list