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 a project with a large number of raster files, but it is becoming very slow. I wonder which is the best way to handle all this. I'm simply georeferencing these files creating .wld file (geoTiff is better?) and than I open them as raster. Am I too naive?

share|improve this question

1 Answer 1

up vote 10 down vote accepted

There are many options here.

1) You can deal with multiple files like they are one file by creating a virtual raster. This can be done by selecting the Raster > Miscellaneous > Build Virtual Raster (Catalog) menu option. This creates a mosaic of the images (like a seamless layer in MapInfo or a mosaic raster layer in ArcGIS). This can be slow to load without creating pyramids (see below).

2) I would imagine the best increase in performance will come from pyramids. For each raster you could build overviews (pyramids). This can be done within QGIS by either a) opening Layer Properties and selecting the Pyramids tab. You can choose the pyramid levels you would like to use, whether you want the pyramids built into the file or not (maybe best to experiment with this setting unchecked to start with as it will alter your data with it checked) and the resampling method (which depends on the data).

enter image description here

b) You can also create pyramids on multiple datasets in one go by using the Raster > Miscellaneous > Build Overviews menu option. This allows for a batch mode. It has more advanced options, and its best to read this webpage to understand them gdaladdo.

enter image description here

I am not sure what the best method is for you, but trial and error is the best way to find out. I would test:

1) build pyramids for each raster file, create a virtual raster and then load this. This will help if you need to load specific files individually.

vs

2) building a virtual raster and building pyramids on the virtual raster. It may depend how often you are going to be adding more raster files, as this way you have to create the pyramids again whenever you add a new raster the the virtual raster, but I would imagine this will give faster performance than above if you need to load them all at once. This will help if you need to load all the raster at once.

You can of course use both of the above methods at the same time (depending the compression of the overviews, this can create a large amount of data so watch storage space).

Other answers on this site that might be of interest:

qgis-and-raster-mapping-in-seamless-layer

qgis-1-8-0-3-68-ram-2-4ghz-slowwwww-performance

share|improve this answer
2  
While overviews make the biggest difference in terms of viewing, panning zooming etc., using the virtual raster (as is suggested in the answer) should speed up loading the project in QGIS quite a lot if there are lots of raster layers. –  Torsti Feb 20 '13 at 8:06
    
Using a virtual raster also saves you having to set the projection of each raster by hand each time you load them all –  iant Feb 20 '13 at 9:04

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.