Ant Road Planner

Как сделать удобную пешеходную инфраструктуру

Почему данные Open Street Map плохо подходят для нашего симулятора

Недавно студенты Института дизайна и урбанистики ИТМО воспользовались нашим сервисом и посчитали на нем карты районов, нужные им для выполнения курсового проекта по благоустройству. Карты были большие, сложные, и рисовали их люди, не знакомые с нашим сервисом до того. Получилось отличное тестирование, которое выявило проблемы как в нашем веб-сервисе и алгоритме (часть уже исправлена), так и в самом процессе рисования карт, в его интерфейсе и понятности.

success_paths

Одна из карт, район возле станции метро «Международная» в СПб

Одна из таких проблем — плохая пригодность данных Open Street Map для рисования карт поверх них. О том, почему стоит использовать OSM данные осторожно — далее под катом.

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

К сожалению как только вы попытаетесь взять с OSM что-то кроме зданий, возникает две проблемы:

OSM очень неточны во дворах.

Нарисовать двор в деталях — это большая работа. При этом для симуляции детализация нужна гораздо более высокая, чем, скажем, для навигации (для которой такие карты чаще всего используются). Там где на OSM грубо намечена пара дворовых проездов — а им больше и не надо! — для симуляции еще нужно будет разметить все тропинки, крупные группы деревьев, ограды, мелкие строения и сооружения типа трансформаторных будок и т.п.

osm_problem1

На OSM данных слева есть лишь несколько основных проездов

В итоге карта сильно отличается от реальности, и полученный прогноз сложно сравнивать с реальностью.

Неправильный масштаб дорог

В OSM дороги (как правило, хотя бывают и исключения) задаются линиями, не имеющими толщины, только тип (тропа, улица, шоссе и т.п.). В то время как симулятору нужны полигоны. Если пытаться обрисовать линии в том виде, в котором они нарисованы на карте, то получится искажение масштаба, так как типичный дворовой проезд имеет ширину 3-6 метров, а линия на карте — всего 1-2 метра. Это хорошо заметно если сравнить спутниковый снимок и карту:

osm_problem2

Ширина улицы — 2 метра на карте против 6 на снимке

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

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

Что делать?

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

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

Надеемся эта статья поможет не совершать типичные ошибки при попытке нарисовать карту уже существующего района. Хотя зачем это делать — отдельный вопрос, ведь в существующих кварталах уже есть сделанная пешеходами удобная сеть тропинок. А вот в новых проектах как раз и хочется ее построить не дожидаясь реальных пешеходов. Но для проектов обычно есть детальный генплан со всеми размеченными объектами, поверх которого и можно рисовать.

Previous

Обновление 12 декабря

Next

Видеозапись лекции со слайдами 20.12.2016

5 Comments

  1. Вроде все онлайн-карты имеют АПИ для работы поверх них, в том числе поверх спутникового слоя.

    И кстати, рассматривали ли Вы работу с ВикиМапией?

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

      • nashev

        А Викимапия нарушает или договорились?

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

          • nashev

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

Добавить комментарий