komoot / photon

an open source geocoder for openstreetmap data
Apache License 2.0
1.92k stars 281 forks source link

Default location_scale_bias badly tuned #600

Open gonsolo opened 3 years ago

gonsolo commented 3 years ago

I tried to search for two Bavarian cities and photon doesn't find them (Ingolstadt, Rosenheim). It works on komoot.de but doesn"t at https://photon.komoot.io. See the attached pictures.

ingolstadt_komoot ingolstadt_photon

I found this problem with Gnome Maps: https://gitlab.gnome.org/GNOME/gnome-maps/-/issues/172

lonvia commented 3 years ago

Looks like we need to tweak the default location bias scale some more. Search without location bias works fine: https://photon.komoot.io/api/?q=ingolstadt

Even a mild increase of location_scale_bias works wonders: https://photon.komoot.io/api/?q=ingolstadt&limit=5&lat=52.387963405382365&lon=13.058280944824219&debug=1&location_bias_scale=0.21

The search on the commercial Komoot website is unrelated.

karussell commented 2 years ago

Another example are the tests in our converter:

https://photon.komoot.io/api/?q=beer&lat=48.774675&lon=9.172136&location_bias_scale=0.1

with bias = 0.1 the result is fine like Beerstraße or Immer.Beer.Herzen pub or Beeren-Brodbeck.

But when I increase the location bias I was expecting to get a result closer to the specified coordinate but the opposite happens:

https://photon.komoot.io/api/?q=beer&lat=48.774675&lon=9.172136&location_bias_scale=0.5

Update: Ah, wait. The documentation is:

Sensible values go from 0.0 (ignore prominence almost completely) to 1.0 (prominence has approximately the same influence). The default is 0.2.

Does this mean that the results are closer to the specified coordinates if the location bias is smaller? (this seems a bit counter intuitive to me)

lonvia commented 2 years ago

Yeah, it might have been better to switch that around. The given weight is applied to the importance. Too late to change now.

karussell commented 2 years ago

What if we deprecate this parameter and introduce a new one like location_bias with the more intuitive meaning?