RustMaps is a fast offline map tile renderer with a dark theme, designed to generate maps for weather and radar applications. It renders Natural Earth vector geodata into 256x256 PNG tiles using the Web Mercator (EPSG:3857) projection.
Key Features:
Dark-theme cartography with coastlines, land, lakes, rivers, borders, and city labels.
Multi-resolution support: 110m, 50m, and 10m Natural Earth datasets selected by zoom level.
Anti-aliased line rendering with variable-width strokes for clarity.
Interactive GUI with pan, zoom, and tile export functionality.
Command-line interface (CLI) for batch tile generation.
Audience & Benefit:
Ideal for developers creating weather or radar applications who need customizable, offline maps. RustMaps provides efficient, scalable map rendering without reliance on external mapping services, enabling seamless integration into custom projects. It can be installed via winget.
README
rustmaps
Fast offline map tile renderer with a dark theme, designed for weather and radar application backgrounds. Renders Natural Earth vector geodata into 256x256 PNG tiles using the Web Mercator (EPSG:3857) projection.
Features
Dark-theme cartography: coastlines, land, lakes, rivers, country/state borders, city labels
Multi-resolution: 110m/50m/10m Natural Earth datasets selected by zoom level
Anti-aliased line rendering with variable-width strokes
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2. Download Natural Earth Shapefiles
Download the following datasets from naturalearthdata.com and place all .shp, .shx, .dbf, .prj, and .cpg files into a data/ folder next to the executable (or in the repo root for development):
use std::path::Path;
fn main() {
let renderer = rustmaps::load_renderer(Path::new("data"))
.expect("Failed to load geodata");
// Render a single tile (z/x/y)
let pixels = renderer.render_tile(5, 8, 12);
let rgba = pixels.to_rgba(); // [u8; 256*256*4]
// Or render directly to PNG bytes
let png_bytes = renderer.render_tile_png(5, 8, 12);
std::fs::write("tile.png", &png_bytes).unwrap();
}
Downloads
Pre-built binaries for Windows, macOS (Intel + Apple Silicon), and Linux are available on the Releases page.
macOS users: If Gatekeeper shows a "damaged app" warning, run: