OpenStreetMap logo OpenStreetMap

Zkir's Diary

Recent diary entries

***

Posted by Zkir on 14 October 2011 in Russian (Русский).

Можно пользоваться картой, у которой система условных знаков не очень логична. Русский язык устроен не очень логично, но мы все им пользуемся.

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

По поводу пропозала, который сейчас выставлен на голосование.
http://forum.openstreetmap.org/viewtopic.php?id=14040&p=1

Повторяю здесь пост на форуме, потому что вопрос важный.

"Подъезд" - это не просто вход, это секция жилого (многоквартирного) дома, отделенная от других секций, с некоторым пространством, обычно с лестницей и лифтом, которое используется всеми жильцами дома для свободного проникновения в свои квартиры. При этом у здания могут быть и другие входы, в другие помещения: в подвал, в подсобку к мусоропроводу, в магазин наконец, расположенный в том же доме.

А entrance=*, за который сейчас так резво голосуют, это именно вход, дверь, ворота, арка, причем куда - неважно. А вовсе никакой не "Подъезд".
Так что всех, кому не безразлична судьба именно подъездов, предлагаю хорошо подумать, за что именно они голосуют.

Я про дублирование в поиске много писал, напишу еще раз.

Правильный, повернутый лицом к человеку поиск должен вестись в специальном адресном реестре, в котором логический объект каждого уровня представлен один раз. В нем одна Москва, один проспект Мира, один дом 13 по улице Пупкина. При конверсии в навигаторы такой реестр [более-менее] составляется.

Если же искать среди объектов osm, неизбежно найдется минимум две Москвы, точка и полигон (а на самом деле еще больше), N сегментов проспекта Мира (потому что он двухвейный и разделен на сегменты для задания запретов и разных параметров участков дорог), M триде-кирпичей дома номер 13 и.т.д.
Отношения, будучи сами _объектами осм_ , вопрос не проясняют, а ИМХО только запутывают. Части дома, входящие в адресное отношение, они что, не имеют адреса?

Граф дорог одного уровня должен быть связным. Граф дорог одного уровня должен быть связным. Граф. Дорог. Одного. Уровня. Должен. Быть. Связным.

Это основа классификации дорог по значимости, это важно для генерализации и маршрутизации.

Теперь это можно не просто повторять как заклинание, но и посмотреть действительно ли это так, а где не так, исправить.

Вот например, Москва и обл.

На сегодняшний день я вижу 5 подграфов уровня trunk, 23 подграфа уровня primary, 26 подграфов уровня secondary, и 107 подрафов уровня tertiary.
Должно быть разумеется, строго по одному.

Посмотрим что будет через несколько дней.

Гость: Обновите пожалуйста Молдову. Только не дату архива а содержимое. У меня есть архив за июнь и сравнив его содержимое со скачанным сегодня не нашел никаких изменений хотя лично за последние 2 недели внес кучу правок и изменений!

Это очень странно, статистика показывает, что последняя попавшая в сборку правка была сделана 06.08.2011. Может быть что-то разломалось на геофабрике, откуда брались дампы. Посмотрим как будет выглядеть сборка на дампе с Гис-лаб.

* Еще про граф дорог (мысль вслух)

Posted by Zkir on 8 August 2011 in Russian (Русский). Last updated on 17 April 2012.

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

Для остальной России нужен другой алгоритм - нужно искать кратчайший маршрут но с условием ЕДИНСТВЕННОГО максимума классности.
Например, маршрут из пункта А в пункт B должен выглядеть следующим образом
service->residential (unclassified) -> tertiary->secondary->primary->trunk->primary->secondary-> tertiary->residential (unclassified)->service

Не обязательно должен быть достигнут высший уровень классности (trunk), и некоторые уровни могут отсутствовать, но максимум все равно должен быть один.
Например:
service->residential -> secondary -> unclassified.

Такой маршрут как раз и будет оптимальным - самым удобным и быстрейшим.

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

Чем больше я думаю над этой задачей, которая мне нужна для улучшения работы "Дежурного по сайту", тем больше она мне кажется похожей на задачу, которая была успешно решена - на поиск изолятов в дорожном графе.

В случае текста, однако, этот граф еще нужно как-то построить...

Зетт: Приветствую тебя на моем сайте! Постараюсь ответить на твои вопросы. Чтобы сказать мне что-нибудь, введи свое сообщение в поле ввода внизу.
Гость: евразия
Зетт: К сожалению, карты Евразии на базе OSM [для Ситигида ]на данный момент нет. Я рекомендую пользоваться картой Евразии, которую можно скачать с Probki.net
Гость: ж**а!

По поводу highway=track и мостов. Если грунтовка (highway=track) проходит через мост, то на мосту должны быть следующие теги:


brigde=yes
highway=track

Таки да, highway=track, а вовсе не highway=unclassified или как-то еще, несмотря на то на мосту разумеется есть покрытие. Поскольку мост - вообще искусственное сооружение, мостов без покрытия не бывает.

Мораль: у нас принята классификаия по значимости, и highway=track это тоже касается.

Обсуждение тут:
http://forum.openstreetmap.org/viewtopic.php?pid=182142#p182142

Дамы и господа! Хочу вам представить валидатор связности рутингового графа.

Что такое "рутинговый граф"? Это граф, по которому строится маршрут в навигационной программе. Попросту сказать, просто связанные между собой дороги.

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

Какие дороги включаются в рутинг?
В данном валидаторе в рутинговый граф включаются дороги, предназначенные для *транзитного движения автомобилей*, а именно дороги от trunk и  заканчивая residential/unclassified.

service/track в рутинг не включаются, но граф дорог должен быть связан и без них.  Это и понятно, потому что если между точками А и Б есть маршрут, то он пролегает по "транзитным" дорогам.
Кроме того, highway=residential не может "висеть" на highway=service. Потому что как то же на нее заезжают. А если заезжают, то те улицы, по которым заезжают - транзитные, highway=residential/unclassified

Также отдельно хочу напомнить, что highway=track - это не есть просто дорога без покрытия. Это дорога по полям, которая имеет сугубо местное значение, например, та, по которой сельхозтехника выезжает на эти поля.  Дорога, принадлежащая соединительной сети (например дорога между населенными пунктами), это highway=unclassified+surface=unpaved(earth, dirt, gravel, etc).
Поэтому не может быть такого, что посреди поля track переходит в unclassified, а потом снова в track.

А какие дороги НЕ включаются в рутинг?
Дворовые проезды highway=service, козьи тропы highway=track, а  так же все пешеходные тропы/дорожки, и, временно, highway=pedestrian (про pedestrian  см ниже).

See full entry

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

Весь процесс держится на том, что язык все-таки служит для передачи информации. Человек заинтересован в том, что бы другие его поняли.
--
Более того, уже в пору говорить о диалектных отличиях. То как тегируют в России (в частности, адреса), отличается от того как тегируют в Европе.

Модернизировал немного валидатор. Из инноваций:
1. Можно посмотреть ошибки разных типов отдельно.
* (I) Дом вне НП
* (II) Улица не задана
* (III) Улица не найдена
* (IV) Улица не связана с городом
* (V) Дом номеруется по территории
* (VI) Улица не является рутинговой в СГ

2. Появилась защита от переполнения. За раз выводится до 4 тысяч ошибок. 7021 дом в Ивановской области без addr:street - это, прямо говоря, за гранью.