flux.vision/web/content/blog/dopecarpet.md

16 lines
1.4 KiB
Markdown
Raw Normal View History

2025-12-20 22:28:48 +02:00
Title: Dopecarpet & Rugreefer
Date: 2025-03-05 23:00
2025-12-22 00:21:22 +02:00
Category: software
2025-12-20 22:28:48 +02:00
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]({filename}../blog/randonautica.md) 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](https://codeberg.org/randogoth/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](https://codeberg.org/randogoth/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.
## Repositories
2025-12-22 00:21:22 +02:00
* <i class="nf nf-linux-codeberg"></i> [Dopecarpet](https://codeberg.org/randogoth/dopecarpet)
* <i class="nf nf-linux-codeberg"></i> [Rugreefer](https://codeberg.org/randogoth/rugreefer)