Skip to content

Commit 60c6fd0

Browse files
spec: add area-mountain-panorama specification (#5367)
## New Specification: `area-mountain-panorama` Related to #5365 --- ### specification.md # area-mountain-panorama: Mountain Panorama Profile with Labeled Peaks ## Description A panoramic mountain silhouette chart that renders the horizon as seen from a fixed vantage point, like a photograph of a ridgeline against the sky. A filled area under the skyline curve traces the ridgeline across a horizontal viewing range (in degrees of bearing or horizontal distance), and major summits are annotated with their name and elevation. Unlike an elevation-profile-along-a-trail, this plot is the angular view of the surrounding peaks from a single observer, making it ideal for summit-identification infographics, alpine panoramas, and travel guides. ## Applications - Tourism and alpine-guide infographics: labeled summit panoramas from viewpoints, huts, or gondola stations (e.g., the classic Zermatt / Gornergrat view of the Matterhorn and surrounding 4000-m Wallis peaks) - Mountaineering route planning: identifying summits visible from a given vantage point and orienting by bearing - Geography and earth-science education: introducing real topography and ridgeline structure to students - Travel blogs, hiking magazines, and ski-resort marketing: stylized horizon illustrations with named peaks - Cross-section communication: visualizing the ridgeline profile along a travel path or compass sweep ## Data - `angle_deg` (numeric) - horizontal viewing angle in degrees (compass bearing) or horizontal distance along the panorama - `elevation_m` (numeric) - skyline elevation in meters at each angle sample - `peaks` (list of objects) - summits to annotate, each with: - `name` (string) - peak name (e.g., "Matterhorn") - `angle_deg` (numeric) - horizontal position of the summit - `elevation_m` (numeric) - summit elevation in meters - Size: ~500-2000 skyline sample points; 10-20 labeled peaks is typical - Example: Wallis (Valais, Switzerland) panorama anchored on the Matterhorn, including Matterhorn (4478 m), Dent Blanche (4358 m), Ober Gabelhorn (4063 m), Zinalrothorn (4221 m), Weisshorn (4506 m), Dom (4545 m), Täschhorn (4491 m), Alphubel (4206 m), Allalinhorn (4027 m), Rimpfischhorn (4199 m), Strahlhorn (4190 m), Monte Rosa / Dufourspitze (4634 m), Liskamm (4527 m), Castor (4223 m), Pollux (4092 m), Breithorn (4164 m) ## Notes - Fill the area below the ridgeline with a dark solid color (photo-like silhouette, evening/dusk feel) - Optional sky-gradient background above the ridgeline (light blue → white, or dusk orange → deep blue) for a photographic mood - Annotate each peak with a thin leader line from the summit up to a label; label format is peak name on top and elevation in meters below (e.g., "Matterhorn" / "4478 m") - Stagger label vertical positions to avoid overlaps when peaks cluster; consider alternating heights or short offset columns - Y axis in meters with a sensible lower bound (e.g., 2500 m) so the ridgeline occupies the upper portion of the plot - X axis labels are optional: compass bearings (e.g., W, SW, S) or simply hidden — the panorama shape is the primary visual - Equal aspect or slight vertical exaggeration is acceptable; prefer a wide aspect ratio (landscape) to feel panoramic - The Matterhorn (or whichever anchor summit the data emphasizes) should read as visually prominent — it is the focal point of the composition --- **Next:** Add `approved` label to the issue to merge this PR. --- :robot: *[spec-create workflow](https://github.com/MarkusNeusinger/anyplot/actions/runs/24913057174)* Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent df33566 commit 60c6fd0

4 files changed

Lines changed: 65 additions & 0 deletions

File tree

plots/area-mountain-panorama/implementations/python/.gitkeep

Whitespace-only changes.

plots/area-mountain-panorama/metadata/python/.gitkeep

Whitespace-only changes.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# area-mountain-panorama: Mountain Panorama Profile with Labeled Peaks
2+
3+
## Description
4+
5+
A panoramic mountain silhouette chart that renders the horizon as seen from a fixed vantage point, like a photograph of a ridgeline against the sky. A filled area under the skyline curve traces the ridgeline across a horizontal viewing range (in degrees of bearing or horizontal distance), and major summits are annotated with their name and elevation. Unlike an elevation-profile-along-a-trail, this plot is the angular view of the surrounding peaks from a single observer, making it ideal for summit-identification infographics, alpine panoramas, and travel guides.
6+
7+
## Applications
8+
9+
- Tourism and alpine-guide infographics: labeled summit panoramas from viewpoints, huts, or gondola stations (e.g., the classic Zermatt / Gornergrat view of the Matterhorn and surrounding 4000-m Wallis peaks)
10+
- Mountaineering route planning: identifying summits visible from a given vantage point and orienting by bearing
11+
- Geography and earth-science education: introducing real topography and ridgeline structure to students
12+
- Travel blogs, hiking magazines, and ski-resort marketing: stylized horizon illustrations with named peaks
13+
- Cross-section communication: visualizing the ridgeline profile along a travel path or compass sweep
14+
15+
## Data
16+
17+
- `angle_deg` (numeric) - horizontal viewing angle in degrees (compass bearing) or horizontal distance along the panorama
18+
- `elevation_m` (numeric) - skyline elevation in meters at each angle sample
19+
- `peaks` (list of objects) - summits to annotate, each with:
20+
- `name` (string) - peak name (e.g., "Matterhorn")
21+
- `angle_deg` (numeric) - horizontal position of the summit
22+
- `elevation_m` (numeric) - summit elevation in meters
23+
- Size: ~500-2000 skyline sample points; 10-20 labeled peaks is typical
24+
- Example: Wallis (Valais, Switzerland) panorama anchored on the Matterhorn, including Matterhorn (4478 m), Dent Blanche (4358 m), Ober Gabelhorn (4063 m), Zinalrothorn (4221 m), Weisshorn (4506 m), Dom (4545 m), Täschhorn (4491 m), Alphubel (4206 m), Allalinhorn (4027 m), Rimpfischhorn (4199 m), Strahlhorn (4190 m), Monte Rosa / Dufourspitze (4634 m), Liskamm (4527 m), Castor (4223 m), Pollux (4092 m), Breithorn (4164 m)
25+
26+
## Notes
27+
28+
- Fill the area below the ridgeline with a dark solid color (photo-like silhouette, evening/dusk feel)
29+
- Optional sky-gradient background above the ridgeline (light blue → white, or dusk orange → deep blue) for a photographic mood
30+
- Annotate each peak with a thin leader line from the summit up to a label; label format is peak name on top and elevation in meters below (e.g., "Matterhorn" / "4478 m")
31+
- Stagger label vertical positions to avoid overlaps when peaks cluster; consider alternating heights or short offset columns
32+
- Y axis in meters with a sensible lower bound (e.g., 2500 m) so the ridgeline occupies the upper portion of the plot
33+
- X axis labels are optional: compass bearings (e.g., W, SW, S) or simply hidden — the panorama shape is the primary visual
34+
- Equal aspect or slight vertical exaggeration is acceptable; prefer a wide aspect ratio (landscape) to feel panoramic
35+
- The Matterhorn (or whichever anchor summit the data emphasizes) should read as visually prominent — it is the focal point of the composition
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Specification-level metadata for area-mountain-panorama
2+
# Auto-synced to PostgreSQL on push to main
3+
4+
spec_id: area-mountain-panorama
5+
title: Mountain Panorama Profile with Labeled Peaks
6+
7+
# Specification tracking
8+
created: 2026-04-24T21:39:00Z
9+
updated: 2026-04-24T21:39:00Z
10+
issue: 5365
11+
suggested: MarkusNeusinger
12+
13+
# Classification tags (applies to all library implementations)
14+
# See docs/reference/tagging-system.md for detailed guidelines
15+
tags:
16+
plot_type:
17+
- area
18+
- line
19+
data_type:
20+
- numeric
21+
- continuous
22+
- spatial
23+
domain:
24+
- general
25+
- science
26+
- education
27+
features:
28+
- annotated
29+
- silhouette
30+
- geospatial

0 commit comments

Comments
 (0)