OpenStreetMap

Сбор адресных данных для OpenStreetMap с помощью навигатора

Posted by mavl on 1 March 2014 in Russian (Русский)

Существуют различные способы сбора адресных данных с использованием навигатора, отличающиеся между собой временем, необходимым на сбор и обработку данных:

  1. Автомобильный видеомаппинг;
  2. Пешеходный аудиомаппинг;
  3. Пешеходный маппинг.

Эти способы позволяют собрать адресные данные в незнакомой местности, не имея бумажных обходных листов, и затем внести их в OpenStreetMap, не имея спутниковых снимков.

Помимо адресных данных при исследовании местности заодно можно собрать и некоторые другие данные. Например, можно собрать следующие данные о зданиях:

  • building (тип здания)
  • building:colour (цвет фасада здания)
  • building:levels (количество этажей)
  • building:material (материал фасада здания)
  • roof:colour (цвет крыши)
  • roof:material (материал крыши)
  • roof:shape (форма крыши)

Для сбора адресных данных нужно пройти (проехать) по улице и поставить путевые точки напротив зданий. Если для местности нет спутниковых снимков, то путевую точку желательно ставить посередине здания. Для длинных зданий можно отмечать путевыми точками начало и конец здания. Если для местности есть хорошие спутниковые снимки, то точки можно ставить необязательно посередине: на спутниковом снимке здание будет легко найти.

Удобнее следовать по улице в прямом направлении, не отвлекаясь на примыкающие улицы (по ним можно проследовать потом также в прямом направлении). Нужно отмечать все здания, даже не имеющие адреса (некоторые адреса, возможно, потом удастся определить с помощью интерполяции).

Для социально значимых зданий (например, вокзалов, автовокзалов, полиции, больниц, школ) адреса можно найти в Интернете. В этом случае для здания полезно указать тег source:housenumber (например, source:housenumber=internet).

Источниками адресов могут являться таблички с названиями и режимами работы заведений (например, кафе, магазинов, мастерских), а также кассовые чеки, полученные в них.

1. Автомобильный видеомаппинг

Сбор данных осуществляется с помощью:

  • навигатора, в котором отмечаются путевые точки и который записывает трек перемещений;
  • видеорегистратора, который записывает изображение местности и голосовые описания путевых точек;
  • автомобиля, который, двигаясь с небольшой скоростью, перемещает всё это.

Способ подходит для сбора данных на улицах с малым движением транспорта (например, в малых городах и деревнях). На видеозаписи видны дорожные знаки, надписи с названиями улиц и рек, часто видны материалы, из которых сделаны дома, количество этажей, цвет домов, а также форма, цвет и материал крыш.

Если дома расположены очень плотно, то можно сначала проехать по улице в одном направлении и записать координаты зданий с одной стороны, а затем проехать по ней в обратном направлении и записать координаты зданий с другой стороны.

Чем хуже дорога, тем медленнее должен двигаться автомобиль и тем чётче и громче нужно произносить описания точек, так как треск от колебаний видеорегистратора на неровной дороге может заглушить голос. При приближении к дому нужно продиктовать его описание (например, дом 7 слева, два этажа, кирпичный, дом 8 справа), поставить путевую точку напротив дома и продиктовать её номер (например, точка 10).

Путевые точки нужно обязательно ставить, иначе потом сложно будет найти на спутниковом снимке нужный дом, так как дома могут быть расположены неравномерно и чередоваться с другими зданиями (например, гаражами, сараями, банями), которые на спутниковом снимке могут выглядеть, как обычные дома. Кроме того, новых домов может ещё не быть на спутниковом снимке, а уже несуществующие дома могут на снимке присутствовать.

Данные собираются быстро, но нужно много времени (как минимум нужно время, равное продолжительности видеозаписи), чтобы просмотреть запись и получить список точек с их описанием. Скорость движения от 5 до 40 км/ч в зависимости от плотности застройки и качества дороги. Подходит для сбора данных при дефиците времени, а также для получения как можно большего количества данных о местности (сведений о дорожных знаках, цветах домов и тому подобного).

2. Пешеходный аудиомаппинг

Сбор данных осуществляется с помощью:

  • навигатора, в котором отмечаются путевые точки и который записывает трек перемещений;
  • диктофона, который записывает голосовые описания путевых точек.

Данные собираются дольше, чем при автомобильном маппинге. Нужно много времени на обработку аудиозаписи (как минимум нужно время, равное продолжительности аудиозаписи), чтобы получить список точек с их описанием. Скорость движения около 5 км/ч.

Способ не имеет особых преимуществ: времени на сбор данных уходит почти также много, как и при пешеходном маппинге, а на обработку данных уходит почти также много времени, как и на обработку видеозаписи. Есть преимущество по сравнению с пешеходным маппингом только в записи подробных описаний путевых точек, например названий различных заведений (кафе, магазинов, мастерских) и режимов их работы.

3. Пешеходный маппинг

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

