03 / HOW IT WORKS

From elevation to independence.

A transparent method, a repeatable calculation, and visible limits.

Let the mountain islands meet.

Lower the water. At 650 m the 800 m summit first joins higher terrain. Its prominence is 800 − 650 = 150 m.

Two separate islands. The lower summit is still independent.

800 m summit1,000 m summit650 m saddleCONCEPTUAL LANDSCAPE · NOT MEASURED DATA

How much descent is unavoidable?

A summit’s topographic prominence is the minimum vertical descent needed to reach any strictly higher terrain. Consider every possible terrain connection, regardless of roads or hiking paths. The best connection is the one whose lowest point is highest.

prominence = summit elevation − key-saddle elevation

We use 50 m as a useful starting point, with an adjustable range of 20–1,500 m. It is a project parameter, not a universal definition of a mountain. The UIAA’s Alpine four-thousander classification uses a 30 m topographic criterion together with morphological and mountaineering considerations. Read the UIAA criteria ↗

The retained catalogue contains every detected summit in our country whose possible prominence reaches 20 m, plus unresolved maxima and a separately flagged optional 100 m external strip. Flat, connected summit cells become one summit. Separate equal-height summits remain independent until they connect to strictly higher ground. Source rounding can therefore preserve nearby co-dominant points as separate raster summits; no distance-based merging is applied.

Five metres at a time.

  1. Acquire and fingerprint. Download all four DMV0050 archives from GURS’s public JGP service. Record each SHA-256 checksum, size and acquisition notes. Read the published name register separately.
  2. Build the native grid. Read 3,295 contributing XYZ tiles into EPSG:3794 (D96/TM), at the original 5 m spacing. Check grid alignment and tile overlaps. Retain NoData cells. No smoothing, hole filling or upsampling is applied to the calculation.
  3. Follow emerging islands. Store source heights as exact integer decimetres, build one stable counting-sorted order, and stream samples from highest to lowest. Activate cells and join their eight neighbours using a union-find structure. When a lower summit’s component connects to strictly higher terrain, record the connection elevation and representative saddle cell.
  4. Calculate coverage bounds. Repeat with all outer-edge and NoData-adjacent cells connected to a virtual infinitely high exterior. Compare the two passes, as explained below.
  5. Select, name and publish. Select summit points inside the GURS national outline and retain a separately flagged 100 m external strip. Assign statistical and mountain-area memberships after the national calculation. Preserve the source’s exact 0.1 m height increment. Match nearby GURS summit labels conservatively. Transform coordinates to WGS84 for the map and export JSON, CSV and GeoJSON.

The algorithm is implemented in C++ with Python for preparation and export. It follows the published water-sweep approach. We reviewed existing open-source prominence code; this atlas uses a native projected-grid implementation rather than its geographic tile adapter.

One terrain calculation. Two regional lenses.

The analysis rectangle is E 370,000–630,000, N 20,000–200,000 metres in D96/TM. Administrative regions never cut the calculation: they select already-calculated summit points. The 12 GURS statistical regions define the national outline; GMBA basic units provide mountain-area filters. Their generalized boundaries are research units, not official hiking districts.

A 5 × 5 m summit cell crossing a shared statistical boundary can be listed in both regions. The national count stays unique. Peaks outside GMBA mountain polygons remain available under Other hills. Display boundaries are simplified by 80 m; assignment uses the unsimplified source geometry.

A mountain does not stop at a border.

A connecting saddle may be outside our rectangle, outside Slovenia, or beyond a gap in the data. Treating the edge as a valley would exaggerate prominence. We instead calculate two limits:

PassMeaning
Interior connectionsOnly observed terrain paths are allowed. This gives an upper bound U; no higher summit means no finite upper bound.
Connected exteriorEvery cell adjacent to the boundary or missing data can immediately reach hypothetical higher terrain. This gives a lower bound L.

If L and U agree after source-precision rounding, prominence is resolved on this model. Otherwise we display L–U m, or ≥L m when there is no finite upper bound. The two-pass construction is our conservative implementation of the boundary principle.

L ≥ thresholdDefinitely qualifies within the terrain model.
U < thresholdExcluded at this threshold.
Bounds cross thresholdUncertain. Visible only when you opt in.

These intervals express missing-coverage uncertainty. They are not confidence intervals for elevation measurement error. An in-area saddle on a coverage-limited peak is not presented as a confirmed key saddle.

A missing dot may be a filter decision.

