Git Product home page Git Product logo

Comments (6)

otsaloma avatar otsaloma commented on June 8, 2024

This would be very useful. The most common case probably is simply missing turn. Especially on motorways, where exits are far between, it's not easy for the driver to improvise on his own.

The current architecture doesn't make rerouting easy -- significant changes would be needed.

When long routes are used, it should significantly simplify routing calculations if significant number of points along the previously calculated route are used in query.

This is probably too difficult for us to know which points could be used or when. It's better to just do a full reroute and accept the cost.

Imagine for example a case where the route follows a river, but the driver ends up on the wrong side. Bridges to cross the river exist, but far between. Using existing routepoints could suggest the driver make a U-turn to go back to a bridge instead of taking another bridge far ahead.

from poor-maps.

rinigus avatar rinigus commented on June 8, 2024

I agree with the river scenario - let's see how bad full recalculation is in practice.

As for the architecture: if the changes are needed, maybe it could also take into account for future extension in terms of adding voice commands.

I don't know internals of Poor Maps and never programmed QML+python combination, hence the question: do you use signals in qt5 + python? If you do, maybe adding new signal(s) to indicate that the driver is far away from the route can help?

from poor-maps.

rinigus avatar rinigus commented on June 8, 2024

Hi, I am planning to start looking into this issue in the foreseeable future. There is still some work to be done with polishing OSM Scout Server, but I think I am getting soon to the stage where I can look into some other aspects of SFOS maps and this issue is surely one of the major ones for me.

So, I wonder, when you debug navigation, do you use some kind of artificial GPS signal feed? If not, I would probably start with implementing that and link it to PositionSource.qml allowing us to debug navigation and re-routing more efficiently.

from poor-maps.

otsaloma avatar otsaloma commented on June 8, 2024

I just hook the position to the center of the map, so that panning the map moves the position too. I don't have time to test it right now, but if I remember correctly, just the below two changes.

diff --git a/qml/NarrationTimer.qml b/qml/NarrationTimer.qml
index 385cd78..ea39270 100644
--- a/qml/NarrationTimer.qml
+++ b/qml/NarrationTimer.qml
@@ -37,7 +37,7 @@ Timer {
     onTriggered: {
         // Query maneuver narrative from Python and update status.
         if (!py.ready) return;
-        var coord = map.position.coordinate;
+        var coord = map.center;
         if (coord.distanceTo(timer.coordPrev) < 10) return;
         var args = [coord.longitude, coord.latitude];
         py.call("poor.app.narrative.get_display", args, function(status) {
diff --git a/qml/PositionMarker.qml b/qml/PositionMarker.qml
index 21feb0d..da52662 100644
--- a/qml/PositionMarker.qml
+++ b/qml/PositionMarker.qml
@@ -26,7 +26,7 @@ MapQuickItem {
     id: marker
     anchorPoint.x: sourceItem.width/2
     anchorPoint.y: sourceItem.height/2
-    coordinate: map.position.coordinate
+    coordinate: map.center
     height: sourceItem.height
     visible: map.ready
     width: sourceItem.width

from poor-maps.

rinigus avatar rinigus commented on June 8, 2024

Brilliant! Thank you - I get the idea and should be able to proceed from here. Thank you very much!

from poor-maps.

otsaloma avatar otsaloma commented on June 8, 2024

Fixed via commits in PR #43.

from poor-maps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.