16 lines
1.3 KiB
Markdown
16 lines
1.3 KiB
Markdown
|
|
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]({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
|
||
|
|
|
||
|
|
* [Dopecarpet](https://codeberg.org/randogoth/dopecarpet)
|
||
|
|
* [Rugreefer](https://codeberg.org/randogoth/rugreefer)
|