True isolation

by Andrew Kirmse

February, 2017

Definition

True isolation is the distance from a point on the earth to the nearest point with higher elevation. The closest nearest point is called the "isolation limit point" (ILP). If two peaks have exactly the same elevation, then neither is the ILP of the other, because the ILP must be higher ground.

The isolation of Mt. Everest is undefined, though it's understood that it is the most isolated point on Earth. Sometimes its isolation is defined to be the circumference of the Earth, though that is of questionable validity since it depends on the path taken around the globe.

Sometimes isolation is described as the distance to the nearest higher peak, because this is easy to calculate from a list of peaks and elevations. This measure is an upper bound on true isolation.

I also have a separate calculation of global prominence here.

Illustration of isolation from Wikipedia.

Data

In 2017 I attempted to calculate the true isolation of every peak in the world. To do this, I started with Jonathan de Ferranti's global terrain data set at viewfinderpanoramas.org. Jonathan's data is based on the Shuttle Radar Topography (SRTM) mission, which used radar from the Space Shuttle to measure elevations. This radar was unable to see many interesting areas, including the tops of many high mountains, so Jonathan filled these so-called "voids" with several different methods, producing near-perfect coverage of the Earth.

SRTM covered only land between about 60 degrees north and south latitude. Outside these areas, Jonathan found elevations from other surveys, and by digitizing topographic maps. Topographic maps could also be used in places like the U.S. where they are easily available.

The SRTM data has a resolution of 90 meters per pixel at the equator. Closer to the poles, pixels get closer together in the longitudinal direction. SRTM is a digital surface model (DSM), meaning that it includes buildings and tree tops, rather than the elevation of the bare ground. This is because the wavelength of the radar could not penetrate vegetation. This has important implications to isolation measurements in flat, vegetated areas.

The data is divided into files each representing one square degree on the Earth's surface. Each file is a square grid of 1201 by 1201 samples. The edges of each tile are repeated in the neighboring tiles. Since the number of samples is constant, the area represented by each sample is largest at the equator, and dramatically smaller near the poles.

An example of a major void in SRTM data near Aconcagua, shown on a topo map.

Method

I retrieved Jonathan's files and wrote several C++ programs to process them. The steps were roughly these:

    1. Find peaks by locating all samples higher than each of their 8 Cartesian neighbors.

    2. For each peak, perform a radial search outward looking for higher ground.

    3. Once the closest higher ground was found, calculate the exact distance and write the result to an output file.

    4. Process the output file to map isolated peaks to a known peak database to associate isolation values with familiar mountain names.

Here's some more information on how each step was performed:

1: Find peaks

In flat areas like the top of a mesa, there might be no samples higher than all 8 neighbors. Thus, any point at least as high as all 8 neighbors must be considered a peak. This can generate large connected areas where each sample is considered a peak with the same elevation. I performed a flood-fill to reduce each connected area to a single representative (roughly, the NW corner of the area).

Edge and corner samples have only 5 or 3 neighbors in the tile. It is safe to consider these samples as peaks if they are at least as high as their neighbors in the tile, though they may be lower than a nearby sample in a neighboring tile. This generates some spurious peaks that are removed later when a minimum isolation threshold is applied.

In order to avoid generating duplicate peaks in the shared samples of SRTM data tiles, only the top and left edges of each tile were examined. The right and bottom edges were examined when processing neighboring tiles.

2: Find higher ground

Starting with a peak's tile, I search outward in concentric rectangles around the peak's location, looking for a higher sample. These rectangles need to be wider than they are tall to cover an equal distance in the latitude and longitude directions. The aspect ratio is the cosine of the latitude (in radians).

If one of these rectangles overlaps the edge of the tile, or if no higher ground is found in the tile, then neighboring tiles also need to be searched. In similar fashion to the search inside a tile, neighboring tiles are searched in concentric rings. Within a tile, fast approximations to distance are good enough, but as distances become larger, a slower and more precise calculation is required. I used the standard haversine formula for a spherical Earth during this step.

Calculations took about 10 hours on a modern laptop. A bunch of optimizations were necessary to get the speed within reason.

3: Calculate isolation

I used a more precise distance formula assuming an elliptical cross-section for the Earth to determine true isolation. This only matters for very large isolation values. Because the terrain samples are 90 meters apart, the resultant values are only good to one decimal place.

4: Map to known peaks

