Hei Nikos, Frank,
I opened an enhancement ticket, and asked to activate the “Add created map(s) into layer tree” also for addons:
https://trac.osgeo.org/grass/ticket/3686. No idea what changes this would require…
Would that cover your needs, Frank, or do you have a more interactive use in a python script in mind?
You can start a wx monitor (d.mon wx0) and add a map there, but I have not found a way to address the currently active Map Display …
This would probably require additional function(s) in the Python libraries…?
Maybe this question is better asked at the developer list (thus I put grass-dev in CC).
Cheers
Stefan
···
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 08:26
To: Nikos Alexandris nik@nikosalexandris.net
Cc: Stefan Blumentrath Stefan.Blumentrath@nina.no; Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Le 23/10/2018 à 23:26, Nikos Alexandris a écrit :
Thank you everybody for your help. Do you know why a run_command(“d.rast”… in a python script is not enough to display a raster ? I don’t understand why this command is so different.
Display a raster map where?
Nikos
In the active map display (and respective Layer manager) as d.rast do it with gui…
Frank
Hi Frank,
My guess is that the GRASS standard parser options [1] (e.g. G_OPT_R_OUTPUT, G_OPT_R_OUTPUTS, G_OPT_V_OUTPUT, …) would be used in order to determine what has to be / could be added to the map display…
But I am no GUI dev, and cannot tell for sure, hope experts on that part of the code could chime in …
And yes, I agree that a convenient function in the Python library for adding a map in the currently active layer manager would be a nice new feature (if it does not exist and I just overlooked it)…
Maybe another ticket?..
Cheers
Stefan
1: https://grass.osgeo.org/grass74/manuals/parser_standard_options.html
···
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 09:35
To: Stefan Blumentrath Stefan.Blumentrath@nina.no; Nikos Alexandris nik@nikosalexandris.net
Cc: Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org; GRASS developers list (grass-dev@lists.osgeo.org) grass-dev@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Hi Stephan,
Thank you for the ticket. One thing seems to me important. Some (of my) scripts can generate numerous rasters and one or two cumulative raster. I don’t want to add base rasters but only the few cumulative. If the script GUI have a check box, how to make the choice between these I want to display and those I don’t want ?
For my point of view, the use of d.rast inside the script, as we do for all other grass command, should be possible, in order to display what we want to display.
Cheers,
Frank
Le 24/10/2018 à 09:23, Stefan Blumentrath a écrit :
Hei Nikos, Frank,
I opened an enhancement ticket, and asked to activate the “Add created map(s) into layer tree” also for addons:
https://trac.osgeo.org/grass/ticket/3686. No idea what changes this would require…
Would that cover your needs, Frank, or do you have a more interactive use in a python script in mind?
You can start a wx monitor (d.mon wx0) and add a map there, but I have not found a way to address the currently active Map Display …
This would probably require additional function(s) in the Python libraries…?
Maybe this question is better asked at the developer list (thus I put grass-dev in CC).
Cheers
Stefan
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 08:26
To: Nikos Alexandris nik@nikosalexandris.net
Cc: Stefan Blumentrath Stefan.Blumentrath@nina.no; Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Le 23/10/2018 à 23:26, Nikos Alexandris a écrit :
Thank you everybody for your help. Do you know why a run_command(“d.rast”… in a python script is not enough to display a raster ? I don’t understand why this command is so different.
Display a raster map where?
Nikos
In the active map display (and respective Layer manager) as d.rast do it with gui…
Frank
Hi Frank,
Using GRASS standard parser options is a good practice. Unfortunately, it does not yet generate the “add to tree layer” check box in the AddOn GUI (though I hope that can be added in core though).
You can use e.g. G_OPT_R_OUTPUT and still choose a non-standard key-name for the option in your script with a line like this:
#% key: my_option_key_name
Cheers,
Stefan
···
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 10:48
To: Stefan Blumentrath Stefan.Blumentrath@nina.no; Nikos Alexandris nik@nikosalexandris.net
Cc: Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org; GRASS developers list (grass-dev@lists.osgeo.org) grass-dev@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Stephan,
Your last message makes me search after G_OPT_OUTPUT. I had never realized that this option makes the “add to tree layer” check box appear on the script GUI.
All my scripts create rasters without G_OPT_OUTPUT option (because the name of output are handled by the script itself) and so, without check box. Using d.rast could keep interesting i think in order to select witch one should be display or not, but for the moment I can (may be) overtake that limitation by using the G_OPT_OUTPUT option (I will see).
Sorry for confusing. And thank you very much for your help. I let you see if the ticket you had post is appropriate.
Cheers,
Frank
Le 24/10/2018 à 10:13, Stefan Blumentrath a écrit :
Hi Frank,
My guess is that the GRASS standard parser options [1] (e.g. G_OPT_R_OUTPUT, G_OPT_R_OUTPUTS, G_OPT_V_OUTPUT, …) would be used in order to determine what has to be / could be added to the map display…
But I am no GUI dev, and cannot tell for sure, hope experts on that part of the code could chime in …
And yes, I agree that a convenient function in the Python library for adding a map in the currently active layer manager would be a nice new feature (if it does not exist and I just overlooked it)…
Maybe another ticket?..
Cheers
Stefan
1: https://grass.osgeo.org/grass74/manuals/parser_standard_options.html
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 09:35
To: Stefan Blumentrath Stefan.Blumentrath@nina.no; Nikos Alexandris nik@nikosalexandris.net
Cc: Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org; GRASS developers list (grass-dev@lists.osgeo.org) grass-dev@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Hi Stephan,
Thank you for the ticket. One thing seems to me important. Some (of my) scripts can generate numerous rasters and one or two cumulative raster. I don’t want to add base rasters but only the few cumulative. If the script GUI have a check box, how to make the choice between these I want to display and those I don’t want ?
For my point of view, the use of d.rast inside the script, as we do for all other grass command, should be possible, in order to display what we want to display.
Cheers,
Frank
Le 24/10/2018 à 09:23, Stefan Blumentrath a écrit :
Hei Nikos, Frank,
I opened an enhancement ticket, and asked to activate the “Add created map(s) into layer tree” also for addons:
https://trac.osgeo.org/grass/ticket/3686. No idea what changes this would require…
Would that cover your needs, Frank, or do you have a more interactive use in a python script in mind?
You can start a wx monitor (d.mon wx0) and add a map there, but I have not found a way to address the currently active Map Display …
This would probably require additional function(s) in the Python libraries…?
Maybe this question is better asked at the developer list (thus I put grass-dev in CC).
Cheers
Stefan
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 08:26
To: Nikos Alexandris nik@nikosalexandris.net
Cc: Stefan Blumentrath Stefan.Blumentrath@nina.no; Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Le 23/10/2018 à 23:26, Nikos Alexandris a écrit :
Thank you everybody for your help. Do you know why a run_command(“d.rast”… in a python script is not enough to display a raster ? I don’t understand why this command is so different.
Display a raster map where?
Nikos
In the active map display (and respective Layer manager) as d.rast do it with gui…
Frank
* Frank David <frank.david@geophom.fr> [2018-10-24 11:35:07 +0200]:
Stephan,
The G_OPT_OUTPUT option generate well the check box "add tree layer" in my script GUI.
My problem, now is how to add the raster output while I want to set his name by the script ? I succeed with g.copy my_raster_name to output_raster_name. The copy is well displayed but this creates a copy what is not very convenient...
g.rename
?
* Frank David <frank.david@geophom.fr> [2018-10-24 12:04:43 +0200]:
Le 24/10/2018 à 11:58, Nikos Alexandris a écrit :
* Frank David <frank.david@geophom.fr> [2018-10-24 11:35:07 +0200]:
Stephan,
The G_OPT_OUTPUT option generate well the check box "add tree layer" in my script GUI.
My problem, now is how to add the raster output while I want to set his name by the script ? I succeed with g.copy my_raster_name to output_raster_name. The copy is well displayed but this creates a copy what is not very convenient...
g.rename
?
Nikos,
g.rename works too. But it's not more convenient because I need to keep my raster in his original name.
Cheers,
Frank
Frank,
apologies, but I think I missed the point of what you need to do. Is the
"copy" not convenient because of "wasting" space? If yes, here another
suggestion then:
https://grasswiki.osgeo.org/wiki/LANDSAT#Hint:_Minimal_disk_space_copies
In Python, something like:
r.reclass(
input=input_raster,
output=output_raster,
rules='-',
stdin='*=*',
verbose=False,
quiet=True)
Nikos
--
Nikos Alexandris | Remote Sensing & Geomatics
GPG Key Fingerprint 6F9D4506F3CA28380974D31A9053534B693C4FB3
Hi Stephan,
Thank you for the ticket. One thing seems to me important. Some (of my) scripts can generate numerous rasters and one or two cumulative raster. I don’t want to add base rasters but only the few cumulative. If the script GUI have a check box, how to make the choice between these I want to display and those I don’t want ?
For my point of view, the use of d.rast inside the script, as we do for all other grass command, should be possible, in order to display what we want to display.
Cheers,
Frank
···
Le 24/10/2018 à 09:23, Stefan Blumentrath a écrit :
Hei Nikos, Frank,
I opened an enhancement ticket, and asked to activate the “Add created map(s) into layer tree” also for addons:
https://trac.osgeo.org/grass/ticket/3686. No idea what changes this would require…
Would that cover your needs, Frank, or do you have a more interactive use in a python script in mind?
You can start a wx monitor (d.mon wx0) and add a map there, but I have not found a way to address the currently active Map Display …
This would probably require additional function(s) in the Python libraries…?
Maybe this question is better asked at the developer list (thus I put grass-dev in CC).
Cheers
Stefan
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 08:26
To: Nikos Alexandris nik@nikosalexandris.net
Cc: Stefan Blumentrath Stefan.Blumentrath@nina.no; Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Le 23/10/2018 à 23:26, Nikos Alexandris a écrit :
Thank you everybody for your help. Do you know why a run_command(“d.rast”… in a python script is not enough to display a raster ? I don’t understand why this command is so different.
Display a raster map where?
Nikos
In the active map display (and respective Layer manager) as d.rast do it with gui…
Frank
Stephan,
Your last message makes me search after G_OPT_OUTPUT. I had never realized that this option makes the “add to tree layer” check box appear on the script GUI.
All my scripts create rasters without G_OPT_OUTPUT option (because the name of output are handled by the script itself) and so, without check box. Using d.rast could keep interesting i think in order to select witch one should be display or not, but for the moment I can (may be) overtake that limitation by using the G_OPT_OUTPUT option (I will see).
Sorry for confusing. And thank you very much for your help. I let you see if the ticket you had post is appropriate.
Cheers,
Frank
···
Le 24/10/2018 à 10:13, Stefan Blumentrath a écrit :
Hi Frank,
My guess is that the GRASS standard parser options [1] (e.g. G_OPT_R_OUTPUT, G_OPT_R_OUTPUTS, G_OPT_V_OUTPUT, …) would be used in order to determine what has to be / could be added to the map display…
But I am no GUI dev, and cannot tell for sure, hope experts on that part of the code could chime in …
And yes, I agree that a convenient function in the Python library for adding a map in the currently active layer manager would be a nice new feature (if it does not exist and I just overlooked it)…
Maybe another ticket?..
Cheers
Stefan
1: https://grass.osgeo.org/grass74/manuals/parser_standard_options.html
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 09:35
To: Stefan Blumentrath Stefan.Blumentrath@nina.no; Nikos Alexandris nik@nikosalexandris.net
Cc: Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org; GRASS developers list (grass-dev@lists.osgeo.org) grass-dev@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Hi Stephan,
Thank you for the ticket. One thing seems to me important. Some (of my) scripts can generate numerous rasters and one or two cumulative raster. I don’t want to add base rasters but only the few cumulative. If the script GUI have a check box, how to make the choice between these I want to display and those I don’t want ?
For my point of view, the use of d.rast inside the script, as we do for all other grass command, should be possible, in order to display what we want to display.
Cheers,
Frank
Le 24/10/2018 à 09:23, Stefan Blumentrath a écrit :
Hei Nikos, Frank,
I opened an enhancement ticket, and asked to activate the “Add created map(s) into layer tree” also for addons:
https://trac.osgeo.org/grass/ticket/3686. No idea what changes this would require…
Would that cover your needs, Frank, or do you have a more interactive use in a python script in mind?
You can start a wx monitor (d.mon wx0) and add a map there, but I have not found a way to address the currently active Map Display …
This would probably require additional function(s) in the Python libraries…?
Maybe this question is better asked at the developer list (thus I put grass-dev in CC).
Cheers
Stefan
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 08:26
To: Nikos Alexandris nik@nikosalexandris.net
Cc: Stefan Blumentrath Stefan.Blumentrath@nina.no; Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Le 23/10/2018 à 23:26, Nikos Alexandris a écrit :
Thank you everybody for your help. Do you know why a run_command(“d.rast”… in a python script is not enough to display a raster ? I don’t understand why this command is so different.
Display a raster map where?
Nikos
In the active map display (and respective Layer manager) as d.rast do it with gui…
Frank
Stephan,
The G_OPT_OUTPUT option generate well the check box “add tree layer” in my script GUI.
My problem, now is how to add the raster output while I want to set his name by the script ? I succeed with g.copy my_raster_name to output_raster_name. The copy is well displayed but this creates a copy what is not very convenient…
Cheers,
Frank
···
Le 24/10/2018 à 11:05, Stefan Blumentrath a écrit :
Hi Frank,
Using GRASS standard parser options is a good practice. Unfortunately, it does not yet generate the “add to tree layer” check box in the AddOn GUI (though I hope that can be added in core though).
You can use e.g. G_OPT_R_OUTPUT and still choose a non-standard key-name for the option in your script with a line like this:
#% key: my_option_key_name
Cheers,
Stefan
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 10:48
To: Stefan Blumentrath Stefan.Blumentrath@nina.no; Nikos Alexandris nik@nikosalexandris.net
Cc: Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org; GRASS developers list (grass-dev@lists.osgeo.org) grass-dev@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Stephan,
Your last message makes me search after G_OPT_OUTPUT. I had never realized that this option makes the “add to tree layer” check box appear on the script GUI.
All my scripts create rasters without G_OPT_OUTPUT option (because the name of output are handled by the script itself) and so, without check box. Using d.rast could keep interesting i think in order to select witch one should be display or not, but for the moment I can (may be) overtake that limitation by using the G_OPT_OUTPUT option (I will see).
Sorry for confusing. And thank you very much for your help. I let you see if the ticket you had post is appropriate.
Cheers,
Frank
Le 24/10/2018 à 10:13, Stefan Blumentrath a écrit :
Hi Frank,
My guess is that the GRASS standard parser options [1] (e.g. G_OPT_R_OUTPUT, G_OPT_R_OUTPUTS, G_OPT_V_OUTPUT, …) would be used in order to determine what has to be / could be added to the map display…
But I am no GUI dev, and cannot tell for sure, hope experts on that part of the code could chime in …
And yes, I agree that a convenient function in the Python library for adding a map in the currently active layer manager would be a nice new feature (if it does not exist and I just overlooked it)…
Maybe another ticket?..
Cheers
Stefan
1: https://grass.osgeo.org/grass74/manuals/parser_standard_options.html
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 09:35
To: Stefan Blumentrath Stefan.Blumentrath@nina.no; Nikos Alexandris nik@nikosalexandris.net
Cc: Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org; GRASS developers list (grass-dev@lists.osgeo.org) grass-dev@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Hi Stephan,
Thank you for the ticket. One thing seems to me important. Some (of my) scripts can generate numerous rasters and one or two cumulative raster. I don’t want to add base rasters but only the few cumulative. If the script GUI have a check box, how to make the choice between these I want to display and those I don’t want ?
For my point of view, the use of d.rast inside the script, as we do for all other grass command, should be possible, in order to display what we want to display.
Cheers,
Frank
Le 24/10/2018 à 09:23, Stefan Blumentrath a écrit :
Hei Nikos, Frank,
I opened an enhancement ticket, and asked to activate the “Add created map(s) into layer tree” also for addons:
https://trac.osgeo.org/grass/ticket/3686. No idea what changes this would require…
Would that cover your needs, Frank, or do you have a more interactive use in a python script in mind?
You can start a wx monitor (d.mon wx0) and add a map there, but I have not found a way to address the currently active Map Display …
This would probably require additional function(s) in the Python libraries…?
Maybe this question is better asked at the developer list (thus I put grass-dev in CC).
Cheers
Stefan
From: Frank David frank.david@geophom.fr
Sent: onsdag 24. oktober 2018 08:26
To: Nikos Alexandris nik@nikosalexandris.net
Cc: Stefan Blumentrath Stefan.Blumentrath@nina.no; Laurent C. lrntct@gmail.com; GRASS user list grass-user@lists.osgeo.org
Subject: Re: [GRASS-user] d.rast in python script
Le 23/10/2018 à 23:26, Nikos Alexandris a écrit :
Thank you everybody for your help. Do you know why a run_command(“d.rast”… in a python script is not enough to display a raster ? I don’t understand why this command is so different.
Display a raster map where?
Nikos
In the active map display (and respective Layer manager) as d.rast do it with gui…
Frank
Le 24/10/2018 à 11:58, Nikos Alexandris a écrit :
* Frank David <frank.david@geophom.fr> [2018-10-24 11:35:07 +0200]:
Stephan,
The G_OPT_OUTPUT option generate well the check box "add tree layer" in my script GUI.
My problem, now is how to add the raster output while I want to set his name by the script ? I succeed with g.copy my_raster_name to output_raster_name. The copy is well displayed but this creates a copy what is not very convenient...
g.rename
?
Nikos,
g.rename works too. But it's not more convenient because I need to keep my raster in his original name.
Cheers,
Frank
Le 24/10/2018 à 15:14, Nikos Alexandris a écrit :
* Frank David <frank.david@geophom.fr> [2018-10-24 12:04:43 +0200]:
Le 24/10/2018 à 11:58, Nikos Alexandris a écrit :
* Frank David <frank.david@geophom.fr> [2018-10-24 11:35:07 +0200]:
Stephan,
The G_OPT_OUTPUT option generate well the check box "add tree layer" in my script GUI.
My problem, now is how to add the raster output while I want to set his name by the script ? I succeed with g.copy my_raster_name to output_raster_name. The copy is well displayed but this creates a copy what is not very convenient...
g.rename
?
Nikos,
g.rename works too. But it's not more convenient because I need to keep my raster in his original name.
Cheers,
Frank
Frank,
apologies, but I think I missed the point of what you need to do. Is the
"copy" not convenient because of "wasting" space? If yes, here another
suggestion then:
https://grasswiki.osgeo.org/wiki/LANDSAT#Hint:_Minimal_disk_space_copies
In Python, something like:
r.reclass(
input=input_raster,
output=output_raster,
rules='-',
stdin='*=*',
verbose=False,
quiet=True)
Nikos
Thanks Nikos, but it's not the point. I just need to add to the display tree rasters I calculate with python script without G_OPT_OUTPUT because I want to name it by script (the name comes from different attributes of vector maps). But, it looks that only G_OPT_OUTPUT adds the check box "add tree layer" on the script GUI.
Frank