Generate minimalist desktop wallpapers from topographic contour lines (isohypses) and hillshaded relief.
Find a file
2026-02-03 23:30:18 +01:00
docs fixed checklist 2026-01-23 22:42:23 +01:00
src/isohypseswallpaper added themes 2026-01-21 22:45:43 +01:00
tests updated test from Pillow architecture to matplotlib 2026-02-03 23:30:18 +01:00
.gitignore added exmaple output to repo 2026-01-18 22:52:54 +01:00
example_output.png added exmaple output to repo 2026-01-18 22:52:54 +01:00
LICENSE Initial commit 2026-01-16 11:27:57 +01:00
poetry.lock completed mvp 2026-01-16 23:25:11 +01:00
pyproject.toml Bump version to 0.2.0 2026-01-18 23:05:25 +01:00
README.md embbedded exmaple output in readme 2026-01-18 22:54:51 +01:00

Isohypses Wallpaper

Generate minimalist desktop wallpapers from topographic contour lines (isohypses) and hillshaded relief.

The tool fetches SRTM elevation data for a user-defined geographic area and produces a high-resolution image suitable for desktop backgrounds, with customizable colors and contour spacing.


Features

  • Generate wallpapers from real-world terrain
  • Hillshade relief on a uniform background color
  • Optional contour (isohypse) lines
  • Configurable via command line
  • Uses free SRTM elevation data
  • Suitable for widescreen and high-resolution displays

Example Output

  • Uniform background color
  • Subtle hillshade for depth
  • Clean contour lines for structure

alt text


How it works

  1. Converts zoom level and latitude to meters-per-pixel using Web Mercator rules
  2. Computes a geographic bounding box matching the requested screen size
  3. Downloads and clips SRTM elevation data
  4. Resamples DEM to match output resolution
  5. Computes hillshade
  6. Applies hillshade to a uniform background color
  7. Saves the final image

Documentation


Data Sources

  • Elevation data: NASA SRTM (~30m spatial resolution) via elevation library

License

GNU General Public License (see LICENSE file).


Acknowledgements

  • NASA / USGS for SRTM data
  • GDAL and rasterio projects
  • matplotlib and scipy communities