A **pinnacle point** is a point from which

no higher point can be seen [Count: 676]

no higher point can be seen [Count: 676]

Elevation < 2000 m

2000 ≤ Elevation < 4000 m

4000 ≤ Elevation < 6000 m

Elevation ≥ 6000 m

A **pinnacle point** is a point from which no higher point can be seen in a direct line of sight.

More specifically,
a pinnacle point is a point with zero **inferiority**, where inferiority is defined as the maximum elevation
that can be seen in a direct line of sight from a point minus the point's elevation.
Since all points can see themselves, the minimum possible inferiority is zero.

Prominence is a measure of how much a summit rises above its surroundings. More specifically, it measures how far down you have to go in order to get to a higher elevation. Thanks to Andrew Kirmse for finding 11,866,713 summits with a prominence greater than 100 feet (~30 m).

An on-top-of-the-world mountain (OTOTW) is a summit where no land rises above the horizontal plane from the summit. Since any land that rises above the horizontal plane would have higher elevation than the summit itself, if a summit is not an OTOTW then it can't be a pinnacle point either. In other words, pinnacle points are a subset of OTOTWs. Thanks to Kai Xu for finding 6,464 OTOTWs around the world. Andreas Geyer-Schulz deserves mention as well for his extremal peaks.

- Categorize the 11,866,713 summits into patches based on longitude and latitude. This is done for faster processing later. The patch size is 5 deg x 5 deg with some extra to take into account the fact that summits may be able to see beyond the patch they are in.
- Find the maximum horizon distance (MHD) defined as √(2*R_earth*Elevation) for each summit and OTOTW.
- Define a list of remaining OTOTWs as the full list of OTOTWs.
- Find the highest elevation remaining OTOTW (HERO).
- Find all other remaining OTOTWs where the sum of the OTOTW's MHD and the HERO's MHD is greater than the distance between them. In other words, find all OTOTWs that have a chance of being seen by the HERO. For each, do line of sight analysis (described below) to find which OTOTWs can actually be seen by the HERO. Each will have a lower elevation than the HERO, so they are removed from the list of remaining OTOTWs.
- Find the HERO's patch.
- Find all summits in the patch where both the summit's elevation is greater than the HERO's elevation and the sum of the summit's MHD and the HERO's MHD is greater than the distance between them. In other words, find all summits that have a chance of disqualifying the HERO from being a pinnacle point. For each, do line of sight analysis to determine if any summits can actually see the HERO. If any can, the HERO is not a pinnacle point and is removed from the list of remaining OTOTWs. Otherwise, the HERO is a pinnacle point and is added to a list.
- Repeat 4-8 until there are no remaining OTOTWs.

- Generate a list of 100 latitude-longitude points between the two input points along the geodesic.
- Find the elevation of each point using an API (thanks to Open-Meteo), and find the distance of each point to the first point.
- Translate each distance-elevation point such that the first point is at (0, 0).
- Apply a vertical drop to each elevation according to how far away the point is to take the curvature of the earth into account.
- Rotate the points to make the last point at the 0 elevation line. In other words, make the line of sight along the x-axis.
- If the maximum of the points is greater than 0, line of sight is blocked. Otherwise, there is direct line of sight.

- When the OTOTWs were found, all summits with less than 300 m of prominence were omitted. This cutoff is carried forward to pinnacle points.
- The earth is approximated as a sphere instead of an ellispoid.
- Atmospheric refraction is not taken into account. If it was, it would decrease the number of found pinnacle points since atmospheric refraction increases how far you can see.
- Only 100 elevations are sampled when determining if two points have line of sight. This can lead to points that can block line of sight being missed. By increasing the number of elevations sampled, more pinnacle points would be found.
- There is some inherent error in the data. The datasets have a resolution of 30 m (1 arcsecond), and the API uses 90 m (3 arcseconds). All data sources are surface elevation models, so trees and buildings are included.

Check out the latest on my github. There, you can find a txt file of all pinnacle points. Contact me at jamiegbreault@gmail.com. Here's an article on OTOTWs and pinnacle points if you are interested.