1.3 KiB
Title: Dopecarpet & Rugreefer Date: 2025-03-05 23:00 Category: code Slug: dopecarpet Summary: Geospatial metadata API to package OpenStreetMap data into geohash-based tiles and a Dart library to efficiently fetch, parse, and cache that spatial information.
Working for Randonautica I had the idea to develop an API to allow requesting geographic information about coordinates, like whether they are in or near water, within a nature reserve, residential area, or in a forest, or any other geocoded metadata.
Based on publicly available OpenStreetMap data I develpped Dopecarpet, a toolset to generate 4 digit GeoHash tile sized Parquet/GeoJSON/CBOR files from OSM PBF files. It comes with a custom tag filter and a minimal GET API to download the data in different formats.
To retrieve data from the API I also built the Dart library Rugreefer. It converts coordinates into a geohash, fetches a gzipped GeoJSON file from the API, and extracts relevant spatial data such as polygons and lines. The library also supports caching with optional expiration to improve performance.