OpenStreetMap

"Mapping Well With Mapsme"

Posted by Anton Khorev on 1 October 2017 in Russian (Русский)

После прочтения этого топика на форуме возникает желание прокомментировать упомянутый там доклад Mapping Well With Mapsme.

"Вместо того, чтобы собственно редактировать данные, можно добавлять метки"

Чего не было сказано: метку может не получиться поставить в нужное место, особенно если оно занято площадным объектом - это может проявляться по-разному в зависимости от зума. Можно попробовать ставить метку на фиктивный объект, для чего сначала надо добавить любую точку, затем поставить на неё метку, затем удалить точку. Удалить точку можно только если она не отправлена, см. ниже.

Подобным образом ставить метки вряд ли удобно и делать это надо осторожно. Я попробовал для примера создать фиктивную точку, но тут проявилась такая особенность maps.me - показывать последнее известное местонахождение, даже когда об этом никто не просит. В итоге вид съехал ко входу в метро, перед которым я выключил gps, а я не помнил, куда я поставил точку. Хорошие новости: даже добавленные пользователем точки попадают в результаты поиска.

"При добавлении места выдаётся длинный список типов, но мы типа об этом подумали и у нас есть поиск"

Это всё равно неудобно, если надо многократно добавлять однотипные объекты, ведь если пользоваться для этого поиском, то выполнять поиск придётся перед вводом каждого объекта. В vespucci есть такое решение - часто используемые заготовки становятся быстродоступными. В maps.me же есть только один список, который не меняется - если только не переключить язык ввода для поиска. Этим переключением приходится пользоваться: например, вы хотите отметить несколько скамеек, но "скамейка" по-русски ближе к концу списка, который надо долго прокручивать. Можно, конечно, отметить одну скамейку, а дальше оставить заметку о том, что их на самом деле несколько, а можно догадаться переключиться на английский. "Bench" скорее всего будет доступна вообще без необходимости прокрутки списка.

"Maps.me отсылает данные, когда приложение закрывается"

К этому ещё надо добавить, что maps.me не показывает, есть ли неотосланные данные и сколько их, и занимается самостоятельным сочинением комментариев к пакетам правок. Но отослать данные maps.me не сможет, если нет доступа к интернету. Этим можно пользоваться, специально перекрывая доступ в интернет, и разрешая его только тогда, когда мы готовы проконтролировать результат, например с помощью нормального редактора. Пока пакет не отправлен, вместо кнопки "места не существует", будет кнопка "удалить", позволяющая собственно удалить объект, а не подвешивать на него заметку.

Если нужно включить интернет, а только для maps.me его не перекрыть, то перед включением интернета можно для гарантии прибить maps.me через диспетчер приложений. А если ещё и на карту смотреть хочется, то у вас наверняка установлен osmand. Ещё надо проверить вариант помехи отправки данных посредством разлогинивания.

Обратной стороной всего этого является то, что если какой-нибудь турист будет пользоваться maps.me по назначению, т.е. как оффлайновыми картами, он запросто может создать пакет (никак не связанных) правок в разных точках планеты, когда, наконец, вернётся домой к своему интернету.

"Обычное имя, которое без языка, защищается, чтобы его не грохнули туристы"

Сам рассказ про редактирование названий сопровождается скриншотом, где поле "English" заполнено по-японски - maps.me имеет обыкновение самостоятельно его заполнять. Докладчика это не смущает, хотя для пользователя наверняка важно, запишется это всё в name:en или нет. Когда я подобное заполнение поля "English" русским названием удалял, в результате не создавалось и name:ru. Я до сих пор не уверен, что именно произойдёт при редактировании имени, и логика там, похоже, менялась в недавних версиях.

Защиту "настоящего" name можно охарактеризовать и по-другому: не даём пользователю ожидаемого способа полностью переименовать точку. В результате этого в разных name будут разные названия. Тогда зачем вообще давать редактировать название, ведь можно было бы давать только добавлять новые языковые варианты. Например, можно было бы показать "настоящее" нередактируемое название, а рядом поставить кнопочку "добавить перевод". У некоторых объектов название менять и не дают, например у зданий и, следовательно, у poi, совпадающих со зданиями. В этом случае под редактирование подставляется номер дома, хорошо, что там валидатор.

"Если попытаться создать точку очень близко к другой точке, то вместо этого будет выполнено редактирование"

Допустим, у точки был задан вебсайт. Я создаю поверх неё новую точку, у которой сайт не указываю. В результате в осмовских данных сайт останется старый, а в видимых мне мапсмешных данных сайта не будет. При этом сайт - один из видимых в maps.me тегов, а есть ещё и невидимые. В итоге получится точка со смесью старых и новых тегов. Или получится вторая точка, если я промахнулся - ведь я её поставил с помощью сенсорного экрана мобильного телефона - но об этом имеет смысл рассуждать, если я знаю про возможность редактирования посредством простановки новой точки поверх. Большинство пользователей скорее всего об этом не знают и не собираются ничего редактировать при добавлении новой точки.

Так отредактировать, не зная того, что это именно редактирование, можно даже невидимую из maps.me точку. В докладе утверждается, что это редко происходит, но происходит. И зачем оно происходит? Тут можно подумать, что это защита от всем известных мапсмешных дублей, но если бы эта защита работала, то дубли не были бы всем известны. Работать она так не сможет, потому что никто не мапит с сантиметровой точностью, и дубль спокойно разместится метрах в трёх от своего предшественника.

"Если вы при добавлении точки не можете найти для неё правильный тип, то поставьте неправильный и напишите заметку, а правильный поставьте потом"

Здесь докладчик даёт вредный совет. Не удивляйтесь, если подобные действия будут считать вандализмом. Поскольку правильный тип из maps.me вы и позже не поставите, это тот случай, где на вопрос "как правильно редактировать из maps.me" ответом является "никак". То есть из maps.me придётся либо редактировать неправильно, желательно задерживая загрузку данных способом, описанным выше, либо не редактировать, а ставить метку, с возможными проблемами, описанными ещё выше.

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

    [Text](URL)
  • Image

    ![Alt text](URL)

Login to leave a comment