I wanted to determine the isolation value of real mountains that people have heard of. To do this, I used the peak database from peakbagger.com, which contains about 70,000 peaks with locations, elevations, and names. It also contains isolation values, most of which are next-highest-peak distances, but some of which were determined by hand. These initial guesses were a great help in debugging.

In order to match peaks in the database, it was important to use the database's elevations for peaks. Small changes in peak elevations can have a dramatic impact on isolation. SRTM takes the average elevation in each sample area, which tends to undershoot true peak elevations. So, in Step 1 above, I wrote Peakbagger's peak elevations to each tile as it was read in from disk. This was a very tiny fraction of all of the peaks that were found automatically, but it included the vast majority of peaks that people care about.

As a final step, I matched each Peakbagger peak to the best peak within a small radius. Usually the peak would be exactly at the Peakbagger's database coordinates, because the database had a higher summit elevation than the SRTM data. But for places where that was not the case, it helped to search a small area and find the peak whose isolation best matched the database's a priori isolation value.

After this step, I had two outputs. The first was a list of each Peakbagger peak's ID, name, ILP, and true isolation value. The second was a much larger list of millions of peaks with location, ILP, and isolation. In order to keep this second list manageable, I applied an isolation cutoff of 1km, although I didn't exclude any peak from the Peakbagger database, because I wanted its exact isolation even if it was less than 1km.

Results

I analyzed peakbagger.com's database from January 20, 2017, which contained 67,587 peaks. After matching, the peaks were classified as follows:

    • 7 peaks had no matching terrain at all. These were 6 small atolls and rocks where there was no SRTM data, and 1 undersea rock.

    • 611 peaks had 0 isolation in Peakbagger, i.e. they were known not to be peaks.

    • 364 had less isolation in Peakbagger than in my analysis. Inspection showed that these were mainly rocks and pillars, which show up poorly in the 90 meter terrain data. Others were peaks with elevations very similar to neighbors, where accurate surveys have more precision than the terrain data. An example is Mount Curwood in Michigan, which was thought to be the state high point until a survey corrected it to Mount Arvon in 1982. There were a few major peaks where the analysis found incorrect ILPs in Peakbagger, such as for Huascarán and Mount Ritter.

    • 50,571 had somewhat more isolation in Peakbagger than in my analysis. These are generally peaks for which Peakbagger did not contain an ILP and was relying on the nearest highest neighbor for isolation.

    • 1805 had much more isolation in Peakbagger than in my analysis. I inspected those with over 500 km of isolation manually, and found 20 where Peakbagger had an isolation over 500 km, but the true isolation is less. Three others have true isolation of over 500 km, but substantially less than the value in Peakbagger.

    • 14,229 had roughly the same isolation in Peakbagger and in my analysis. This means a difference of less than 0.1 km, or a difference of less than 1% but still under 5 km.

    • My analysis identified 12,339 peaks with at least 25 miles (40.23 km) of isolation that were not in the Peakbagger database. Some of these are not true peaks, either because they occur at treetops in low-lying areas (due to the fact that the terrain is a surface model in most areas), or because they identify landfills or other man-made objects that are generally not included in peak lists.

A large zip file with approximately 24.7 million peaks is available here. The unzipped file has one peak per line, with fields separated by commas, in the following format:

latitude,longitude,elevation in feet,ILP latitude,ILP longitude,isolation in km

Elevation is in feet to avoid losing precision when converting to meters. That could make peaks with small elevation differences appear to be the same height, which would distort the isolation calculation. Only the first decimal place of the isolation value is meaningful. The peaks are sorted by decreasing isolation (Mt. Everest, with its undefined isolation, is listed last.)

Newly identified peaks with at least 25 miles of isolation

Most isolated peaks

Here is a table of Wikipedia's top 40 most isolated peaks, annotated with the isolation I calculated, and with significant differences highlighted and discussed below the table.

Rank

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

Elevation

8848 m

29,029 ft

6962 m

22,841 ft

6194 m

20,320 ft

5895 m

19,341 ft

4884 m

16,024 ft

4892 m

16,050 ft

2241 m

7,352 ft

4205 m

13,796 ft

3694 m

12,119 ft

3754 m

12,316 ft

3482 m

11,424 ft

506 m

1,660 ft

4810 m

15,781 ft

3071 m

10,075 ft

4750 m

15,584 ft

5636 m

18,491 ft

2060 m

6,759 ft

4421 m

14,505 ft

4095 m

13,435 ft

5642 m

