Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attach to road fails with some gpx files #19689

Closed
K-Krs opened this issue Apr 28, 2024 · 6 comments
Closed

Attach to road fails with some gpx files #19689

K-Krs opened this issue Apr 28, 2024 · 6 comments

Comments

@K-Krs
Copy link

K-Krs commented Apr 28, 2024

Description

The attacht to road feature fails and returns no route with some gpx files. The error shows "calculated route is empty"
I have attached two gpx files:
1: door-het-dal-van-de-mussel-aa. This gpx file, osmand is unable to calculated a route (attached to road)
2: 2024-04-28_1539462055_Door het dal van de Mussel Aa. This the same route. Only this one is derrived from Komoot. So I have first downloaded gpx 1 into Komoot and generated the gpx by Komoot. With this gpx file, Osmand has no problem to calculate the route with the 'attach to road' feature.

Steps to reproduce

step 1: import the GPX file (my places)
step 2: start navigation
Step 3: settings
step 4: follow the track
step 5: choose gpx
step 6: choose attach to road
step 7: Continue
step 8: pedestrian
step 9: ok
error "Calculated route is empty"

Actual result

Osmand is unable to snap the gpx to the roads. As workaround, you have to use the GPX route as an overlay navigation in stead of using the route calculated by Osmand using known paths. To navigate along the gpx without 'attach to road' works flawless. This is not preferable as no voice support to follow certain streets and every bend in the route is mentioned.

Expected result

a route calculated bij Osmand, using known paths

GPX.zip

Your Environment (required)

WARNING Crash-Logs MAY contain information you deem sensitive.
Review this CAREFULLY before posting your issue!

OsmAnd Version: 4.7
Android/iOS version: 14
Device model: Samsung A52 5G
Crash-Logs: not applicable


@vshcherb
Copy link
Member

I'm afraid you didn't attach the files, please do it again.

@cricri-du-lauragais
Copy link

for every gpx I try in my osmand + version, I get a crash

Version OsmAnd 4.7.11
29.04.2024 11:53:08
Apk Version : 4.7.11 4711
Exception occurred in thread Thread[main,5,main] :
java.lang.NullPointerException: Parameter specified as non-null is null: method net.osmand.plus.track.Track3DStyle., parameter visualizationType
at net.osmand.plus.track.Track3DStyle.(Unknown Source:3)
at net.osmand.plus.views.Renderable$RenderableSegment.drawGeometry(Renderable.java:221)
at net.osmand.plus.measurementtool.MeasurementToolLayer.drawSegmentLines(MeasurementToolLayer.java:536)
at net.osmand.plus.measurementtool.MeasurementToolLayer.onPrepareBufferImage(MeasurementToolLayer.java:364)
at net.osmand.plus.views.OsmandMapTileView.drawOverMap(OsmandMapTileView.java:1154)
at net.osmand.plus.views.OsmAndMapLayersView.onDraw(OsmAndMapLayersView.java:84)
at android.view.View.draw(View.java:25148)
at android.view.View.updateDisplayListIfDirty(View.java:24007)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4760)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4732)
at android.view.View.updateDisplayListIfDirty(View.java:23953)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:764)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:770)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:868)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:5945)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5614)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4734)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3239)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11197)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1650)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1659)
at android.view.Choreographer.doCallbacks(Choreographer.java:1129)
at android.view.Choreographer.doFrame(Choreographer.java:1055)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1622)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8893)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

@cricri-du-lauragais
Copy link

4.7.10 from f-droid work fine

@cricri-du-lauragais
Copy link

nighlty from this night work under my windows 11

@vshcherb
Copy link
Member

Crash is fixed

@yuriiurshuliak
Copy link

The bug was not reproduced. I attempted to replicate it using the GPX file "door-het-dal-van-de-mussel-aa". After importing the track, calculating the navigation, and attaching it to the road, the route was correctly calculated without any errors.

OsmAnd~ 4.8.0#2208m, released: 2024-04-29

video_2024-04-29_18-28-45.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants