OpenStreetMap

Shoorick's Diary

Recent diary entries

Прототип перлового конвертера треков Maps.me — https://github.com/shoorick/read-mapsme-track. Сейчас он умеет выдавать CSV и Tab-separated текстовые файлы, а также кривоватый GPX. В принципе, достаточно отладить вывод в формат, который может пыть понят ГПСБабелем.

А ещё лучше — научить GPSBabel читать треки Maps.me — тогда и свой конвертер не нужен будет.

После того, как ОсмАнд испортился, пришлось снова взять 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-файлов. Тоже на змеином языке.

После того, как телефону был сделат factory reset, туда удалось поставить свежий OsmAnd 2.5.3 вместо прежнего 1.9.*

Новый османд выглядит симпатично и кое-что в нём улучшили, но толку в этом нет, потому что пользоваться таким османдом совершенно невозможно: на моём «Катерпиллере» он нещадно тормозит, а вместо мелкомасштабных карт рисует пустоту.

Видимо, придётся снова пробовать Maps.me.

Письмо

Posted by Shoorick on 27 January 2015 in Russian (Русский).

Я давным-давно не получал бумажных писем. Уведомления из налоговой инспекции да ответы из ГАИ — не в счёт. А тут — надо же! Письмо :-)

Открытка, визитки и наклейки OpenStreetMap

С открыткой, наклейками и визитками.
Вступайте в нашу секту! (зачёркнуто)
То есть, заходите сайт, пользуйтесь картами, дорисовывайте что-то недостающее.

С недавних пор JOSM перестал запускаться под шестой явой — для его работы нужна Java версии не ниже 7. Это не стало сюрпризом — в конце концов, об этом уж несколько месяцев как предупреждают. Сюрпризом стало другое: вместо того, чтобы просто тихо проигнорировать шестую яву, JOSM упорно пытается использовать её, если находит. И падает. С точки зрения обычного пользователя — молча и непонятно. С точки зрения вооружённого терминалом — нормально падает, не молча:

Using /usr/lib/jvm/java-6-openjdk-i386/bin/java to execute josm.
Exception in thread "main" java.lang.UnsupportedClassVersionError: JOSM : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: JOSM. Program will exit.

Как выяснилось, в кода скрипта, запускающего JOSM, ничего не поменялось.

Надеюсь, скоро эту ошибку устранят. Ну а тот, кому не терпится, может подправить нужный файл (в Ubuntu это /usr/bin/josm) самостоятельно, убрав из него упоминания шестой явы:

14c14
< JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/lib/jvm/java-6-openjdk/bin/java /usr/lib/jvm/java-6-openjdk-$ARCH/bin/java /usr/lib/jvm/java-6-sun/bin/java"
---
> JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java"
16c16
< JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/lib/jvm/java-6-sun/bin/java /usr/bin/java"
---
> JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/bin/java"

Практика показывает: чтоб карта в OsmAnd не выглядела серой пустыней при беглом взгляда из-за руля на неё в телефоне на скорости 90 км/ч, надо нарисовать хотя бы леса на расстоянии до 700—800 метров от дороги.

Location: Шахматовское сельское поселение, Чебаркульский район, Челябинская область, Уральский федеральный округ, 456403, Россия

Сто́ит достать планшет и подправить карандашом карту — аборигены сразу интересуются: что записываю, а для себя или по работе. Хотя вежливые — здороваются и с праздником поздравляют

Location: Шемаха, Шемахинское сельское поселение, Нязепетровский район, Челябинская область, Уральский федеральный округ, 456991, Россия

JOSM с недавних пор при добавлении тэгов вручную показывает недавно использованные пары ключей и значений. По умолчанию — не более пяти. Можно увеличить это число: надо в расширенных настройках (F12 (Preferences) → Advanced Preferences) изменить значение параметра properties.recently-added-tags на нужное.

На картах, которые рисует Mapnik, крупные дороги (highway=trunk), почти не видны в лесу — всё зелёное. Было бы правильным рисовать транки, например, фиолетовым. Или красно-фиолетовым, как это сделано в OsmAnd.

Оказывается, на trac.openstreetmap.org уже 2 года висит тикет #3038, где описана эта проблема. И так до сих пор ничего и не решено.

Location: Златоустовский городской округ, Челябинская область, Уральский федеральный округ, Россия