18,510 ft

2897 m

9,505 ft

4040 m

13,255 ft

2915 m

9,564 ft

1858 m

6,096 ft

6746 m

22,133 ft

2695 m

8,842 ft

4167 m

13,671 ft

3776 m

12,388 ft

3445 m

11,302 ft

2745 m

9,006 ft

2037 m

6,684 ft

3805 m

12,484 ft

965 m

3,166 ft

2228 m

7,310 ft

780 m

2,559 ft

7 m

23 ft

1230 m

4,035 ft

859 m

2,818 ft

1895 m

6,217 ft

3952 m

12,966 ft

Wikipedia

isolation

n/a

16,518 km

10,264 mi

7,450 km

4,629 mi

5,510 km

3,424 mi

5,262 km

3,269 mi

4,911 km

3,052 mi

4,128 km

2,565 mi

3,947 km

2,453 mi

3,254 km

2,022 mi

3,140 km

1,951 mi

3,003 km

1,866 mi

2,836 km

1,762 mi

2,812 km

1,747 mi

2,767 km

1,720 mi

2,748 km

1,708 mi

2,690 km

1,672 mi

2,665 km

1,656 mi

2,649 km

1,646 mi

2,538 km

1,577 mi

2,473 km

1,536 mi

2,393 km

1,487 mi

2,338 km

1,453 mi

2,269 km

1,410 mi

2,245 km

1,395 mi

2,196 km

1,365 mi

2,115 km

1,314 mi

2,078 km

1,291 mi

2,077 km

1,291 mi

2,001 km

1,243 mi

1,922 km

1,194 mi

1,913 km

1,189 mi

1,905 km

1,184 mi

1,902 km

1,182 mi

1,895 km

1,177 mi

1,856 km

1,153 mi

1,852 km

1,151 mi

1,848 km

1,148 mi

1,842 km

1,145 mi

1,836 km

1,141 mi

1,815 km

1,128 mi

My isolation

n/a

16517.6

7450.2

5509.7

5235.1

4928.8

4128.2

3947.0

3254.8

3138.8

3003.2

2831.3

2812.0

2766.3

2750.3

2690.3

2662.0

2649.4

2509.5

2469.4

2342.5

2335.7

2205.7

2245.2

2207.6

2090.3

2078.2

2076.7

1998.8

2026.1

1913.5

1903.9

1897.6

1894.3

1851.2

559.4

1804.9

1798.2

1835.4

1814.6

Mount Paget: The calculated value looks correct; there is indeed much higher land at the calculated ILP in Antarctica at -69.7808, -64.4633. That would move Mount Paget down the list.

Mawson Peak: Peakbagger has a true isolation of 2046 km for Mawson Peak. It's not clear where Wikipedia's value is coming from. My calculated ILP is near the Peakbagger one in Antarctica, but slightly closer to the peak.

Jarvis High Point: The DSM picked up treetops on Washington Island in Kiribati. While the trees are indeed higher than Jarvis's 23 feet, one online resource suggests that the land on Washington Island is at most 15 feet high.

Mascarin Peak: Peakbagger has the isolation at 1827 km. My calculated ILP in South Africa at -32.7542, 27.2425 looks correct, which would move the peak down the list.

Green Mountain: Peakbagger has the isolation at 1812 km. My calculated ILP in Sierra Leone at 8.2633, -13.1225 has tree cover and is named Pickett Hill. Various online sources put its elevation at 2804 to 2913 feet.

I wasn't expecting to find large differences in isolation for major peaks. Many people have checked over these carefully by hand. The value of this analysis is more in its coverage, that is, assigning an isolation value to every peak in the world with over 1 km of isolation.

Isolation lists

Peakbagger.com has various peak lists based on isolation thresholds here. I checked the isolation lists for U.S. states and regions, and found the following proposed changes:

    • In Montana, Coal Mine Hill and Pine Hills were found to have under 25 miles of isolation.

    • In California, Mount Ritter was found to have over 25 miles of isolation.

    • In Alaska, Tooth Benchmark has under 100 miles of isolation, and a new unnamed peak was identified with over 100 miles of isolation.

Visualizations

Click on this image for an interactive map of the roughly 15,000 peaks with at least 25 miles of isolation, shown as a Voronoi diagram. A point in a cell on this map is closer to the peak in the cell than to any other peak on the map. Some artifacts are visible, for example in the Caspian Sea, where the water level in the source data varies slightly.