Skip to content

Commit 97031ff

Browse files
spec: add area-elevation-profile specification (#4603)
## New Specification: `area-elevation-profile` Related to #4578 --- ### specification.md # area-elevation-profile: Terrain Elevation Profile Along Transect ## Description A cross-sectional line plot showing ground elevation along a path or transect line, with the area below the profile filled to create a terrain silhouette. Distance along the transect is plotted on the x-axis and elevation on the y-axis. This visualization is widely used in hiking and cycling route planning, civil engineering corridor design, and geomorphology to convey terrain shape and difficulty at a glance. ## Applications - Hiking and trail planning: visualizing cumulative ascent, descent, and route difficulty along a trail - Civil engineering: evaluating elevation changes along a proposed road or railway corridor - Cycling stage profiles: showing climb categories and sprint points along a race stage (Tour de France style) - GIS and geomorphology: extracting and analyzing terrain cross-sections from digital elevation models (DEMs) ## Data - `distance` (numeric) - cumulative horizontal distance along the transect in km or miles - `elevation` (numeric) - ground elevation at each sample point in meters or feet - `landmark_name` (string, optional) - name of notable feature at that point (e.g., summit, pass, town) - `landmark_distance` (numeric, optional) - distance value where the landmark is located - `landmark_elevation` (numeric, optional) - elevation value where the landmark is located - Size: 50-500 sample points along the transect - Example: a 120 km hiking trail with elevation sampled every 250 m, featuring 6-8 labeled landmarks (summits, passes, huts) ## Notes - The area below the profile line should be filled with a solid or gradient fill to create the terrain silhouette effect - Label start and end points with location names and elevations - Annotate key landmarks (summits, passes, river crossings) with vertical marker lines and text labels - Use a vertical exaggeration factor (e.g., 10x) and note it on the plot to make terrain features visible - Optional: apply gradient coloring to the profile line or fill based on slope steepness (green for flat, red for steep) - The x-axis should show distance units, y-axis should show elevation units with appropriate tick spacing --- **Next:** Add `approved` label to the issue to merge this PR. --- :robot: *[spec-create workflow](https://github.com/MarkusNeusinger/pyplots/actions/runs/22779528587)* Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 9942e3a commit 97031ff

2 files changed

Lines changed: 61 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# area-elevation-profile: Terrain Elevation Profile Along Transect
2+
3+
## Description
4+
5+
A cross-sectional line plot showing ground elevation along a path or transect line, with the area below the profile filled to create a terrain silhouette. Distance along the transect is plotted on the x-axis and elevation on the y-axis. This visualization is widely used in hiking and cycling route planning, civil engineering corridor design, and geomorphology to convey terrain shape and difficulty at a glance.
6+
7+
## Applications
8+
9+
- Hiking and trail planning: visualizing cumulative ascent, descent, and route difficulty along a trail
10+
- Civil engineering: evaluating elevation changes along a proposed road or railway corridor
11+
- Cycling stage profiles: showing climb categories and sprint points along a race stage (Tour de France style)
12+
- GIS and geomorphology: extracting and analyzing terrain cross-sections from digital elevation models (DEMs)
13+
14+
## Data
15+
16+
- `distance` (numeric) - cumulative horizontal distance along the transect in km or miles
17+
- `elevation` (numeric) - ground elevation at each sample point in meters or feet
18+
- `landmark_name` (string, optional) - name of notable feature at that point (e.g., summit, pass, town)
19+
- `landmark_distance` (numeric, optional) - distance value where the landmark is located
20+
- `landmark_elevation` (numeric, optional) - elevation value where the landmark is located
21+
- Size: 50-500 sample points along the transect
22+
- Example: a 120 km hiking trail with elevation sampled every 250 m, featuring 6-8 labeled landmarks (summits, passes, huts)
23+
24+
## Notes
25+
26+
- The area below the profile line should be filled with a solid or gradient fill to create the terrain silhouette effect
27+
- Label start and end points with location names and elevations
28+
- Annotate key landmarks (summits, passes, river crossings) with vertical marker lines and text labels
29+
- Use a vertical exaggeration factor (e.g., 10x) and note it on the plot to make terrain features visible
30+
- Optional: apply gradient coloring to the profile line or fill based on slope steepness (green for flat, red for steep)
31+
- The x-axis should show distance units, y-axis should show elevation units with appropriate tick spacing
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Specification-level metadata for area-elevation-profile
2+
# Auto-synced to PostgreSQL on push to main
3+
4+
spec_id: area-elevation-profile
5+
title: Terrain Elevation Profile Along Transect
6+
7+
# Specification tracking
8+
created: "2026-03-06T19:53:43Z"
9+
updated: null
10+
issue: 4578
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+
- science
25+
- engineering
26+
- environment
27+
features:
28+
- annotated
29+
- color-mapped
30+
- comparison

0 commit comments

Comments
 (0)