... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Neues export Format möglich?
#11
(12.01.2020, 12:58)Organized Wrote: Soweit ich das im Code sehe wird hier der AgoraCString aber auch nicht gefüllt - vielleicht kommt das Navi auch ohne diese Information klar.

Könnte es sein, daß dieser "AgoraCString" mit Texten für TTS-Ansagen gefüllt wird oder werden kann? Google hat das hier ausgeworfen: https://docs.agora.io/en/Agora%20Platfor...0Platforms
Grüße
Hans

Reply
#12
Das kann natürlich gut sein, quasi die Instruktionen für "Agora" als serialisierter CString.
Ich habe leider keine einfache Möglichkeit gefunden einen CString schnell mal zu deserialisieren, ohne dafür direkt ein eigenes Programm schreiben zu müssen. Mit CString ist wahrscheinlich das hier gemeint: https://docs.microsoft.com/en-us/cpp/atl...ew=vs-2019

Da zumindest das NBT Evo ohne diesen AgoraCString auskommt, habe ich erstmal nicht vor viel Arbeit da rein zu stecken. Wer Zeit und Lust hat, kann aber gerne versuchen das Geheimnis zu lüften, ich habe dazu einmal die Base64 enkodierte Version von 2 AgoraCStrings angehangen, sowie die daraus entstehenden Binaries. Smile

In den Binaries gibt es auf jeden Fall Muster:
   


Attached Files
.zip   AgoraCStrings.zip (Size: 4.02 KB / Downloads: 355)
Reply
#13
(13.01.2020, 17:22)Organized Wrote: Christian, soll ich dir ein (Windows) Binary zukommen lassen, oder möchtest du selbst kompilieren?

Ich brauche ein Mac-Binary. Das kann ich mir selbst aus den Quellen erstellen. Hast Du auch vor, das Lesen von BMW-Files und Schreiben als GPX zu implementieren? Das würde Tests erleichtern.

(13.01.2020, 17:22)Organized Wrote: Weißt du schon, wann du dazu kommst route2bimmer einzubauen (zumindest probehalber)?

Ich muß die GPSBabel-Integration dafür refactoren, um sie wiederbenutzen zu können, das wird etwas dauern. Und ich habe noch Job, Familie, Freunde, Hobbies... da sind Lücken eher selten.
--
Christian
Reply
#14
(13.01.2020, 22:42)Organized Wrote: Das kann natürlich gut sein, quasi die Instruktionen für "Agora" als serialisierter CString.
Ich habe leider keine einfache Möglichkeit gefunden einen CString schnell mal zu deserialisieren, ohne dafür direkt ein eigenes Programm schreiben zu müssen. Mit CString ist wahrscheinlich das hier gemeint: https://docs.microsoft.com/en-us/cpp/atl...ew=vs-2019

Da zumindest das NBT Evo ohne diesen AgoraCString auskommt, habe ich erstmal nicht vor viel Arbeit da rein zu stecken. Wer Zeit und Lust hat, kann aber gerne versuchen das Geheimnis zu lüften, ich habe dazu einmal die Base64 enkodierte Version von 2 AgoraCStrings angehangen, sowie die daraus entstehenden Binaries. Smile

In den Binaries gibt es auf jeden Fall Muster:

I hope I can contribute to the discussion, AgoraCString, I think is referring to the Agora-C geoposition standard defined in ISO 17572-3 for Dynamic location references. Unfortunately it is used in Nav of BMW 5series G30 NBT Evo S19322I. Without that field, the route is not interpreted fine in the Nav system. Unfortunately I have not access to this standard to see compression method and xml format, just to try to decode, understand and encode the right AgoraCString to be added to Navigation file.
Reply
#15
(28.04.2020, 16:20)josepejra Wrote: I hope I can contribute to the discussion, AgoraCString, I think is referring to the Agora-C geoposition standard defined in ISO 17572-3 for Dynamic location references. Unfortunately it is used in Nav of BMW 5series G30 NBT Evo S19322I. Without that field, the route is not interpreted fine in the Nav system. Unfortunately I have not access to this standard to see compression method and xml format, just to try to decode, understand and encode the right AgoraCString to be added to Navigation file.

I'll try to get a copy of that ISO standard, that would be awesome if this is the missing piece.

In my F30 NBT Evo (3 series) the routes are working without the AgoraCString, but only if the route doesn't cross and the destination isn't too close to the route. This makes round trips a bit annoying, unfortunately.
Reply
#16
Ich vermute, damit hat sich die Sache dann erledigt. AGORA-C ist durch Patente geschützt, weshalb ich nichts in diese Richtung implementieren möchte. Sad Wäre auch zu schön gewesen, hier eine funktionierende Alternative zu bmw-routes.com zu haben.
Reply
#17
(02.05.2020, 13:47)Organized Wrote: AGORA-C ist durch Patente geschützt, weshalb ich nichts in diese Richtung implementieren möchte.

Finde doch mal raus, wem das oder die betreffenden Patente gehören und wie alt sie sind. Ein europäisches Patent läuft 20 Jahre nach Anmeldung aus, bei den Amis weiß ich das grad nicht.
Grüße
Hans

Reply
#18
(03.05.2020, 20:35)nordlicht Wrote:
(02.05.2020, 13:47)Organized Wrote: AGORA-C ist durch Patente geschützt, weshalb ich nichts in diese Richtung implementieren möchte.

Finde doch mal raus, wem das oder die betreffenden Patente gehören und wie alt sie sind. Ein europäisches Patent läuft 20 Jahre nach Anmeldung aus, bei den Amis weiß ich das grad nicht.

The first release of ISO 17572-3 is dated from 2008. The last one is dated from 2015. I've acquired one copy to UNE organization, I can share it with you but by private communication and for our internal and limited investigation, I do not want to post it in a public thread due to is an official purchase to UNE.
Having said that, I have reviewed the doc and, honestly is too much for me, I have no skills to "decode" de binary implementation, and beyond of that I cannot see how to "match" the binary options with the special codification of AgoraCString (from some examples I got from the BMW web when it was up and running), it only uses characters from a subset (A-Z a-z 0-9 / + =). I am going to convert the first latitude (float64) included in the route to binary, and try to find the sequence of bits in the AgoraCString, just to find a "reference", but I am not convinced I am going to succeed, too much uncertainties. I'll keep you informed if I make any progress.
Reply
#19
And yes, it is a pity that we cannot use the import routes option. i am very disappointed with BMW about that matter. In fact without the AgoraCString, the Nav calculates the route (no preview on the left, I assume that this feature is using the data stored the String), but in some cases the system calculates a "crazy"route using not main roads...
Reply
#20
Dear Colleagues, finally I have decoded the AgoraCString...
First step, I have realized that the stored string is coded in base64, and it is a lot of literature about that, in fact in Golang there is a specific library "encoding/base64" that code/decode this "strings". With that I was able to get a coherent bit stream to work over it.
From that, the standard used is the above mentioned AgoraC, binary model, it is really complex and the examples I have (old routes generated with bmwroutes.com) shows that they are really coding absolute and relative coordinates, type of roads, roundabouts,... these information is not set in a gpx file, so I'll try to simplify a little bit, and if it works I'll share with you the result.
Best regards,
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)