I have a DEM which I want to find a point with largest amount of visibility ,I know that viewshed leads to visibility from a point but how can I find a point with highest visibility ?

One way is to loop every pixel in my DEM and then calculate visibility for each pixel. but this is not a very clever method.

Is there any tools or Algorithms which I can use to achieve this goal?

I can use c++ to run the algorithm.

  • You can limit search to local maximumss
    – FelixIP
    Sep 12, 2017 at 19:35
  • @FelixIP But not all maximums are the points with highest amount of visibility Sep 12, 2017 at 19:55
  • Correct, but it will greatly reduce list of candidates.
    – FelixIP
    Sep 12, 2017 at 20:07
  • @FelixIP humm, I had this in my mind but How can I find local windows size to search? Sep 12, 2017 at 20:19
  • I'd start with very large and compare with something much smaller. I don't think you'll find much difference. Yes, a lot of iterations..
    – FelixIP
    Sep 12, 2017 at 20:36

1 Answer 1


The whitebox GAT software has a tool that does what you need to do (I think), its called Visibility Index. From the manual:

This tool can be used to calculate the visibility of all locations within an input digital elevation model (DEM)

Whitebox is an opensource tool so there is an option for viewing the underlying code. You should be able to work out from there how it works.

You can download Whitebox for free here: http://www.uoguelph.ca/~hydrogeo/Whitebox/

  • thanks very much for your help, I'll take a look at it and hope I can find some informations about the algorithm behind it Sep 12, 2017 at 19:50
  • The developer of whitebox (Dr John Lindsay) is on here as WhiteBoxDev. He might be able to assist gis.stackexchange.com/users/35151/whiteboxdev Sep 13, 2017 at 8:30
  • Thanks very much, It is exactly what I need but it simply loops over every pixel I want to find an optimized method, I'll ask Dr. Lindsay to find out more about it Sep 13, 2017 at 9:18
  • Something that might spark some thoughts (this may not work and I haven't tested). Would a looping of that tool using a lower resolution than your DEM grid find areas of generally higher resolution that you could then feed into a more detailed analysis using those areas as locations? It would avoid looping repeatedly over redundant areas of a high resolution DEM. Sep 13, 2017 at 9:21
  • So you mean we can some how divide area into bigger pixels and then select those area and test on real image? Sep 13, 2017 at 10:01

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.