Путевые точки нужно ставить напротив зданий и давать им значимые имена. Данные собираются не очень быстро, но их не надо обрабатывать (список точек с описаниями сразу готов). Скорость движения 2-3 км/ч (медленный шаг, чтобы успеть подписать точку до подхода к следующему зданию). За час собирается примерно 60 точек при сборе данных в частном секторе. Способ подходит для сбора данных в неспешной обстановке.

Обозначение путевых точек

Описание путевой точки может иметь вид: УН{направление}ЭМТ

  • У - необязательное обозначение улицы (одна-две буквы);
  • Н - необязательный номер дома;
  • {направление} - обязательный элемент, который показывает направление от точки на объект;
  • Э - необязательное число, обозначающее количество этажей здания (если не указано, то 1);
  • М - необязательное обозначение материала фасада здания (W - wood, P - panel, B - brick, Bl - block и тому подобное). Если не указано, то неизвестно;
  • Т - необязательное описание типа дома (H - house, A - apartments). Если не указано, то обычно определяется по числу этажей.

Направление указывается следующим способом:

  • "+" - объект находится справа. Если объект находится правее основного ряда объектов (например, домов), то символ удваивается (++) или утраивается (+++) в зависимости от расстояния до объекта;
  • "-" - объект находится слева. Символ может повторяться ("--" или "---");
  • "." - объект находится впереди. Символ может повторяться (".." или "...");
  • "," - объект находится сзади. Символ может повторяться (",," или ",,,").

Символы направления могут сочетаться, например:

  • "+." (по диагонали справа и впереди);
  • "-," (по диагонали слева и сзади);
  • "++." (примерно двойное удаление вправо и одинарное вперёд).

Если дом имеет несколько адресов, то они описываются по ходу движения через символ "&".

С помощью этого способа записи можно описать здания тегами:

  • addr:housenumber (номер дома)
  • addr:street (улица)
  • building (тип здания)
  • building:levels (количество этажей)
  • building:material (материал фасада здания)

Можно расширить описание путевой точки и предусмотреть в нём позиции для записи значений тегов building:colour, roof:colour, roof:material, roof:shape, но тогда на ввод описаний путевых точек будет уходить больше времени.

Примеры

  • + (одноэтажный дом справа)
  • -W (одноэтажный деревянный дом слева)
  • -3 (трёхэтажный дом слева)
  • +.2Bl (справа впереди двухэтажный дом из блоков)
  • --2BA (далеко слева двухэтажный кирпичный многоквартирный дом building=apartments)
  • K-W (одноэтажный деревянный дом слева по улице Кирова)
  • K19A-W 20+W (слева одноэтажный деревянный дом № 19A по улице Кирова, справа одноэтажный деревянный дом № 20 по той же улице)
  • E29-W 24&26+W (одноэтажный деревянный дом № 29 слева по улице Ермака, одноэтажный деревянный дом с адресами № 24 и № 26 справа по той же улице; по ходу движения сначала № 24, потом № 26; ход движения определяется по отметкам времени путевых точек)
  • K3+W 2-2B 7+..2B (одноэтажный деревянный дом № 3 справа по улице Кирова, двухэтажный кирпичный дом № 2 слева по той же улице, двухэтажный кирпичный дом № 7 по той же улице справа на удалении примерно "через один дом")

Ввод данных в OpenStreetMap

Собранные любым способом адресные данные можно представить в виде списка. Например (в последовательности: дата, время, координата, высота, описание):

  • 2013-03-30 17:19:32 N56°31.007' E66°32.310' 81 K19-W 16+W
  • 2013-03-30 17:20:18 N56°31.012' E66°32.290' 81 K21-
  • 2013-03-30 17:20:40 N56°31.014' E66°32.281' 83 K18+W
  • 2013-03-30 17:21:03 N56°31.018' E66°32.270' 84 K23-W
  • 2013-03-30 17:21:32 N56°31.019' E66°32.261' 83 K18A++W
  • 2013-03-30 17:22:24 N56°31.025' E66°32.237' 82 K20+W
  • 2013-03-30 17:22:58 N56°31.028' E66°32.222' 82 K25&T4-W (Комарова 25 и Тюменская 4)

При вводе данных в OpenStreetMap в указанном направлении от путевой точки на спутниковом снимке нужно найти контур здания. Например, для точки "K18A++W" контур здания нужно искать намного правее основного ряда домов. Если спутниковых снимков нет, то дом можно обозначить точкой, сдвинутой от путевой точки в нужном направлении.

Если выходит, что угловой дом имеет адрес по двум улицам (например, с одной улицы Вокзальная, 4, с другой Речная, 5), то его так и нужно обозначить, как дом с двумя адресами (например, используя две адресные точки на углах дома).

Встречаются дома, имеющие два адреса по одной улице (например, Центральная, 8 и Центральная, 10). Их также следует обозначать, как есть на местности.

