Paul Wessel | 25 Sep 00:00
Favicon

Re: Memory allocation problem

Hi Felix-

What you want to do will tax your computer resources and be  
nontrivial.  In the past I have made many large wall-sized maps (not  
with SRTM3 yet though) and the general approach I use is this:

0. If the final grid size you desire is beyond your memory you will  
need to split the production of the map into a few smaller tiles so  
that the steps below can actually run.  That means working out what  
the Cartesian -Rmin/max values for those tiles will be.  I set things  
up so that I created one grid node to match each pixel at 300 dpi on  
the wall map. Obviously I can not do that all at once in memory.
1. Run grd2xyz `ls SRTMtiles_inBox.lis` -bod | mapproject -R.. -J... - 
bi3d -bod | xyz2grd -Rxmin/xmax/ymin/ymax -Ixinc ... etc - 
GCartesian_block_1.nc -bi3d
This will return average values at your pixels based on the many SRTM  
values that fall within each pixel.  In my case I did not have such  
oversampling and often ended up with pixels without data - requiring a  
more complicated setup to fill in the blanks...  You should be OK  
though.
2. use psclip -N etc to lay down a clip path so that your rectangular  
blocks may be properly clipped at non-rexctangular map boundaries
3. Plot each those cartesian block grids using a linear projection  
with -R for the entire map.
4. Turn of clipping.
5. Overlap a psbasemap frame with your original projection specs.

Lots of things to deal with: If you use grdgradient to produce shading  
then you want to use the -N option to specify the same mean/sigma/ 
offset for all the blocks; otherwise shading might vary a bit from  
(Continue reading)


Gmane