I've found a tutorial showing exactly what I want to do (merge viewshed and hill shade or map) but unfortunately it is for QGIS users and I need it in pure command line instructions because I'm in a headless environment.

Must be only GDAL/GRASS command line and use SRTM HGT as DEM source and hill shade source.

I don't know QGIS enough to think it is very compact and directed to expert users or if it is just full of blah blah blah because it have a lot of images and almost none real instructions.

Can someone translate this tutorial to pure command line GDAL/GRASS so I can achieve the same result like the pictures below?

enter image description here

enter image description here

closed as too broad by PolyGeo Jun 12 at 19:47

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Please remove from the hold. This question is relevant and is earning votes. – Magno C Jun 13 at 10:27
  • That question is rather obvious... pls unhold it. – markusN Jun 13 at 19:47

How about something like this:

radius=5000 # Maximum distance
X=200000    # X coordinate of lookout 
Y=500000    # Y coordinate of lookout

r.import dem.tif output=elev
g.region -a rast=elev
r.viewshed input=elev output=vshed max_distance=$radius coordinates=${X},${Y}
r.to.vect input=vshed output=vshed type=area

This should leave you with a raster named "vshed" and a polygon vector also named "vshed" representing the viewshed from location $X,$Y with maximum radius $radius.

You can add additional parameters such as observer_elevation and target_elevation. See the GRASS manual page.

Yes you can run r.viewshedin a long/lat coordinate system. (You need to create your GRASS location as such from the start). But be aware than ranges will be in decimal degrees.

Regarding SRTM, please do read the GRASS wiki pageon using STRM in GRASS. I think you'll find it helpful.

About the units, in the r.viewshed man page you might have missed the explanation:

By default there is no restriction on the maximum distance to which the observer can see. The user can set a maximum distance of visibility using option max_distance. The value entered is in the same units as the cell size of the raster.

And one last important point. As always, be sure to set the GRASS computational region at the start. I added this to the code above.

  • Thanks Micha. Can I use Lat/Lon instead X,Y? What is the radius unit (Kilometers,Miles, Meters)? Can I use a HGT SRTM file instead a TIF or I must extract the TIF from the HGT? The vector output is just what I need. – Magno C Jun 13 at 1:59
  • 1
    See edits in the answer above – Micha Jun 13 at 12:47
  • Ok Micha many thanks. I think this is enough to start. Thanks for the gently you might have missed the explanation. Others could tell me to RFM. – Magno C Jun 13 at 13:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.