Также встречаются разные дома, имеющие один адрес. Удивляться таким случаям не нужно. Их тоже нужно обозначать, как есть на местности (желательно указать на факт дубликата адреса в тегах fixme или note, например note=Дубликат адреса). При этом желательно занести их в какой-либо специальный список, чтобы не забыть о них, и затем периодически пробовать прояснить ситуацию по их поводу (например, снова посетить местность в надежде, что ошибка устранена).

Встречаются случаи, когда официальных табличек с адресом дома нет, но есть две противоречащие друг другу надписи с номерами дома, например выполненные краской на стене, причём нельзя сказать, какая из надписей сделана раньше, а какая позже. Например, на доме есть две надписи 17 и 14А. Ясно, что как минимум один номер дома неправильный. В этом случае желательно в OpenStreetMap указать оба эти номера, так как неизвестно, какой номер правильный и по какому из них дом могут попытаться найти. Также нужно взять такой случай на заметку (как случай с дубликатом адреса).

После обработки данных видео- и аудиозаписи можно удалить (спешить с этим не стоит, так как, возможно, придётся уточнить некоторые детали), но не нужно удалять полученные путевые точки с их описаниями и записанные треки. В случае порчи данных в OpenStreetMap и невозможности их восстановления с помощью откатов пакетов правок треки и путевые точки позволят быстро повторить ввод данных.

Для зданий желательно указывать количество этажей (building:levels), так как оно является важной характеристикой. То есть для здания желательно как минимум заполнить теги building и building:levels. При заполнении тега building желательно не ограничиваться значением "yes", а точнее указывать тип здания (apartments, dormitory, house, commercial, industrial, retail, civic и тому подобное).

Интерполяция номеров домов

Часто дома нумеруются отдельно по чётной и нечётной сторонам улицы. Реже дома нумеруются подряд.

Если по имеющимся данным можно сделать вывод о некотором правиле нумерации домов, то можно попытаться восстановить пропущенные номера домов. Если число пропущенных номеров домов совпадает с количеством домов без номеров, то можно определить пропущенные номера.

Например, дому, находящемуся между домами с номерами 1 и 5, можно присвоить номер 3, а двум домам, находящимся между домов с номерами 8 и 14, можно присвоить номера 10 и 12. При этом нужно указать для этих домов тег source:housenumber=interpolation.

Если же возле домов без номеров находятся дома с литерами (например, 1А), строениями (например, № 2 строение 1), дробями (например, 2/1), корпусами (например, № 5 корпус 1) и прочими дополнительными атрибутами, то не стоит пользоваться интерполяцией.

Интерполяцию номеров угловых домов нужно проводить после получения данных о номерах соседних домов по обеим пересекающимся улицам.

Comment from freeExec on 3 March 2014 at 05:56

Для третьего типа идеально подходит Keypad-Mapper3. Направление он уже задает, тем что ставит точку влево/вправо/впереди от текущего положение, сразу можно задать тег addr:street и номера домов он уже вставляет addr:housenumber плюс дописывает building=yes. Т.е. придя домой остаётся только нарисовать контуры домов и скопировать теги. Фото-аудио-текстовые заметки так же присутствуют.

Hide this comment

Comment from Zverik on 3 March 2014 at 18:51

Отличный и подробный текст, спасибо. Из поправок — что вместо building:material чаще используется building:cladding.

Также удобно собирать номера домов с обходными листами, где контуры этих домов уже есть, обрисованные по спутниковым снимкам.

Hide this comment

Comment from mavl on 4 March 2014 at 03:22

Спасибо. Да, building:cladding стоило упомянуть (как синоним building:material). Именно building:material был выбран, потому что он лучше согласуется с roof:material.

Hide this comment

Comment from vvoovv on 5 March 2014 at 11:54

Фундаментальный труд! Спасибо!

Hide this comment

Comment from EugenyN on 4 June 2014 at 19:04

используется навигатор с тачскрином , или с джойстиком/кнопками ? понял, что с одним тачскрином тяжело работать, т.к. трудно точно поставить точку при движении пешком или в транспорте.

Hide this comment

Comment from mavl on 5 June 2014 at 02:58

С джойстиком или кнопками. С тачскрином, действительно, будет неудобно. Точку поставить ещё можно, а подписать – проблема.

Я пользовался Garmin eTrex Legend. С ним вообще нет никаких проблем.

Hide this comment

Comment from EugenyN on 5 June 2014 at 07:24

Интересно. Я использую triton 400 (кнопки) и 1500 (кнопки+тач). У 1500 преимуществ почти никаких нет, разве что удобнее подписывать точку когда остановился, но не удобно работать одной рукой (едешь на велосипеде и ставишь точку, не останавливаясь). Последнии эксплористы, где один тач, вообще получается малопригодны для этой задачи.

Hide this comment

Comment from mavl on 5 June 2014 at 09:39

Может быть, они и пригодны. Нужно пробовать.

Hide this comment

Comment from EugenyN on 5 June 2014 at 09:56

Так я и попробовал. Ни пальцем ни стилусом с высокой точностью не поставить точку при движении. Придётся останавливаться.

Hide this comment

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