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

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

Ну пускай будет хотя бы ссылка на рамку вокруг объекта.
А саму ссылку на потлатч сделать из этого легко: ввв.осм.орг/edit?lat=<среднее между maxlat и milat>&lon=<среднее между maxlon и minlon>&zoom=18

Хочу уточнить, если улицы, по которой числится адрес дома, в жизни вообще не существует - такой адрес не попадет в адресный поиск СитиГида? Можно ли с этим что-то сделать?

//Хочу уточнить, если улицы, по которой числится адрес дома, в жизни вообще не существует - такой адрес не попадет в адресный поиск СитиГида?
Хороший вопрос. На данном этапе - нет, не попадет.

//Можно ли с этим что-то сделать?
Можно две вещи.
а) написать петицию, собрать подписи, и отправить в МИТ, чтобы они переделали адресный поиск.
б) придумать какие-нибудь теги (типа cg_proxy_address=Улица Несуществующего) и присваивать их безымянным рутинговым линиям, что бы они таки искались.

имхо проблема немного в другом.

  1. есть города с адресацией по микрорайонам или со смешенной. естественно highway с name=“м-он Березина” отсутствует. все дома теряются
  2. бывает ситуация когда остаётся дом с адресом, а улицы по каоторой он стоял уже нет (в Минске знаю парочку таких) - аналогично. дом теряется

wildMan, то что ты написал, это не проблема, это данность. :slight_smile: А проблема в том что случаи 1) и 2) не возможно обработать в рамках модели адресации в СГ (без костылей).

Кто скажет, в Гармине и Навителе эта проблема как-то решается?

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

Понятно. Liosha, раз ты здесь, :slight_smile: напомни, place на отношениях osm2mp поддерживается?

Поддерживается.

Zkir, а СГ роутит к домам на улице только по этой самой улице? Он не умеет заводить с другой улицы, если до нее ближе, чем до той, по которой дом имеет адрес?

Справедливости ради в новых приборах у Garmin реализована уже точечная адресация.

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

Обещанные соображения по философским вопросам. :slight_smile:

Вот именно, если улица используется как улица: дома стоят, люди ходят, машины ездят, есть название, адресация, то это улица (residential) и есть. Так что highway=track + name=улица Пупкина это ошибка 100%. Улица может быть без покрытия, насколько угодно разбита, но от этого она не перестает быть улицей. Возможно, конечно это ошибка II рода, когда это никакая не улица, а колея у кого-то на заднем дворе. Но тогда нужно с такого track сносить name. Тоже касается и service. Ну что может значить highway=service + name=проспект Коммунистов ? что это не улица, а дворовые проезды, только именованные?

Что значит вместо? Так есть улица или нет улицы? :slight_smile: Если нет улицы, то оправданно ли эти тропинки оправданно носят название «улица»?

А что такое “улица”? :slight_smile:

Есть дома, приписаные к некой улице. В офицальной карте указано, что улица проходит между этими домами. А на деле там пустырь с протоптаными пешеходными тропинками. :slight_smile:

А ещё есть адреса вида “Больничная горка, дом 3”, “Фарфоровский пост, дом 42”. Это уже вообще нифига не улицы, а название области. А на некоторых картах их таки делают улицами. И потом появляются перлы типа “улица Больничная горка”, “деревня Будка железной дороги 12 км” и т.п. порождения компьютерной обработки.

Сдаётся мне что многие такие “фантомные” объекты на современных картах как раз и появились из-за несовершенства программ, обязательно требующих для поиска применения только своей ограниченой классификации.

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

Добавил сводную таблицу. Надеюсь меня за этот скрипт не погонят с гислаб:) Теперь можно посмотреть кто где. Из регионов лидеров наиболее благополучная ситуация с Екатеринбургом - всего 1.6% ошибок.

С Осетией похоже какой-то прикол, но в mp попадает в самом деле один (1) адрес. Буду курить валидатор дальше.

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

PS: Чтобы не быть голословным, берём к примеру Кандалакшу в валидаторе, там указано что:
Кандалакша 3-й Локомотивный пер. 1
Кандалакша 3-й Локомотивный пер. 6
Кандалакша 3-й Локомотивный пер. 5
Кандалакша 3-й Локомотивный пер. 15
Кандалакша 3-й Локомотивный пер. 4

теперь открываем
http://osm.org/go/039AnhqyX
и смотрим у всех домов полное имя 3-й Локомотивный переулок, причём изменения внесены уже довольно давно. Может я чего не понимаю? Объясните. :slight_smile:

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

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

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


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

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