PeakNav

From OpenStreetMap Wiki
Jump to navigation Jump to search
View on OSM Apps Catalog  
PeakNav
v · d 
Author: Francesco Bonazzi
License: GNU GPL (free of charge)
Platforms: Android, Windows, macOS, and Linux
Status: Active
Version: 1.2.0 (2026-08-05)
Languages:
English, German, Italian, French, Spanish, Portuguese, and Norwegian
Website: https://peaknav.com
Install:
Source code: Upabjojr/PeakNavApp GitHub
Programming language: Java

3D mountain viewer for offline usage.

Keywords: 3D, hiking, outdoor, map viewer, OSM viewer, OpenStreetMap.

Features
Feature Value
Map Display
Display map yes
Map data raster;vector
Source cache;offline
Rotate map yes
3D view yes
Shows website
?
Shows phone number no
Shows operation hours no
Routing
Routing no
Create route manually no
Calculate route
?
Create route via Waypoints
?
Routing profiles
?
Turn restrictions
?
Calculate route without Internet (Offline routing)
?
Routing providers
?
Avoid traffic
?
Traffic Provider
?
Navigating
Navigate no
Find location yes
Find nearby POIs yes
Navigate to point yes
Navigation with voice / Voice guidance no
Keep on road no
Lane guidance no
Works without GPS yes
Navigate along predefined route no
Tracking
?
Monitoring
?
Editing
?
Rendering
?
Accessibility
?
Identification of peak names over a picture with PeakNav app.

PeakNav is an open source app, currently supporting Android and desktop computers running Windows, macOS or Linux, to view the world mountains in 3D and display OpenStreetMap data on top of the 3D view, as well as satellite imagery.

The focus of PeakNav is to allow users to download all local data on their devices, so that the app can be used while hiking even without internet connection.

PeakNav allows peak identification and projects ways and paths on top of the mountains, easing the exploration of routes with full 3D view of the surrounding area.

Features

  • Peak identification — named summits from natural=peak are labelled in the 3D view, including over a photograph taken with the device camera.
  • Offline by design — map and elevation data are downloaded per region and stored on the device; no connection is needed once an area has been fetched.
  • OpenStreetMap overlay — ways, paths and place names are draped onto the terrain, so a route can be followed against the shape of the landscape.
  • Satellite imagery — OpenStreetMap data can be overlaid on NASA/USGS imagery instead of the plain shaded relief.
  • Area labels — named areas such as islands, cities, regions and mountain ranges are labelled in the 3D view, appearing at a distance proportional to their size and relevance.
  • GPX tracks and tours — recorded tracks can be loaded and drawn over the terrain, and the camera can fly along a track as a cinematic tour.
  • Orbiting — the camera can orbit around any pinned point, circling a summit or a valley to view it from all sides.
  • Sky — day and night sky rendering with named stars, the sun and the moon (including eclipses), a celestial grid and the ecliptic.
  • Photo positioning — coordinates are read from a JPEG's Exif data, so an existing photo can set the viewpoint.
  • Search — offline search over GeoNames place names, with no query leaving the device.
  • Sensors — compass and gyroscope orient the view to match where the device is pointing.

Installation

  • AndroidGoogle Play, or the .apk on Wikipedia attached to the GitHub releases for installation without an app store.
  • Windows, macOS and LinuxGitHub releases. Each download is self-contained and bundles its own Java runtime, so no separate JVM installation is required: an installer for Windows, a .dmg on Wikipedia for macOS (Intel and Apple silicon), and a .deb on Wikipedia package plus an AppImage on Wikipedia for Linux.
  • Pythonpip install peaknav from PyPI; see below.

Python package

The peaknav Python package exposes PeakNav's data and rendering to scripts and notebooks:

  • Elevation queriespeaknav.terrain returns the elevation of any coordinate on Earth in pure Python, reading the same compressed elevation dataset the app renders (with summit heights corrected against surveyed values); tiles are downloaded per area and cached locally.
  • Headless renderingpeaknav.headless drives the real PeakNav renderer off-screen through a REST API: camera control, view options and rendered frames, usable for scripted snapshots, panoramas and videos of the terrain.
  • Jupyter widget (experimental)peaknav.jupyter provides an interactive 3D view inside a Jupyter on Wikipedia notebook, with pan/tilt controls, altitude and display toggles, driven entirely over the renderer's REST API (pip install peaknav[jupyter]).

Datasets

PeakNav relies on two datasets, specifically compressed and optimized for devices with low computational power (such as mobile phones), currently hosted on HuggingFace:

Both are cut into slippy map tiles, so only the tiles covering the area of interest are transferred and stored. The elevation dataset can also be read directly from Python through the peaknav package described above.

See also

External links