LiDAR Peak Analysis: What It Takes

Items that do not fit the categories above.
Forum rules
  • This is a mountaineering forum, so please keep your posts on-topic. Posts do not all have to be related to the 14ers but should at least be mountaineering-related.
  • Personal attacks and confrontational behavior will result in removal from the forum at the discretion of the administrators.
  • Do not use this forum to advertise, sell photos or other products or promote a commercial website.
  • Posts will be removed at the discretion of the site administrator or moderator(s), including: Troll posts, posts pushing political views or religious beliefs, and posts with the purpose of instigating conflict within the forum.
For more details, please see the Terms of Use you agreed to when joining the forum.
User avatar
Eli Boardman
Posts: 662
Joined: 6/23/2016
14ers: 58  1  15 
13ers: 18 1
Trip Reports (16)
 
Contact:

LiDAR Peak Analysis: What It Takes

Post by Eli Boardman »

Here's a basic tutorial for the process I've been using to look at peaks with LiDAR (Light Detection And Ranging) data. Apologies in advance that it is going to be really long and probably overly detailed, but feel free to skip the parts that you already know how to do.

The basic idea of LiDAR is that you can measure the distance from the airplane to the ground by checking how long it takes for a laser pulse to travel from the instrument to the ground and back. The instrument auto-magically calculates the elevation of each "return" based on the attitude of the airplane in the sky and the time it takes for the light to come back, and then the attributes of each point (such as XYZ coordinates) get stored in a special type of file that ends in either .las or .laz. Of course it's a bit more complicated than that (I still don't understand how multiple-time-around calculations really work), but that's all we need to know to use the data. The trick to remember is that the laser can bounce off of things other than the ground (like people or even birds), and sometimes the same pulse bounces off multiple things (tree branches and the ground, etc.). For now, we'll restrict ourselves to remote alpine summits where the aforementioned problems are mostly irrelevant, but it's something to keep in mind.

