OpenStreetMap

Как я отмечаю POI – Пролог

Posted by Anton Khorev on 26 April 2018 in Russian (Русский).

Имея на руках софт с данными osm, становится сложно заблудиться, по крайней мере в здешних местах, то есть в Санкт-Петербурге и окрестностях. Можно выяснить, например, не только как пройти к Эрмитажу, но и как пройти от Тарховки до Сестрорецка вдоль залива, а потом найти там на карте «Пятёрочку». И можно с удивлением обнаружить, что эта «Пятёрочка» существует в реальности. Удивительно это потому, что зная количество магазинов и прочих заведений в городе и скорость, с которой они меняются, можно усомниться в возможностях осмеров поддерживать данные обо всех этих точках в актуальном состоянии.

Действительно, далеко не всегда присутствие точки на карте соответствует её существованию на месте. Вот случай, произошедший со мной в период моей неактивности в osm в середине 2010-х. Иду я в Сбербанк, а там выясняется, что не работает устройство, печатающее талончики, и надо вставать «в порядке живой очереди». А зачем мне это, если я могу дойти до другого отделения, которое рядом. То, что оно рядом, я знаю, ведь у меня в телефоне OsmAnd, и само это отделение, вроде бы, я лично ранее ввёл. Однако по прибытии на место выясняется, что этого отделения нет. Тогда я иду ко второму ближайшему согласно данным osm отделению. Его тоже нет. Обнаружилось только третье отделение, в котором выяснилось, что мне нужно идти именно в то, в которое я пришёл сначала, а не в любое, но это уже не проблемы osm. Проблемы osm заключались в устаревших данных poi, и эти проблемы я пытался начать исправлять как за несколько лет до случая со Сбербанком, так и после, но дело дальше планирования и сбора небольшого количества данных не уходило.

Первые свои poi я вносил вместе с данными о кварталах Адмиралтейского района СПб в 2011-2012 году. Это были данные обо всём подряд внутри квартала целиком. Контуры зданий, этажность, арки, проезды, проходы, газоны, деревья; позже – входы в здания с номерами лестниц и квартир. Большинство подобных объектов меняются редко, в отличие от магазинов и прочих poi, следовательно потом нужно будет заниматься отдельно обновлением исключительно poi. Делать это будет несколько легче, чем мапить всё подряд, в том числе и потому, что большинство магазинов видны с улицы, и не нужно пытаться пролезть в не всегда открытые дворы.

Этот маппинг всего подряд я выполнял по подобию того, что делал участник fserges, который тогда тоже занимался Адмиралтейским районом. Он рисовал южную часть района, а я – северную. Позже, при выборе места для очередной картовстречи, fserges напишет на форуме, что он уже всё отмапил на Красноармейских улицах, находящихся в его части района, и идти туда вроде как не нужно. С тех пор я там уже тоже всё, что видно с улицы, перепроверил и переобозначил по крайней мере один раз, но понятно, что всё это придётся неоднократно повторить. Как часто надо повторять – один из вопросов, на которые я пытаюсь найти ответ.

Если сейчас данные о внутренностях кварталов, парков и зданий я ввожу на месте в Vespucci, то в те времена приходилось рисовать на бумажке. И с poi было особенно неудобно разбираться, потому что для того, чтобы не загромождать схему местности на бумаге записями о точках, их лучше фотографировать. Для этого надо было взять в руку телефон, но обе руки были заняты ручкой и бумажкой. В итоге ввод poi не был тогда для меня приоритетной задачей, и я не пытался вводить их контактные данные, режимы работы и прочие подробности.

Осенью 2011 у меня появилась ещё одна задача: маршруты общественного транспорта. В Яндексе данные по остановкам были неточные, транспортного портала ещё не существовало, и получалось, что надёжного источника данных вообще не было. Что я по этому поводу делал – отдельная история, к poi прямого отношения не имеющая, так как здесь речь идёт о poi «магазинно-кафейного» типа, а не об остановках. На одном из этапов сбора данных о маршрутах я шёл как можно дальше вдоль основных улиц и смотрел, какие на них находятся остановки, и транспорт каких маршрутов по ним проезжает. Расстояние между остановками большое относительно расстояния между упомянутым выше всем подряд, следовательно, существенную часть времени я просто шёл. Ясно, что более полезно было бы заодно собирать какие-нибудь данные, и в некоторых случаях я так и стал делать.

