I've just installed QGIS 2.14.3-1 on macOS in an effort to determine if two points in my neighborhood have line-of-sight. I've got a 7.5 arcsecond DEM loaded, and a point layer with my two points (no elevation ascribed yet).

All I want to do is determine if the terrain obstructs line-of-sight from one point to another. What's the easiest way to do this? I don't need a complete viewshed analysis.

  • What version of GRASS do you have installed? Jun 27, 2016 at 5:10

1 Answer 1


There used to be a tool in GRASS called Line of sight which did exactly what you were after but its been deprecated because it was pretty slow on big datasets as mentioned here.

Anyway you can use the GRASS program r.viewshed from the processing toolbox. Basically you provide a DEM and an observer point in coordinates and you will get a grid (i think defaults to Green (visible) and red (not visible)) which shows what can and can't be seen from your observer point.

Alternatively if you are after a profile line between your 2 observer points you could use the Profile tool plugin. This is quick and easy and gives a result like I have below. Get the Profile tool from the Plugins menu, search for Profileenter image description here

If you want to get the start and end points of your profile to be spot on the points in your point layer, you will need to create a line which snaps to the start and end points. Also its important to digitise the line from the start point and finish on the end point, otherwise your profile will look backwards. So to get the profile from a line follow these steps:

  1. Create a new line layer snapping to your start and end points.
  2. Open the profile tool.
  3. In the profile tool there is a drop down box called "Selection" by default it has a value of "Temporary polyline" change that to "Selected Polyline".
  4. Your cursor when in the map will change to a pointer finger, click on your polyline with the cursor and your profile will draw.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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