1. Set up the latest version of QGIS.
Ok, let's start. First, download QGIS, the ubiquitous free GIS (Geographic Information System) that we'll be using. You need QGIS version 3.18 or higher, NOT the "stable release" version 3.16, which doesn't have .las/.laz capability. I'm using the latest version, 3.22.2, which you can download HERE. Be sure to get the right installer for your operating system--I only have experience with Windows, which has a .msi installer. After it downloads (it takes a while, as it's a 1 GB file), run the installer and open QGIS.

When QGIS first opens, you should have a mostly white screen with a bunch of disorienting buttons (most of which you'll never use, so don't worry). Double click on the prompt to start a "New Empty Project," then save your project to an appropriate folder so you can return and pick up where you leave off.

2. Download LiDAR Data.
Now it's time to get some data. THIS page has a good overview of LiDAR surveys that are stored for public use by the USGS. You can use that map to get an idea of where there is LiDAR coverage, and by clicking on the various surveys, you can preview the whole pointcloud in 3D. But, to actually download the data, it's easiest to use the USGS's National Map (HERE). In the National Map viewer, drag/zoom the map until it shows the area you are interested in fairly up-close. On the left panel, select the button for "Elevation Source Data (3DEP) - Lidar, IfSAR," then select the "Lidar Point Cloud (LPC)" option. For the sake of this tutorial, I'm going to be looking at THIS soft-ranked 12er. Here's a view of the area of interest in The National Map, with the appropriate data type selected:
NationalMap.JPG
NationalMap.JPG (113.19 KiB) Viewed 3857 times
The option to search by "Map Area/Extent" should already be selected at the top, so you can go ahead and click "Search Products." Assuming there is indeed USGS LiDAR coverage in your area of interest, you should get results that show grayscale map tiles. You can scroll over the tiles to see their outline and figure out which ones you need, or click "Footprint." Once you've identified which tile(s) you need to cover your peak and key col, download them by clicking the "Download Link (LAZ)" button on each tile.

3. Set a color ramp for elevation.
After the files download, you can just drag-and-drop them into QGIS (you might want to move them to a different folder first, but I've just been keeping mine in Downloads). It will take a few moments for each tile to load in QGIS, since it's indexing millions of points. Don't worry if the files don't look like anything--they usually default to being in "classification" mode, which is pretty meaningless in this context. Double-click on a filename in the left panel, which should bring up the Layer Styles box. Click on the icon that looks like a paintbrush to see the Symbology menu. At the top, switch the drop-down menu from "Classification" to "Attribute by Ramp." In the second drop-down box, switch the Attribute from "Intensity" to "Z" (the elevation coordinate). For easier viewing, change the Color Ramp to something other than gray--I use "Turbo." Next, change the Min and Max settings to the elevation range (in meters, usually) that you're interested in.

Side-note, note required: I like to adjust the color palette manually, by switching from "Continuous" to "Equal Interval" under the color swatches, setting the number of Classes to 12, and scrolling down to change the last class to a bright pink (which thus identifies points above my upper elevation threshold). For the sake of this tutorial though, we'll stick with the unaltered "Turbo" color scheme.

Your finished Symbology setup should look something like this:
Symbology.JPG
Symbology.JPG (79.76 KiB) Viewed 3857 times
Click OK to apply the settings and return to the map. Instead of manually changing the color grading on each tile, you can right-click the one you just adjusted, click "Styles-->Copy Style", then shift-select all the other tiles in the Layers menu, right-click them and click "Paste Style." You'll repeat the process of editing the color ramp and applying a matching style to all tiles many times.

4. Find the summit.
At this point, you should have something that looks like a rainbow map, with higher areas in warmer colors. With the hand-shaped tool (automatically selected), you can zoom and pan as you would normally for an interactive map. To query individual point values, Click "View-->Identify Features." Click on one of the filenames for one of the tiles in the left panel, then click somewhere in that tile. A new bar should pop up on the right showing you information about that point. (Possible problem: you have to select the tile on the left before you can click on points within it. Keep this in mind when clicking on points near the boundary of two tiles.)

Your QGIS window should look similar to this:
Overview.JPG
Overview.JPG (81.88 KiB) Viewed 3857 times
Last edited by Eli Boardman on Mon Jan 24, 2022 11:36 am, edited 2 times in total.
User avatar
Eli Boardman
Posts: 662
Joined: 6/23/2016
14ers: 58  1  15 
13ers: 18 1
Trip Reports (16)
 
Contact:

LiDAR Peak Analysis: What It Takes

Post by Eli Boardman »

Now the setup is all done, and it's time for the art of peak-finding. If you have a rough idea of the elevation of the summit, you can go into the symbology menu and change the Min/Max values to be an appropriate distance on either side of your target peak--plus or minus a hundred meters is a good place to start. For my target peak, the summit is expected to be somewhere around 3846 m, so I'm setting the Min/Max values to 3800/3900 m. The summit area should now appear as a multi-colored blob in front of a dark purple background (everything below your lower threshold is now the same color). Scroll (or pinch on a touchpad) to zoom in closer around the summit area, and click on the values near the apparent highpoint to get a better idea of the elevation:
Zoom1.JPG
Zoom1.JPG (78.66 KiB) Viewed 3822 times
Now, we just repeat this process of narrowing the Min/Max thresholds on the elevation color ramp and zooming in on the summit region. Make sure not to zoom in too much too fast, or you may miss a nearby summit candidate. If you get an area that is all-red, this means that all those points are higher than your Max threshold, so you might consider setting both thresholds higher to narrow in on the summit. As you zoom in, the points should start to be visible along with smaller topographical features. In this view, I've adjusted my Min/Max to 3840/3845 m:
Zoom2.JPG
Zoom2.JPG (68.26 KiB) Viewed 3822 times
As you keep zooming in, you can also make the point size larger (bottom of the same Symbology menu) to make it easier to see--I usually set my point size to 2 (default is 1). Keep adjusting both thresholds until you 1) understand the local topology, including the relative height of any competing summit candidates; and 2) can narrow down the highest points to a few dozen at most. You can narrow down the candidate high points by slightly varying your Max threshold until there are only a few dark-red points. Now, click on these individual highest returns and compare their values. In general, ignoring things like cairns or people on popular summits, I will click all the highest returns (remember, you should have narrowed it down to only a handful of candidate points) until I identify the single highest return. In this view, my Min/Max thresholds are 3845/3847 m, and the circled point is the one that is currently clicked, which is the highest return at 3847.025 m:
Zoom3.JPG
Zoom3.JPG (101.97 KiB) Viewed 3822 times
Now, to export the X, Y, and Z coordinates, right-click on the respective values in the bar on the right and paste them into Excel or wherever else you want to track your peak findings. Note that the XY coordinates can be in various formats depending on your data source--for now, we'll just keep them in the native format, and worry about converting coordinate systems later.

Congrats--you've found the summit!
Last edited by Eli Boardman on Wed Dec 29, 2021 8:56 pm, edited 1 time in total.
User avatar
Eli Boardman
Posts: 662
Joined: 6/23/2016
14ers: 58  1  15 
13ers: 18 1
Trip Reports (16)
 
