Ключевая особенность валидатора в том что он работает не по сырым данным OSM, а по польскому файлу, используемому для конвертации в СГ, поэтому в нем применяются сокращения, по традиционной для ситигидовских карт системе:
•набережная → наб.
•проспект → пр.
•площадь → пл.
•переулок → пер.
•проезд → пр-д.
•шоссе → ш.
•слово же “улица” вовсе выбрасывается, как лишнее.
В тегах же в OSM, разумеется, статусные части следует писать полностью - чтобы можно было сделать желаемые сокращения.
С Локомотивными переулками проблема в том что они service, а не residential/unclassified. Такое валидатор воспринимает как ошибку. Почему дворовый/служебный проезд не может служить единицей адресации я попытался объяснить выше.
Есть какие-то аргументы, почему 3-й Локомотивный переулок должен быть service? Что именно этим пытались сказать?
Ни разу. Улица не используется как улица и проехать по ней нельзя, однако дома по ней адресуются.
У меня в окрестности это Тенистый проезд - грунтовка по парку, закрытая к тому же для проезда bollard’ами. Сейчас отмечена как residential, но как только доберусь до туда и разведаю всё подробно, переделаю в track.
Проспект вряд-ли, проезд вполне. Опять же из окрестности - западная часть Анадырского проезда. По факту - раздолбанный проезд по стоянке, который только как таковой и используется, хотя по нему всё ещё можно проехать к домам, которые по нему адресуются, но не на всём, и никто в здравом уме так не поедет, когда с другой стороны есть нормальная дорога (безымянный residential). Именно что этот кусок анадырского перестал быть улицей в бытовом смысле, однако в официальном остался и дома никуда не делись.
Вот footway как часть улицы: http://osm.org/go/0t217COxT– http://osm.org/go/0t23F2yJ7–
это, впочем, маленькие куски, на которые вешать название улицы смысла тет, но могут быть и длинее, и улица целиком. Лосевской улицы с последнего примера со стороны Малыгинского проезда на самом деле вообще нет - там обычные петляющие дворовые проезды - тоже в планах туда съездить и исправить её на service.
В общем - 100% ошибка это связывать наличие названия и статус, а вдвойне - привязывать к этому роутинг.
Ох.
Zkir же написал, что это не баг, а фича – то есть при конвертации в формат СитиГида статусная часть “улица” специально отбрасывается.
Поэтому в этом ничего страшного нет.
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
Вот-вот, “улицы” типа “берег Невской Губы” или “67-й км МОЖД” улицами вообще ни в каком смыле не являются, и зачем их пихать в addr:street я не знаю. В вики довольно ясно записано что addr:street должна соответствовать существующей улице.
Возможно, следует ввести другой тег, например, addr:locality. Названия “бывших улиц” и микрорайонов тоже записывать в addr:locality.
Ну и можно поставить точку place=locality c тем же самым именем (если нет никого другого объекта с этим самым именем). Все-таки в адресах фигурируют не абстракции, а названия мест.
Kostik, если других аргументов а пользу service, кроме разбитости, нет, то да, переделывать, потому что улица (residential) отличается от дворового проезда (service) или следа от трактора в поле (track) вовсе не степенью разбитости. Вику читайте.
Именно что абстракции. Даже улицу “местом” назвать можно с натяжкой, а “63-й км” вообще ни разу не место.
Я вполне согласен, что “4-й микрорайон” - это объективно не улица, но с точки зрения адресации от улицы он ничем не отличается: для адресации совершенно фиолетово, есть ли у объекта проезжая часть или нет. И поэтому непонятно, зачем для него нужен какой-то другой тег.
Про place=locality написано что это необитаемое место. Хотя зачем вообще это правило не ясно, и лучшего термина чем locality для всяких берегов я сходу назвать не могу. А на английской странице place про locality написано “does not have any population”, что совершенно не тождествено “необитаемому”. Кстати, там-же появилось (может и очень давно, но на русской версии этого нет) farm - так давайте наконец добавим у себя allotments, suburb будем использовать для микрорайонов, а locality для этих эфемерных адресуемых объектов типа берега Невской Губы. Парки ещё есть - их, наверное, туда-же.
Далее, в адресах addr:<значение из этого place>=<name этого place>. Всё адресуется, всё валидируется, хотя ещё было бы неплохо иметь возможность точно указать что конечным слоем адресации является именно это suburb/locality и улицы нет и быть не может. Типа addr:no_street=yes.