25 Sep 00:00
Re: Memory allocation problem
From: Paul Wessel <pwessel <at> hawaii.edu>
Subject: Re: Memory allocation problem
Newsgroups: gmane.comp.gis.gmt.user
Date: 2008-09-24 22:00:40 GMT
Subject: Re: Memory allocation problem
Newsgroups: gmane.comp.gis.gmt.user
Date: 2008-09-24 22:00:40 GMT
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)
RSS Feed