3 ms·
Show HN: Libgd-GIS – Render maps and GIS data directly in Ruby (GeoJSON → Image)
Hi HN
I’ve been building libgd-gis, a pure-Ruby GIS rendering engine on top of the GD graphics library.
The goal is simple: generate maps, tiles, and geospatial visualizations directly from Ruby — without external services, native GIS stacks, or heavyweight dependencies.
What it does
• Render GeoJSON layers to PNG
• Draw markers, paths, polygons, labels
• Generate map tiles server-side
• Support animated GIF output
• YAML-based styling system
• No browser or JS required
Why I built it
Ruby has strong web tooling but very limited options for high-performance image generation and GIS rendering. Existing tools are often slow, unmaintained, or depend on external processes.
This project aims to provide:
deterministic server-side rendering
lightweight deployment
full control over output
suitability for APIs, reports, or offline generation
Example use cases
• Static map generation for APIs
• Logistics / tracking dashboards
• Reports and PDFs
• IoT / telemetry visualization
• Educational tools
• Lightweight tile servers
Tech stack
Ruby C extension bindings to libgd (via ruby-libgd)
GeoJSON ingestion
Coordinate projection handling
Raster rendering pipeline
Links
GitHub: https://github.com/ggerman/libgd-gis https://github.com/ggerman/libgd-gis
RubyGems: https://rubygems.org/gems/libgd-gis https://rubygems.org/gems/libgd-gis