Viewshed implementation