Hexmap: Week 0x19
So, I want to know what “administative” regions each hex belongs to, so I can give them default names and eventually offer area completion stats.
WHen you research “where is this point” you will find that the common usecase of reverse geocoding is to find the nearest POI so geocordinates can be turned into postal addresses. are the big open source players in geocoding, and there are countless API services. Very few of these even recognize that I might want a random location in a boring area to be labeled as such, but Geocode Earth has a nice explainer that introduced me to the term coarse reverse geocoding, and BigDataCloud also uses point-in-polygon lookups.
So I needed coarse point-in-polygon lookups, and spent a couple days prototyping with various APIs that offer this. Most of the hosted options are meant for heavier tasks and have pricing to match so I cannot afford them at scale. Self-hosting Pelias (which Geocode Earth is based on) or Nominatim (perhaps as part of Photon) would be sensible, but prototyping with these I quickly ended up in devops/sysadmin land that smells like a brittle future for my one-person side project.
Also the polygons themselves might be from OSM, Natural Earth, GeoNames, or Who’s On First. OpenStreetMap is an obvious choice, as I also want to host my own map tiles for vector rendering and there is effectively no other viable source for map data. It would keep things tidy to use a single source for map data and one workflow to update it.
But, OSM’s administrative boundaries are messy. They overlap, the heirarchies vary by region, etc. For my purposes, the relatively simple taxonomy of Who’s On First placetypes is preferable. Plus, I have a soft spot for WOF as I took part in early discussions about how it might track historic changes. (WOF really stands out as a history-aware gazetteer, though I don’t care about that for Hexmap.)
I posted this in June 2025 during week 2677.
For more, you should follow me on Bluesky.