Для сбора данных об общественном транспорте ручка и бумажка уже не нужны, достаточно делать фотографии и записывать их с помощью OsmTracker’а. На gps можно рассчитывать в большей степени, чем во дворах, кроме того, нужное место на фотографии можно сравнить с Яндекс-Панорамами. То же самое можно сказать и о сборе данных о poi, которые я и стал собирать, пока ходил от остановки к остановке. Но все эти данные о poi так и не попали в osm, потому что недостаточно их собрать, надо ещё их ввести, а вводить их дольше, чем собирать.

Помимо того, что на это нужно время, ещё одной причиной неввода стало то, что я представлял себе, какие мне нужны инструменты для решения определённых задач, связанных с редактированием poi. Вот одна из таких задач. Как это отчасти видно из приведённого выше второго поста fserges’а, обычной ситуацией является нежелание мапить уже отмапленное, несмотря на то, что, как видно из первого поста, ясно, что poi на местах меняются. Это можно объяснить так. Допустим, что poi в каком-то месте вообще не отмечены. Тогда никакой рендерер не рендерит их значков, и видно, что это место пустое. Теперь мы пошли и их отметили, и место стало непустым, на нём появились значки. Результат наших действий ясно виден, причём виден даже тем, кто не знаком с данным местом. Прошло какое-то время, и данные устарели, их надо вводить по-новой. Но значки с рендера от этого не исчезли, и незнакомый с местностью разглядывающий карту участник по прежнему будет видеть, что вроде как тут всё отмаплено. Если мы перемапим данное место, то подобный участник не заметит разницы: была куча значков и стала куча значков. То, что это куча значков новая – на ней не написано. Значит надо сделать так, чтобы было видно, где куча значков новая, а где старая.

Инструменты, конечно же, сами не напишутся (и всё, что я хотел, до сих пор не написано), а обновление данных я откладывал до написания инструментов. В 2013-2015 годах я несколько раз предпринимал попытки собирать данные, но в итоге за это время я не сделал вообще ни одной правки. Наконец мне просто надоело, что всё, что я тогда делал, было связано с сидением на стуле за компом, а osm – это, по крайней мере, не постоянное сидение на стуле, и я решил взяться-таки за ввод poi без предварительного написания инструментов. Тогда я думал, что дело будет выглядеть так: раз в неделю я буду где-то в течение часа в качестве «обеденного перерыва» ходить и собирать данные о точках внутри определённого муниципального образования, делать это я смогу по дороге в какое-либо место в промежутке между другими делами; таким образом я смогу поддерживать данные в состоянии полугодичной-годичной свежести. В итоге всё получилось, конечно, не так, особенно «в течение часа», да и область действия пришлось сразу поменять из-за того, что по дороге куда-либо я довольно быстро пересекал границы МО.

28 сентября 2016 года я отправился собирать данные, которые, наконец, попадут в osm. Ну а сейчас я собрался начать об этом писать, и в одной, а скорее всего более, чем в одной, из следующих записей я расскажу о том что, где, когда и каким образом я маплю в плане обновления данных о poi.

Comment from Alexander-II on 26 April 2018 at 14:07

С удовольствием прочитаю продолжение.

Comment from Zverik_imports on 26 April 2018 at 14:28

Великолепная статья. Обожаю системный подход. Твоя карта с датами обновлений — просто космос. Хорошо бы её автоматизировать, конечно.

Comment from freeExec on 27 April 2018 at 05:00

Ну не знаю, имею сотню заметок за месяц в османде, заношу за один два вечера.

Comment from Anton Khorev on 27 April 2018 at 12:01

Ну не знаю, имею сотню заметок за месяц

Сотню я могу за пару часов часов собрать.

Login to leave a comment