The steps you've listed below are correct for maximizing performance when viewing the raster at (or around) the native resolution of the data. However, as you've found out, the performance can still be poor when trying to view the entire dataset.

The basic rule is that your application (mapserver?) should not have to open more than 4 to 8 raster files to render the view. With that in mind (and since disk space is not a problem), create "layers" of the raster dataset at different scales, say a factor of 2, until you have only one image.

For example, if the resolution of your original data is 1 meter per pixel, your layers would look like the following. Note the first eight layers are handled by the internal overviews you created with gdaladdo.

Pixel   Map Scale:
Size:   1:n
-----   ------
1 m     4,000
2       8,000
4       16,000
8       32k
16      64
32      128
64      250
128     500

Additional External Layers
256     1m
512     2m
1024    4m
2048    8m
4096    16m

To create the additional external layers, use GDAL's gdalbuiltvrt to create a VRT file of the original dataset. You can then use gdal_retile.py or Maptiler to build the layers.

Best Regards,
Brent Fraser

Edi KARADUMI wrote:
I have read many strategies for raster performance, but i still have problems with my case. The posts that i have read explain the strategie, but are not very detailed. Im new to mapserver so i have problems implementing them. My case is: -about 6000 tiles that form the map -170mb each tile -aproximately 1.2T of iamges -i have 10T HD and i think disk space is not a problem for me -tile format is TIF -tile size 9375x6250 pixels The strategy i have implemented and the problems i have -First i divided the tiles in 60 folders, to increase the performance in disk seek/read. -Than i transformed source files into internally tiles with the command gdal_translate -of GTiff -co "TILED=YES" original.tif tiled.tif -i used gdaladdo to add internal pyramids gdaladdo -r average 2 4 8 16 32 64 128 -Created a tileindex using gdaltindex -write_absolute_path MapAll.shp //server/Maps/Subfolder1/*.tif -Created a spatial index .qix file shptree MapAll.shp -than added the layer to the mapfile without the .shp extension so the application can use the .qix as you may know, i have very slow performance when i zoom out and im stucked here. As i have read i should make a copy of the tiles with reduced resolution. Merge the tiles together and use min/max scale to show different layers in different scales. the min/max scales i zoom in/out are 100/1200000. Now my questions are - How can i calculate the scale where i should create another layer of the tiles, or i shoud see it with some tests? - how much should be the resolution of the new layer? - is there any tools or program to merge the tiles? merging 6000 tiles with the gdalwarp by writing the command by myself is frustrating - how many tiles should i merge together to create the new layer? (how many tiles should have the new layer) i know that in each zoomscale its better to appear only one tile but i dont know how to calculate it - the tiles that i should merge are the originals or those with internal tiling and overviews?

------------------------------------------------------------------------

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to