Stol is present as Veliki Stol, with the common-name alias Stol. In the original pilot its prominence was bounded between 227.2 and 1,020.4 m, while neighbouring Vrtača was resolved. At P300, Stol was therefore hidden by the conservative default while Vrtača qualified. Greater elevation alone does not establish a greater known lower bound.

Search now identifies matching summits hidden by a filter and explains why. The optional 100 m external strip shows nearby cross-border summit locations available in GURS terrain, marked with their distance beyond the boundary. These are not counted in the default Slovenian totals. For an external point, a statistical-region tag means the nearest adjacent Slovenian region, not legal membership. This display option does not supply missing terrain farther abroad or resolve its key saddle.

Test the method. Keep its limits visible.

The optimized algorithm was checked against a separate reference that repeatedly flood-fills tiny terrains at each elevation level. The original and compact-engine test reports together contain 3,013 passing cases and 22,645 reference peaks, including connected plateaus, separated equal maxima, alternative connections, outer boundaries and internal NoData.

The national engine stores heights and differences as exact integer decimetres, avoiding floating-point threshold ambiguity. Regression cases include decimal P50 examples and int16 extremes. Its results also match the original engine on the 4,004,001-sample benchmark. Display values are usually rounded to whole metres; downloads retain tenths. Neither display precision nor exact arithmetic establishes field accuracy.

GURS describes the older 5 m model as approximately 1 m accurate on open terrain and 3 m in vegetated terrain. These are source-level descriptions, not guarantees for a particular steep summit or saddle. Sampling and interpolation errors can exceed what a tidy decimal display suggests.

We have not yet carried out independent modern-LiDAR or field validation. The model may include artificial mounds and other landforms. We do not claim a complete natural-mountain inventory.

Names require a separate check

REZI stores cartographic text labels, not exact summit points. We use summit/hill category 3102, prefer the most detailed available 1:5,000 or 1:25,000 label, and accept its nearest candidate within 250 m only when the next candidate is sufficiently farther away. Each name is used once per matched feature. All associations remain explicitly provisional.

Measured processing cost

The full grid contains 823.8 million valid samples. Loading and checking took 151.5 seconds; the shared elevation ordering took 705.6 seconds, and the two streamed passes took 148.4 seconds on the development machine. The 10 × 10 km benchmark took 0.6 seconds for both passes. Download time is separate. Timings depend on hardware and filesystem caching.

Make the landscape your own.

  1. Choose prominence. Use a preset, slider or exact numeric threshold. The existing catalogue is filtered immediately; no terrain recalculation is needed.
  2. Narrow your view. Combine a statistical region and a mountain area, search names with or without Slovenian accents, filter by elevation, or try the alpine and foothill presets.
  3. Explore in more detail. Open the optional panel below the map. Set an elevation range, for example 500–1,000 m, and choose No matched name to explore unlabelled summits. This means no associated GURS label, not necessarily no local or official name. Add a maximum prominence, choose a coverage status or show only the external 100 m border strip. Filters combine; removable chips keep every restriction visible.
  4. Read ranges and colours. Range endpoints are inclusive. By default a summit's entire prominence interval must fit inside the chosen range. Include possible matches also shows intervals that overlap it; these points have a pale fill and dashed outline. Colour by elevation, prominence lower bound, name match or coverage status. The legend uses fixed bands, and a purple outline marks points outside Slovenia. Marker size changes only with map zoom.
  5. Inspect a summit. Click a dot or list row. Read its bounds and connecting saddle, view a west–east terrain section, and examine its name-match distance. The orange halo marks the selected summit; the hollow brown circle marks the connection. For a resolved result this is the key saddle. For a coverage-limited result it is only an in-area connection.
  6. Compare and save. Compare up to three summits and bookmark favourites. Saved choices stay in your browser on this device.
  7. Compare landscapes. In Findings, compare regions, mountain areas or altitude bands using the same elevation and prominence limits. The live charts show medians, distributions and the effect of changing the prominence threshold. Select a point or bar to inspect its peaks on the map. The national reference section remains a fixed record of the calculation.
  8. Share and download. Share links retain the selected summit, language, all non-personal filters, sorting and colour choice. Saved-only filtering stays local to your browser. Download the current filtered list or the complete files from Sources.

Scroll-wheel map zoom is disabled to keep page scrolling comfortable. Use the +/− buttons, pinch gesture or full-screen control. The map’s straight dashed lines are visual references; they are not walking directions or evidence of access.