On Thu, Jun 15, 2023 at 09:38:44AM -0700, Minh Nguyen wrote:
> Vào lúc 08:29 2023-06-15, Sebastian Gürtler đã viết:
> > You only would have to change the wiki page Key:entrance and encourage
> > people to allow single nodes with the tag entrance=yes and addr:xyz
> > (like this: https://www.openstreetmap.org/node/10979019687) if it is not
> > obvious where the entrance to the property is. (What happened before for
> > the whole row of houses you still can see if you plan a route to "Am
> > Rehwinkel 19, Bielefeld" (from the point you are led to you don't see
> > any entrance nor the house due to a high hedge, and you sometimes see
> > people walking down the Voltmannstraße looking for entrances...
> > Difficult, because you would have to turn in "Am Rottmannshof" to get to
> > "Am Rehwinkel" ;-) )
> 
> I neglected to mention another common heuristic: the geocoder can
> automatically bias the address point toward the street named in addr:street
> when coming up with a navigable point. The Mapbox Geocoding API is an
> example of a geocoder that does this [1][2], though unfortunately neither
> Nominatim nor Pelias has a similar feature so far.

You need to remember that routers are only one kind of client of
Geocoders and certainly not the most important by far. While a nice
gimmick, I certainly wouldn't consider it a main task of a geocoder to
return a routeable point. The main task is to return the place/object you
were searching for. In that sense, the root of the issue is that
routers usually underspecify their search query. If the query is
'airport Frankfurt', then the airport is what the geocoder returns. One can't
expect the geocoder to determine that what you actually wanted is the
street closest to the main entrance or the parking or the main bus stop.
'parking near airport frankfurt' does yield results although we'd have
to do something about priority ordering.

> Essentially, even if the address point corresponds to a rooftop, it can
> figure out where the driveway entrance or freestanding mailbox is likely to
> be. Typically, this is pretty crude, just a matter of finding the point on
> the named street that's closest to the address point.
> 
> In your example, the entrance is on Am Rehwinkel not only because the
> address names Am Rehwinkel, but also because there's a hedge along
> Voltmannstraße. Ideally, a geocoder would compute a visibility graph to
> determine the most accessible street, blurring the lines between a geocoder
> and a router.
> 
> Then again, none of this complexity is necessary if OSM has a publicly
> accessible driveway or footpath leading right up to the building. A router
> should consider that driveway or footpath to be part of the most direct
> route.

Exactly. It would be kind of counter-productive to add all this
functionality to a geocoder. A good router has all the right
data structures to make an informed decision about the navigation start point
and also the information about mode of transport etc. A geocoder's
data structures are rather unsuitable to solve these examples.

The initial examples of Florian are quite telling in that way. The
closest road to
https://osm.zz.de/dbview/?db=addresses-nrw&layer=namemismatch#51.98796,8.57338,17z
would in fact be the service way right next to the buildings. The fault
is with the router who does not include non-accessible roads to
determine the access and thus finds the wrong road. If it would create a
full routing network that includes inaccessible service roads and footways,
it would be able to make the right decision and bring the car to the gate.

I'm not sure if there is any router around which does something even marginally
more clever than determining the closest road to the centroid. This even goes
as far as this:
https://www.openstreetmap.org/directions?engine=graphhopper_foot&route=43.28293%2C5.38709%3B43.29579%2C5.38222#map=16/43.2885/5.3889
(starting point given as: "47, Rue du Rouet, Marseille")

So there is a lot of room for improvement in the routers by just using
the information already available. Another example: the heuristic you mention
above, that the geocoder should bias the start point towards the street named
in address street, this is something that could be just as easily implemented
by routers when determining the start point. Street names are usually
available to them.

That said, I do think it would be a good idea if Nominatim could return
entrances for larger buildings or areas. That's why
https://github.com/osm-search/Nominatim/issues/536 is still open.
I would just draw the line where the geocoder needs to make any policy
decisions like deciding which is the best entrance point, as this
largely depends on the client's requirements. (It pretty much rules out
the Mapbox approach which is biased towards vehicle routing.)

Maybe a separate service that computes navigation points for an OSM
object wouldn't be such a bad idea. It might be easier to play around
with heuristics based on micro-mapping using a separate software instead
of trying to cram it into exising routers or geocoders which are optimised
for other use cases.


Sarah

_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
https://lists.openstreetmap.org/listinfo/tagging

Reply via email to