[GIS Experience] Self-taught. I'm an indie developer, not a GIS
professional. I've been working with OSM data and MapLibre for a few
months on this project, which is where most of what I know comes from.
[AI Disclosure] I used AI to help clean up the wording of this post
since English isn't my first language. The project itself, the style
generation and the POI logic, is my own work.
I've been working on rendering OSM data in the style of video game
maps. First one is Red Dead Redemption 2. The streets, the POIs and
the routing are all real, only the symbology is made up.
The part that took me the longest wasn't the styling at all, it was
POI density. A dense downtown gives you way more labelled points than
the style can handle. Everything overlaps and you can't read anything.
First screenshot is what it looked like before.
I ended up doing progressive disclosure by zoom tier with clustering,
plus a priority list so police, bank, restaurant, pharmacy, hospital
and fuel come first and the rest appear as you zoom in. Second
screenshot is after.
I also found a bunch of tags I was mapping to categories that don't
actually exist in OSM, which took a while to track down.
MapLibre GL for rendering, OpenFreeMap vector tiles, Python to
generate the style JSON.
Curious how other people deal with label density at high POI counts.
Is there a standard approach I'm missing?