Replying to Avatar Schlaus Kwab

Here is my weekend and evening project that polished up over the Christmas holidays: https://earthly.city 🌍

source: https://github.com/zeSchlausKwab/earthly

By combining PMTiles with Blossom servers, i am working on a way to host map archives on your own infrastructure that can be discovered by Earthly.

https://cdn.satellite.earth/5c16b2315a6c201eeae5c99b25413e020306a01dc72f58c78436873015246151.webm

No central tile server, just 32 files on a Blossom server 🌸 and an intent on #Nostr.

- Decentralized: You host the data.

- Discoverable: Announce a map layer event, and anyone can use it.

- Composable: Combine map types and sources into unified views.

Under the hood, we map single-digit geohashes to specific PMTiles archives. Earthly delegates range requests to the associated Blossom file, ensuring efficient data fetching for the region you're viewing.

https://cdn.satellite.earth/c233681cfd0a0b60bd10a45df806729e408624c4c4dbab6f5896050a8b3b8a9a.webm

Want to verify the data?

`nak req -k 15000 relay.wavefunc.live | jq .content`

(Note: User-friendly tools to generate these announcements are coming soon!)

These announcements can also be used as a composition vehicle for different map types, styles and sources enabling us to have resilient base maps.

https://cdn.satellite.earth/7845943e3658386d4e01a0d984cadfc0476c17a35dad7175694239587a4fe35d.webm

Nice. What’s the underlying technology for the map? FYI @Nathan Day

Reply to this note

Please Login to reply.

Discussion

One source is maplibre-gl consuming OpenFreeMap, with millions of tiles on one server backed by cloudflare. The other one is 32 .pmtiles files hosted on my blossom server also consumed maplibre-gl but with my tile delegation plugin. The announcement and reading of the mappings is via nostr.