Contact:

LiDAR Peak Analysis: What It Takes

Post by Eli Boardman »

4. Find the key col.
This is a bit trickier, because it's a bit of a paradox: you're looking for the highest-lowest-spot. To start, you should have some idea of the general location and elevation of the key col, perhaps from Lists of John, Peakbagger, or your own exploration in real life or Google Earth. The idea will be to isolate points above and below an ever-narrowing range of possible key col elevations, creating something that looks like an island (the new peak) separated from higher ground by a single narrow path (the ridge containing the key col).

In my example case, I know that the key col is somewhere to the north around 3761 m, so I'm going to start with a Min/Max range of 3700/3800 m. Instead of having to zoom out all the way, you can just right-click the layer name and click "Zoom to Layer(s)." Don't forget to apply your same elevation-color-ramp styling to all of your tiles if you're working with multiple.
Col1.JPG
Col1.JPG (74.14 KiB) Viewed 3792 times
Now, zooming in on the key col, the goal is to keep refining the Min/Max bounds as necessary to narrow in on the key col elevation while preventing the solid-red area of your peak (the part above your Max elevation) from merging with the higher ground. Here, I've set the thresholds to 3760/3770 m:
Col2.JPG
Col2.JPG (76.59 KiB) Viewed 3792 times
As you get closer, avoid zooming or narrowing the threshold too fast, or you could miss subtle low-points that could be the true key col. It usually takes some trial-and-error, but you want to end up with something that looks like a crossing X of rainbow colors, with high-elevation areas separated by a handful of in-between points. Then, to identify the exact key col, I like to imagine someone trying to walk from the low area on one side of the ridge to the low area on the other side--what's the lowest path they can follow over the ridge? If you visualize which points they might walk through to cross the ridge, which of these points is the highest point of their trans-ridge path? This point is the key col.

In practice, it can be a bit messy, especially where the ridge has a lot of gendarmes or where the "ridge" is actually a nearly flat talus field. In general, I try to err on the side of overestimating the key col elevation, while still trying to be accurate to at least the nearest 0.1 m. Here's the final example from the key col on my test peak, with thresholds of 3764.5/3764.7 m. The arrow shows the selected col point, and the white line is the path that I would imagine walking across the "ridge," or rather the lowest-elevation path through these particular talus blocks:
Col3.JPG
Col3.JPG (167.2 KiB) Viewed 3792 times
Repeat the process of right-clicking the XYZ coordinates, clicking "Copy Attribute Value," and pasting the values somewhere like Excel. To convert meters to feet, multiply by 3.280839895. To measure the peak's prominence, subtract the key col elevation from the summit elevation, and round to the nearest foot. Congratulations, you've analyzed a peak with LiDAR data! (P.S., the peak I just analyzed ended up only having 271 ft. of prominence.)

This is a pretty rudimentary workflow, and no GIS expert would really follow such a cumbersome procedure. Still, if you are careful with not adjusting the thresholds too much too fast, it works pretty well, and I like the ability to visually inspect and understand the local topography before making a final determination of the summit point and key col location. One extension worth mentioning is the free program called LASTools, which can be used as a plugin in QGIS to convert between formats and perform many other more-advanced tasks. Feel free to add to this thread with your questions, improvements, or alternative methods.

Happy peak hunting! :-D
User avatar
glenmiz
Posts: 1142
Joined: 8/30/2013
14ers: 58 
13ers: 121 1 3
Trip Reports (4)
 

Re: LiDAR Peak Analysis: What It Takes

Post by glenmiz »

Eli,
Thank you very much. I've gone through the process (which I never would have figured out myself) and gained much respect and appreciation for what you, John, and bdloftin77 are doing on the soft-ranked peaks. I'm going to look at the soft-ranked Jeffco peaks on my own to see if I'm still a finisher for the ranked peaks (class 4 and below); I've looked at Ralston Buttes and conclude that I am not. It seems I saw that someone else had looked at that one too. I wonder what other Jeffco "adventures" are in my future....?

Thanks again!
Glen
Aim high to end high
User avatar
bdloftin77
Posts: 1094
Joined: 9/23/2013
14ers: 58  1 
13ers: 58
Trip Reports (2)
 

Re: LiDAR Peak Analysis: What It Takes

Post by bdloftin77 »

Thanks so much for this write-up, Eli! I directed Teresa Gergen to this thread - she's been interested in all the soft-ranked peaks above 10k ft.

I'll add a few things:

