Because I don't think a lot of people know about it, I'll mention pelias here. If you have 16 GB RAM and 600 GB of disk, you can have a free, open source, pre-populated geo database that covers the entire planet. https://github.com/pelias/pelias Pelias does geocoding (turns addresses, POIs, and administrative regions into coordinates), reverse geocoding (given coordinates, finds nearby POIs, addresses, neighborhood,…
Can it be run for a subset of locations on a subset of those memory requirements? For example, just North America?
https://github.com/pelias/docker/tree/master/projects/north-...
(Building the db typically takes more resources than just running the services using the db.)