Deadwood-ai / deadwood-api

Main FastAPI application for the deadwood backend
GNU General Public License v3.0
0 stars 0 forks source link

Replacing OSM / overpass with something more reliable. #92

Open JesJehle opened 2 days ago

JesJehle commented 2 days ago

with the overpass api / OSM data, we have several issues:

This is a problem, particularly if we are planing to name the files based on admin levels as discusses in #56 To fix this, I think we have several options:

I would vote for OpenCageData since it's super simple to implement, and I think 2500 requests per day is more than enough for our purposes. Also, this needs to be implemented on the storage server, so using as little resources as possible is best.

@cmosig @mmaelicke what do you think?

cmosig commented 2 days ago

using GADM: is quite heavy, but free and scalable

How difficult would it be to build a service that keeps the 2.5GB table in memory?

Claude suggests this: looks simple, but yet another thing to maintain for you. image

OpenCageData

This seems to make a lot of sense. But the free-tier is technically only for testing. I hope this does not backfire and we get licensing issues. From their website: image

JesJehle commented 2 days ago

hmm, yes this is valid.

mmaelicke commented 2 days ago

Hi,

just as a quick note: 2.5GB in memory is nothing we should do on the storage-server. However, I am not sure, why this should be necessary. I am not familiar with GADM in depth, but if it comes as sqlite, we can have a sqlite database on the storage-server and simply query it. Its size does not really matter (only the index needs to fit into memory to be fast).

I don't know OpenCageData, but in the setting we have, I would prefer the local solution, as it is less error prone.

mmaelicke commented 2 days ago

and as another note: We specifically chose the levels in a way that the coarser one is always available and at least one of the others. So can you confirm, that some labels we thought should always be there are missing?

For the translation: Most labels come in a localization flavor. I guess a labelname:en should be available for this stuff. However, I am not sure how complicated it is, to debug that stuff