OpenStreetMap

После того, как ОсмАнд испортился, пришлось снова взять Maps.me, посмотреть, что же там появилось за полтора года с момента последней установки. Выяснилось, что GPX-треки оно до сих пор не пишет, хотя и планирует, однако всё не так плохо — трек всё-таки есть, он пишется в файл MapsWithMe/gps_track.dat, но он, во-первых, трётся максимум через сутки,

Настроки отображения трека

а во-вторых — в каком-то собственном бинарном формате

00000000 01 00 00 00 │ 00 00 40 ED │ 17 55 D6 41 │ A1 5E 3A F7  ......@ .U A ^:
00000010 68 94 4B 40 │ DF D2 7B 74 │ 34 B5 4E 40 │ CD CC CC CC  h K@  {t4 N@
00000020 CC 5C 6B 40 │ 00 00 00 00 │ 00 00 F0 BF │ 00 00 00 00   \k@......  ....
00000030 00 60 70 40 │ 00 00 00 00 │ 00 00 58 40 │ 00 00 00 00  .`p@......X@....
00000040 00 00 58 40 │ 02 BA 49 EC │ F2 17 55 D6 │ 41 A1 5E 3A  ..X@. I  .U A ^:
00000050 F7 68 94 4B │ 40 DF D2 7B │ 74 34 B5 4E │ 40 00 00 00   h K@  {t4 N@...
00000060 00 00 00 00 │ 00 00 00 00 │ 00 00 00 F0 │ BF 00 00 00  ...........  ...
00000070 00 00 00 F0 │ BF 00 00 00 │ 20 58 39 60 │ 40 00 00 00  ...  ... X9`@...
00000080 00 00 00 F0 │ BF 02 12 83 │ 20 F4 17 55 │ D6 41 A1 5E  ...  ..   .U A ^
00000090 3A F7 68 94 │ 4B 40 DF D2 │ 7B 74 34 B5 │ 4E 40 00 00  : h K@  {t4 N@..
000000A0 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ F0 BF 00 00  ............  ..
000000B0 00 00 00 00 │ F0 BF 00 00 │ 00 40 5E 02 │ 61 40 00 00  ....  ...@^.a@..
000000C0 00 00 00 00 │ F0 BF 02 F6 │ 28 64 F5 17 │ 55 D6 41 A1  ....  . (d .U A
000000D0 5E 3A F7 68 │ 94 4B 40 DF │ D2 7B 74 34 │ B5 4E 40 00  ^: h K@  {t4 N@.
000000E0 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 F0 BF 00  .............  .
000000F0 00 00 00 00 │ 00 F0 BF 00 │ 00 00 60 39 │ E8 61 40 00  .....  ...`9 a@.

Задача разбивается на две:

  • В походах продолжительностью больше суток надо копировать файл MapsWithMe/gps_track.dat в какое-нибудь безопасное место;
  • Накопленные файлы надо как-то преобразовать в более знакомый формат. GPSBabel пока конвертировать треки Maps.me не умеет — значит, надо будет поглядеть в исходный код, понять, что же спрятано в этом dat-файле. Существует скрипт на питоне для чтения такого файла — у меня он не работает, но из него можно хотя бы понять структуру данных. Кроме того, есть и отдельная библиотека для чтения dat-файлов. Тоже на змеином языке.

Discussion

Log in to leave a comment