[GRASS-user] d.rast in python script

Frank David frank.david at geophom.fr
Mon Oct 22 02:24:29 PDT 2018


Hi Stefan,

Sorry If I'm not clear... Yes I want add my new map in the active map 
display. Unfortunately "add created map(s) into layer tree” tick-box  
does not appear in my GUI script (I don't know why) and I would like to 
make it visible or to add another one in options tab. Just do 
run_command("d.rast", map=my_map) does not work..

Cheers,

Frank


Le 22/10/2018 à 10:20, Stefan Blumentrath a écrit :
>
> Hi Frank,
>
> I think Laurents solution is for rendering maps to file/image.
>
> Do I understand you correctly, that you are looking for a solution for 
> adding maps to the currently active map display (and respective Layer 
> manager)?
>
> I have not found a documentation and would be interested too. I assume 
> one has to use wxgui code, like e.g. here:
>
> https://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/core/render.py
>
> ?
>
> Yet, having the “Add created map(s) into layer tree” tick-box that 
> core modules have available also for addons (without GUI programming 
> for addon devs) would be nice (if possible)…
>
> Kind regards,
>
> Stefan
>
> *From:*grass-user <grass-user-bounces at lists.osgeo.org> *On Behalf Of 
> *Frank David
> *Sent:* søndag 21. oktober 2018 21:35
> *To:* Laurent C. <lrntct at gmail.com>
> *Cc:* GRASS user list <grass-user at lists.osgeo.org>
> *Subject:* Re: [GRASS-user] d.rast in python script
>
> Hello Laurent,
>
> Thank you for your help. I'm very surprised by the complexity of the 
> way to display a raster. I thought that only d.rast was needed. Other 
> grass command are so simple to use...
>
> Anayway, I don't understand why you need to set a image width and 
> height. is it pixel number between west to east and south to north 
> from region ?
>
> and from where "img_file_name" is coming ? (my layer's name is "my_map")
>
> To remove raster from display, I just manually remove from the layer tree.
>
> Cheers,
>
> Frank
>
> Le 20/10/2018 à 23:06, Laurent C. a écrit :
>
>     Hello Frank,
>
>     It is not very straightforward, but it is possible.
>     Here is an example on how I do it:
>
>     import os
>     import grass.script as gscript
>     from grass.pygrass.gis.region import Region
>
>     # Set general env
>
>     os.environ['GRASS_RENDER_IMMEDIATE'] = "cairo"
>     os.environ['GRASS_RENDER_FILE_COMPRESSION'] = "9"
>     os.environ['GRASS_RENDER_FILE_READ'] = "TRUE"
>
>     # Set image size using the region
>     region = Region()
>     xr = region.cols
>     yr = region.rows
>     ratio = xr/yr
>     height = int(WIDTH / ratio)  # Choose the width you like
>     os.environ['GRASS_RENDER_WIDTH'] = str(WIDTH)
>     os.environ['GRASS_RENDER_HEIGHT'] = str(height)
>
>     # Then you can draw
>     os.environ['GRASS_RENDER_FILE'] = img_file_name
>     gscript.run_command('d.rast', map=my_map, quiet=True)
>
>     Be aware that every time you run your script, it will add layer on
>     the file.
>
>     So you might want to delete the png file between the runs.
>
>     Cheers,
>
>     Laurent
>
>     Le ven. 19 oct. 2018 à 13:00, Frank David <frank.david at geophom.fr
>     <mailto:frank.david at geophom.fr>> a écrit :
>     >
>     > Hello,
>     >
>     > I wrote some python script and I do not find how to display created
>     > rasters.
>     >
>     > I tried to use d.rast but I believe this command is not designed
>     to be
>     > used in python script (no monitor available with d.mon -l). Am I
>     wright
>     > ? so how to do ?...
>     >
>     > Thank you for your help.
>     >
>     > Frank
>     >
>     > _______________________________________________
>     > grass-user mailing list
>     > grass-user at lists.osgeo.org <mailto:grass-user at lists.osgeo.org>
>     > https://lists.osgeo.org/mailman/listinfo/grass-user
>
> -- 
>
> *Geophom*
> 327 rue de Vieille Cour 44521 OUDON
> Tel +33(0)2 85 52 02 59 - Port +33(0)6 04 47 91 06
> www.geophom.fr <http://www.geophom.fr>
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20181022/d9736b70/attachment-0001.html>


More information about the grass-user mailing list