Add visibility analysis tutorial (r.viewshed)#135
Conversation
New intermediate tutorial covering viewshed/visibility analysis: - a single-observer viewshed and measuring the visible area - the effect of observer height (ground vs 40 m tower) and max_distance - cumulative visibility from multiple sites with r.series Uses the North Carolina sample dataset and the grass.tools API (GRASS 8.5). Categories: raster, terrain, visualization, intermediate, Python.
|
The example developed is pretty basic, and the images are not visually appealing. They are too big, the legend and scale bar overlap. I would like to read a more compelling story, i.e., the observer in the center of the map is easy, but why are they there? Perhaps you could pick a different dataset or a different area and still make the tutorial reproducible by using r.in.usgs or i.eodag, and place the observer and the towers in places that actually mean something, not just in the center of the region. Please have a look at https://github.com/ncsu-geoforall-lab/grass-gis-workshop-foss4gna-2023, esp. notebooks 2 and 3, which cover similar analysis. |
Address review feedback: replace the synthetic center-of-map observer with a real story. The tutorial now uses three historic fire lookout towers in the Nantahala National Forest (Wayah Bald, Wesser Bald, Albert Mountain, verified coordinates on the Appalachian Trail) and downloads real USGS 1 arc-second elevation via the r.in.usgs addon into a new EPSG:32617 project, with a pinned tile for reproducibility. Content changes: - observer height: standing on the bald vs the 16 m cab (165 vs 277 km2) - Earth curvature with -c at a lookout's 32 km range, and why the effect is small in ridge-limited terrain - target_elevation as a rising smoke column (277 to 412 km2 detectable) - three-tower network summed with r.series, coverage reported as a table from r.report JSON output (44% of the region) - new worked section on siting a fourth tower: the best candidate recovers under 4% of the blind area because the gaps are valleys Figures regenerated at 600 px with labeled towers (d.text), shaded relief bases, non-overlapping legend and scale bar, and zoomed extents for the single-tower maps. Get-started link now points to the Python quick start; callouts are spread out; area estimation commands are shown in the text.
|
Thanks @veroandreo, this was the right push. I reworked the tutorial from scratch around a real story: the historic fire lookout towers of the Nantahala National Forest (Wayah Bald, Wesser Bald, and Albert Mountain, all still standing along the Appalachian Trail near Franklin, NC). The terrain now comes from the USGS via the The observers now mean something. These towers were sited for visibility, so each section answers a question their builders actually faced:
On the images: regenerated at 600 px with labeled towers, shaded relief bases, non-overlapping legend and scale bar, and zoomed extents for the single-tower maps. The get-started link now points to the Python quick start, the callouts are spread out, and the area estimation commands are shown in the text. Happy to adjust anything else. |
Adds a new intermediate tutorial on visibility analysis with
r.viewshed — a topic
not currently covered in the tutorial set.
What it covers
max_distance(a 3 km radius).Details
elevationDEM) and the grass.tools API (GRASS 8.5), consistent with the recent NumPy/Landlab tutorial.eval: false, following the other Python tutorials).raster,terrain,visualization,intermediate,Python.Feedback on scope, wording, or the choice of observer sites is very welcome.