1) Make sure to check all the saddle candidates along the ridgeline between the target peak and its line parent. At least check all saddle candidate areas that could have equal interpolated elevations (see screenshot below for saddle candidates for 10660). If there were multiple possible saddles, John could only include one in his website, and made a best-guess. The LoJ saddle is not always correct. This could have big implications for whether a peak is ranked or not. As I've been going through El Paso and Teller peaks, I looked at 10940 near The Crags. On the map, the interpolated saddle for The Crags could be either to the east, or to the west. John and I looked at the eastern saddle already, but we both neglected to look at the western one, which is actually slightly higher. This saddle will go to The Crags, and the eastern/lower one will go to 10940, since 10940 is higher. The Crags might end up being unranked after all, but possibly by only a few feet (see second screenshot below).

2) Make sure to check summit candidates. These include closed contours that aren't labeled, as well as closed contours that are labeled and are close-ish in elevation (within at least 30 feet). Summit candidates can be on the same mountain, but also check nearby mountains which have close-ish elevations. Even if a nearby peak has a stated summit elevation 10 feet lower than the target peak, this peak's elevation could be wrong and it could in fact be higher. As you can see on the lidar page, 12282 is actually higher than 12284, and their saddles switched as a result.

3) The highest peak gets the highest prominence and the lowest saddle in a group of peaks along a ridgeline. Remember to follow the highest ridgeline from a peak to its line parent, and the saddle is the lowest point along that ridge. The line parent is next higher peak on the other side of the saddle along the ridgeline. The listsofjohn line parent peak is usually correct, but not always.

4) If a peak's saddle falls along a road cut or rise, take the highest natural ground near the road cut/rise. Road cuts are man-made, and therefore considered unnatural saddles. 9305's saddle falls along Highway 165 near Bishop's Castle. The highest part of the ridge was cut for the road, so the saddle falls somewhere in between the highest natural ground on either side of that road cut along where the ridge used to be. Since the ground no longer exists, all we can do is use the highest remaining natural ground as the saddle location/elevation.

5) If in vegetated areas or areas with large man-made structures, try to use class 2 (ground) only!! Especially for saddles, you very rarely need to add in class 1. In the las2las tool, you can use the Filter option on the left to filter classes, returns, etc. If you're above treeline on peaks, using both class 1 (unassigned) and class 2 (ground) is generally okay, but be careful. If below treeline and trying to capture tall, jutting rocks, class 2 (ground) only might not capture as much of the rock formation as you might hope. This is usually okay unless the peak is extremely close to the 300' prominent mark. Be careful to avoid trees, vegetation, and buildings/towers on the summit if you're using class 1 and class 2 for below treeline peaks.
Multiple Saddle Candidates for 10660
Multiple Saddle Candidates for 10660
Multiple Saddle Candidates.png (1.29 MiB) Viewed 3457 times
The Crags Saddle
The Crags Saddle
The Crags Saddle.JPG (207.26 KiB) Viewed 3457 times
Last edited by bdloftin77 on Sat Jan 01, 2022 6:01 pm, edited 1 time in total.
User avatar
bdloftin77
Posts: 1094
Joined: 9/23/2013
14ers: 58  1 
13ers: 58
Trip Reports (2)
 

Re: LiDAR Peak Analysis: What It Takes

Post by bdloftin77 »

Saddle switching...

Here's where the saddles for the 12980 group and the 12284 group used to be (crossed out with blue) and where they should now be for example:

12282 was found to be higher than 12284, so it switched saddles with 12284.
12284 Group
12284 Group
12284 Group.png (1.04 MiB) Viewed 3447 times
12980 was found to be lower than both Hammer Peak (12973) and 12977, so it switched saddles with 12977.
12980 Group
12980 Group
12980 Group.JPG (261.63 KiB) Viewed 3447 times
User avatar
glenmiz
Posts: 1142
Joined: 8/30/2013
14ers: 58 
13ers: 121 1 3
Trip Reports (4)
 

Re: LiDAR Peak Analysis: What It Takes

Post by glenmiz »

Thanks for all of the information. This is pretty interesting and I'm looking at Jeffco soft-ranked peaks. I came pretty close to your values for Ralston Buttes' elevation and prominence but I'm not sure how to convert from UTM to lat/long coordinates.
Aim high to end high
User avatar
Eli Boardman
Posts: 662
Joined: 6/23/2016
14ers: 58  1  15 
13ers: 18 1
Trip Reports (16)
 
Contact:

Re: LiDAR Peak Analysis: What It Takes

