Libgd-GIS – Render maps and GIS data directly in Ruby (GeoJSON → Image)
https://ggerman.github.io/libgd-gis/
Hi fellow Rubyists,
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
- RubyGems: https://rubygems.org/gems/libgd-gis
Post a comment