osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.64k stars 1.01k forks source link

Smarter selection of end route point with buildings #7520

Open stalker314314 opened 5 years ago

stalker314314 commented 5 years ago

When user searches for destination and destination is building, OsmAnd could be "smarter" in selecting end destination (instead of it being centroid of building=yes way). From OsmAnd telegram group, brainstormed ideas were:

stalker314314 commented 5 years ago

Here is one very nice example. In this changeset, this building ("Јурија Гагарина 181") got moved 2m to the east and routing changed. Here is routing screenshots BEFORE building is moved.

I took screenshot and tried to measure it (well, with pixels, don't judge:D) and it was definitively just a bit closer to the left street (136px to 138px, as per image). Now that building is moved, OsmAnd is routing on right street, no matter if you choose node or way. Ideally, OsmAnd should route to entrance node, no matter if user choose way or node (as per original idea).

slika

I am writing this as a reference, to aid in debugging. Feel free to revert that changeset or change location of that building a bit, for testing purpose, as I think this is very nice example.

sp31415t1 commented 5 years ago

Hi, I would like to add another example to that request. I used car navigation to reach that building : https://www.openstreetmap.org/way/387580288 The building has a main entrance : https://www.openstreetmap.org/node/4104960371 The car navigation proposed me to reach the building by stopping on the highway behind the building (a bit dangerous). The car navigation to the main entrance address is using the rue Alain Colas to reach the destination. Regards Serge

ivnvitx commented 4 years ago

I believe this issue is quite important.

As this comment said, it can be quite risky to point to the closest road to the area without any other reference, and these references exist.

In my opinion, it should always point to the main entrance and you can figure the rest by yourself. At least, this should be default behaviour.

So I would literally program that for the next release. MAPS.ME actually takes you to the main entrance. Google Maps does not. Let's murder it with this quick fix.

Then, if you want to get fancy, you could do something like... when the user decides on the destination, you can then ask the user if they want to go to the parking entrance, main entrance, or whatever.

tommycrock commented 3 years ago

This is also mentioned in #7340

Here is another example, navigating to https://www.openstreetmap.org/way/140968287 Screenshot_20210429-124921_OsmAnd+

This building has one entrance=yes. The place it takes me to is several minutes walk away from the entrance. Another fall-back position in this case could be using addr:street and finding the closest position on that street.

This seems very important for an app focused on navigation!

blackboxlogic commented 3 years ago

"using addr:street and finding the closest position on that street"

Would have the effect of not sending you up a service road.

tommycrock commented 3 years ago

"using addr:street and finding the closest position on that street"

Would have the effect of not sending you up a service road.

In this case yes, it would take you as far as the service road and let you figure out the rest. This would be far better than taking you to the back of the building with a long way round to the front. I'm only suggesting that approach in the absence of marked entrances, which I think should be the first thing osmand tries to navigate to. Some variant of the parking idea sounds nice to have as an option but I can see it's complicated, the main entrance or only entrance seems relatively straightforward.

Neuwessi11 commented 3 years ago

I want to support everyone who thinks this is a very important topic. I could now add two other examples where OsmAnd wants me to stop on an expressway. That is no good behaviour of an app that wants to be a good navigation app!

In one case it is because it is the closest street to an supermarket without tagged address, but WITH tagged entrance. The other case the more annoying. A building with tagged address, nearby two streets: the street with the same name as in the tagged address, and an unnamed expressway. OsmAnd sends me to the expressway.

I am sorry to use such hard words, but in my opinion this is almost a no-go! And should be fixed with the nearest update!

The routed address is Nygårdsvägen 23:

Screenshot_20210802-132301-1

sonora commented 3 years ago

Related: #1633.

kevinp2 commented 3 years ago

Another vote for making a simple change:

  1. If the building or area has a single entrance node (tag entrance), then route to that node.
  2. If the building or area has multiple entrance nodes, then route to the node that has tag entrance=main

I am encountering this problem with this Natural Grocers grocery store: https://www.openstreetmap.org/way/623960121

If I route to just the store, OSMAnd routes to its centroid which results in stopping on a busy street without parking.

So I created an entrance node: https://www.openstreetmap.org/node/9025403971

image

The entrance node is actually displayed by OSMAnd and if I select it and route to it, I stop in the parking lot which is far more desirable.

This will be a big plus and a big win for many cases:

Zero3 commented 3 years ago

Relevant / duplicate issue: https://github.com/osmandapp/OsmAnd/issues/5395

kevinp2 commented 2 years ago

I submitted my proposal as a new Feature Request:

Navigate to main entrance of building or area if available #13431

dlichtistw commented 2 years ago

Got sent here from reddit/r/osmand.

The entrance-approach will definitely improve the situation. But any minimal-distance approach may fail, as long as the routing ends at some non-zero distance of the actual destination. I suggest doing a pedestrian routing to determine the best car-reachable destination for the main routing.

This does not need entrance nodes, as long as some way has a common node with the destination. But if there are entrances, they could be used to choose the best end point.

pnoll1 commented 2 years ago

Here's another example of poor routing. Route to https://www.openstreetmap.org/way/53332180 which is what comes up when you search for winco. The route tries to get you to go around and jump a median, even when in the parking lot. image

Here's what OSRM generates: image

toas-koas commented 2 years ago

OsmAnd navigates here to the wrong building page

Screenshot_20220306-110310

The entrance is to the west of the building. Screenshot_20220306-110412

Now I could of course navigate to the entrance. But I would like to navigate to POIs. At this point it is the Christus Zentrum Augsburg. Is this solvable at all?

Christus Zentrum Augsburg Eberlestraße Standort: geo:48.36695,10.87302?z=17 https://osmand.net/go?lat=48.36695&lon=10.87302&z=17

blackboxlogic commented 2 years ago

It's been a while without any visible progress on this issue. It seems like some of the solutions could be high value and medium effort. Is there anything the community can do to help?

I've encountered this issue with large buildings, large parks and beaches. Allowing a mapper to specify the arrival location by a single entrance=yes/main seems to me like a clear and simple improvement.

kevinp2 commented 2 years ago

OSMAnd already displays the entrance nodes on the map. So the router just needs to pick the entrance node if it exists and use it as the destination instead of the centroid.

I am a software developer and could try my hand at a patch request if someone can provide some guidance through the code base.