Post by Eli Boardman »

glenmiz wrote: Sat Jan 01, 2022 9:05 pm Thanks for all of the information. This is pretty interesting and I'm looking at Jeffco soft-ranked peaks. I came pretty close to your values for Ralston Buttes' elevation and prominence but I'm not sure how to convert from UTM to lat/long coordinates.
It's great to see everyone jumping into this! I'll admit I'm pretty much learning it as I go, too, but it's a fun process. As for converting to lat/lon, I'll post a quick tutorial on the way I do it tomorrow. I think Ben and John are using another software package called LASTools to convert the format of the pointclouds, but since I download various tiles at different times, I don't like having to process each tile as I download a new one--I prefer to keep all the coordinates in their native format until I have a whole list to convert all at once. Either way works, it's just preference. Anyway, there's a few steps you can follow in QGIS to convert lists of coordinates between reference systems: more on that tomorrow.
seano
Posts: 781
Joined: 6/9/2010
14ers: 56 
13ers: 218
Trip Reports (3)
 
Contact:

Re: LiDAR Peak Analysis: What It Takes

Post by seano »

Thanks for the tutorial! QGIS is pretty overwhelming and clumsy at first, as one might expect from an expert tool. Unfortunately LiDAR data does not seem to be available for the Sierra yet. When it is, it's very possible Mount Barnard (between Whitney and Williamson, currently 13,990') will become another 14er.
User avatar
glenmiz
Posts: 1142
Joined: 8/30/2013
14ers: 58 
13ers: 121 1 3
Trip Reports (4)
 

Re: LiDAR Peak Analysis: What It Takes

Post by glenmiz »

Eli Boardman wrote: Sat Jan 01, 2022 11:16 pm
glenmiz wrote: Sat Jan 01, 2022 9:05 pm Thanks for all of the information. This is pretty interesting and I'm looking at Jeffco soft-ranked peaks. I came pretty close to your values for Ralston Buttes' elevation and prominence but I'm not sure how to convert from UTM to lat/long coordinates.
It's great to see everyone jumping into this! I'll admit I'm pretty much learning it as I go, too, but it's a fun process. As for converting to lat/lon, I'll post a quick tutorial on the way I do it tomorrow. I think Ben and John are using another software package called LASTools to convert the format of the pointclouds, but since I download various tiles at different times, I don't like having to process each tile as I download a new one--I prefer to keep all the coordinates in their native format until I have a whole list to convert all at once. Either way works, it's just preference. Anyway, there's a few steps you can follow in QGIS to convert lists of coordinates between reference systems: more on that tomorrow.
Thanks Eli!
Aim high to end high
User avatar
RadioJay
Posts: 66
Joined: 10/3/2011
14ers: 58  1 
13ers: 15
Trip Reports (0)
 

Re: LiDAR Peak Analysis: What It Takes

Post by RadioJay »

seano wrote: Sun Jan 02, 2022 6:44 am Thanks for the tutorial! QGIS is pretty overwhelming and clumsy at first, as one might expect from an expert tool. Unfortunately LiDAR data does not seem to be available for the Sierra yet. When it is, it's very possible Mount Barnard (between Whitney and Williamson, currently 13,990') will become another 14er.
Can Eli or someone address the accuracy of the aircraft’s elevation? I imagine it uses a combination of GPS and INS but super accurate elevation estimates usually require a long observation time and the airplane is moving and is subject to turbulence.
User avatar
bdloftin77
Posts: 1094
Joined: 9/23/2013
14ers: 58  1 
13ers: 58
Trip Reports (2)
 

Re: LiDAR Peak Analysis: What It Takes

Post by bdloftin77 »

RadioJay wrote: Sun Jan 02, 2022 8:31 am
seano wrote: Sun Jan 02, 2022 6:44 am Thanks for the tutorial! QGIS is pretty overwhelming and clumsy at first, as one might expect from an expert tool. Unfortunately LiDAR data does not seem to be available for the Sierra yet. When it is, it's very possible Mount Barnard (between Whitney and Williamson, currently 13,990') will become another 14er.
Can Eli or someone address the accuracy of the aircraft’s elevation? I imagine it uses a combination of GPS and INS but super accurate elevation estimates usually require a long observation time and the airplane is moving and is subject to turbulence.
Short answer - using an IMU (inertial measurement unit), a GPS on the aircraft, a reliable GPS on the ground (base station), and post-processing all the data.

Long answer - see this article section C Geopositioning for answers to your question, or other sections for other interesting information.
Post Reply