Универсальный валидатор (рутинг, адресация) на базе конвертации в СГ

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

•набережная → наб.
•проспект → пр.
•площадь → пл.
•переулок → пер.
•проезд → пр-д.
•шоссе → ш.
•слово же “улица” вовсе выбрасывается, как лишнее.

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


С Локомотивными переулками проблема в том что они service, а не residential/unclassified. Такое валидатор воспринимает как ошибку. Почему дворовый/служебный проезд не может служить единицей адресации я попытался объяснить выше.

Есть какие-то аргументы, почему 3-й Локомотивный переулок должен быть service? Что именно этим пытались сказать?

Ни разу. Улица не используется как улица и проехать по ней нельзя, однако дома по ней адресуются.
У меня в окрестности это Тенистый проезд - грунтовка по парку, закрытая к тому же для проезда bollard’ами. Сейчас отмечена как residential, но как только доберусь до туда и разведаю всё подробно, переделаю в track.

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

Вот-вот, и тропинки могут быть, почему нет?

Вот pedestrian в парке, по нему вполне могло бы что-то адресоваться:
http://osm.org/go/0t21tSaDz-

Вот footway как часть улицы:
http://osm.org/go/0t217COxT
http://osm.org/go/0t23F2yJ7
это, впочем, маленькие куски, на которые вешать название улицы смысла тет, но могут быть и длинее, и улица целиком. Лосевской улицы с последнего примера со стороны Малыгинского проезда на самом деле вообще нет - там обычные петляющие дворовые проезды - тоже в планах туда съездить и исправить её на service.

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

Zkir
Тогда не совсем понял смысла валидатора, если он сокращает полные имена до сокращений и выбрасывает статусную часть “улица”. Как им пользоваться?

Ох. :slight_smile:
Zkir же написал, что это не баг, а фича – то есть при конвертации в формат СитиГида статусная часть “улица” специально отбрасывается.
Поэтому в этом ничего страшного нет.

pankdm
уже понял, не внимательно прочитал пост. Интересует в чём заключается ошибка в данном конкретном вышеуказанном случае и как её исправить?

Опять невнимательно читал. Сказали же, что валидатор не любит service-улицы.

Zkir, если роутинг к дому по некоторой улице возможен и по другим улицам, то несуществующие улицы полигональные типа (микрорайоны, например) можно было бы конвертить в фиктивный отросток от роутингового графа, длиной 1 метр или типа того. Этот отросток можно приделать к роутинговому графу где-нибудь в районе центра масс полигона. А может еще лучше - вообще не присоединять этот отросток к роутинговому графу - а сделать его изолированным и расположенным в геометрическом центре полигона.

Scrup
И что теперь переделывать всё в residential? если там дороги настолько разбитые что их в пору track обзывать. В общем пока не вижу в данном валидаторе практической пользы.

Какие-то страшные способы подгонки карты к конвертеру в ситигид вы тут обсуждаете. Ничего не нужно делать специально для валидатора. Не считывает дома по highway=path или площади, не нарисованной на карте (или сделанной одной точкой) — нужно править конвертер, а не карту.

Да, по договоренности всё, что на местности является проезжей частью улицы, должны обозначаться как residential, независимо от качества покрытия. Качество покрытия описывается при помощи тегов surface, smoothness и т.д.

Если это мне, то я и предлагаю править конвертер - чтобы он генерил в картах СГ фиктивную улицу.

Другой вопрос - что если проезжей части у улицы нет, то ИМХО, улица в OSM все равно должна быть отмечена. Например, как полигон, покрывающий блок домов (если “улица” - это “9-ый микрорайон”) или еще как-то. На мой личный взгляд, “полигональные улицы” - это реально встречающаяся вещь, покрывающая почти все случаи, когда у улицы нет проезжей части - и поэтому их поддержка необходима.

Ещё раз спрошу: как в таком случае предлагается отмечать “улицы” типа “берег Невской Губы” или “67-й км МОЖД”? Или улицы, от которых уже реально вообще ничего не осталось, кроме адреса на паре домов?

Ну так может сначала стоит прочитать http://wiki.openstreetmap.org/wiki/RU:Key:addr ?
Эта схема не предполагает ни “берег Невской Губы” или “67-й км МОЖД”. Может придумать и придерживаться какой-то логичной схемы чем просто говорить что адрес это абстракция … Ну я не знаю addr:like_a_street

+1

Вот-вот, “улицы” типа “берег Невской Губы” или “67-й км МОЖД” улицами вообще ни в каком смыле не являются, и зачем их пихать в addr:street я не знаю. В вики довольно ясно записано что addr:street должна соответствовать существующей улице.

Возможно, следует ввести другой тег, например, addr:locality. Названия “бывших улиц” и микрорайонов тоже записывать в addr:locality.

Ну и можно поставить точку place=locality c тем же самым именем (если нет никого другого объекта с этим самым именем). Все-таки в адресах фигурируют не абстракции, а названия мест.

ок, какие теги и как прописывать, чтобы была адресация вида «деревня Такаято, дом 3»?

Kostik, если других аргументов а пользу service, кроме разбитости, нет, то да, переделывать, потому что улица (residential) отличается от дворового проезда (service) или следа от трактора в поле (track) вовсе не степенью разбитости. Вику читайте. :wink:

Именно что абстракции. Даже улицу “местом” назвать можно с натяжкой, а “63-й км” вообще ни разу не место.

Я вполне согласен, что “4-й микрорайон” - это объективно не улица, но с точки зрения адресации от улицы он ничем не отличается: для адресации совершенно фиолетово, есть ли у объекта проезжая часть или нет. И поэтому непонятно, зачем для него нужен какой-то другой тег.