Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have an Aerial image - Almost 1.5 GB , GEOTIFF - and i have been trying to add it as a layer in Geoserver ..

Adding the layer went successful , but the performance were very bad .

I tried to cache the layer using the Geowebcache , and still the performance is bad .

Any tips ?

share|improve this question
add comment

1 Answer

up vote 11 down vote accepted

You need to tile the image and add overviews so that the whole image is never read into memory at the same time. GeoServer provides an image pyramid datastore for this purpose.

I wrote these notes describing how I set this up on my machine. The key step is to use GDAL to build the pyramid using the following command:

mkdir bmpyramid
gdal_retile.py -v -r bilinear -levels 8 -ps 2048 2048 -co \
"TILED=YES" -targetDir bmpyramid \
bluemarble.tif

Utility notes for gdal_retile.py.

share|improve this answer
    
How can i get the gdal_retile.py (i'm running the geoserver under Windows XP) ? –  Mathboy Mar 26 '12 at 8:23
    
trac.osgeo.org/osgeo4w and follow the quick install instructions –  iant Mar 26 '12 at 8:38
    
Now i have a problem , i've created the tiles using gdal_retile.py tool , but i'm getting the following error from Geoserver while linking the layer with the tiles folder : Could not list layers for this store, an error occurred retrieving them: This plugin accepts only File, URL and String pointing to a file any suggestion? –  Mathboy Mar 26 '12 at 9:05
    
@iant, is the slash in this piece -co \ "TILED=YES" just allowing the instruction to span a linebreak in the command window? –  elrobis Mar 26 '12 at 14:25
2  
Also, when using gdal_retile on Windows to process a high res, large-area raster, I recommend adding -useDirForEachRow. By default, retile puts all the tiles it creates in the same folder, and for large rasters, this creates a tremendous slowdown once it has about 350,000 tiles in the root folder. By contrast, -useDirForEachRow places the tiles for each row in their own folder below the tile root. This means a huge speed up on Windows. Before -useDirForEachRow a full-county image mosaic (6-inch) needed 2 months to run! After -useDir, the full process would complete overnight. –  elrobis Mar 26 '12 at 14:56
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.