Валидатор водных объектов

Конретно Кондома желтая потому что:

  1. Часть линий waterway=stream, остальные waterway=river. Объединять в одну цепочку stream и river я считаю неправильным, тег waterway должен быть одинаков на всем протяжении, ведь это все одна и та же река, пускай у истока она и похожа на ручеек.
  2. Река Томь, в которую она впадает, не определилась однозначно (тоже желтая).

У реки Тельбес при обработке не нашлось место впадения, потому что не нашлось реки с местоположением “КАР/ОБЬ/2677/585/102”. Теоретически на 102 км. р. Кондома в нее могут впадать несколько рек, поэтому по данным ГВР сказать однозначно что Тельбес впадает в Мундабыш нельзя.

Изменения таки есть, на этой странице видно, что у всех линий есть тег gvr:code, но:

  1. Судя по всему тег gvr:code поставлен на все протоки тоже, а как я писал, разветвлений валидатор на данный момент не понимает. Нужно либо оставить gvr:code только на одном пути, убрав на параллельных; либо ждать пока я доработаю валидатор, чтобы он понимал протоки.
  2. Участки с одинаковым gvr:code, но разными name, будут разными цепочками. Предлагаю оставить gvr:code только до границы России и сделать “name”=“Урал” также до границы России.

Хех… не все так просто.
Урал после Орска, а точнее после Новотроицка протекает прям по границе Казахстана и России, причем судя по карте OSM туда-сюда переходит много раз… Потом опять заходит глубоко в Россию, в сторону Оренбурга, потом опять на границу, долго-долго идя параллельно метаясь туда-сюда… а уж потом только уходит на юг в Казахстан… и вот где в name заносить “Урал”, а где уже “Жайық” ???

У пограничных рек договаривались в name вносить двойное название, а русское - в name:ru

Разумный аргумент. Конодму пофиксил.

Понятно, буду разбираться.

Вот еще такое пожелание: можно ли как-то при проверке учитывать сокращения “Бол.” и “Мал.”? (я имею ввиду, что в ГВР часто пишут с сокращениями, а в базе хорошо бы писать полные названия “Большая / Большая”)

Если так, думаю что мне надо немного переделать алгоритм: при наличии тега name:ru брать имя из него.

Вот вот вот… идея хороша…
но тогда вопрос, если ГВР это чисто по России, то я наверно зря кусочкам в Казахстане поставил gvr:code (исправлю)
но почему тогда по этому же ГВР Урал впадает в Каспийское море не в “р.Жайық”??

Понемногу исправляю ошибки из этого списка.
Обнаружено значительное количество ложных срабатываний в незамкнутых линиях (происходит видимо из-за того, что при обрезке по границе России с запасом, часть озера оказывается отрезанным. В итоге получаем, что валидатору кажется такое озеро незамкнутым).
Можете прикрутить какую-нибудь отсеивалку таких срабатываний? (например, берем произвольную точку из линии, и если она вдруг не попала в границу России, то выкидываем весь этот way из списка)

Идею реализовал, теперь валидатор сначала пытается получить имя из name:ru, если такого тега нет, то из name.
За границами России бессмысленно ставить gvr:code, сейчас для загрузки используется дамп России, а там обрезка по границам. Да и ГВР это только Российский реестр.
В Каспийское море впадает Урал, просто на территории Казахстана эта река называется Жайық, а в ОСМ принято ставить в name имена на языке той страны, в которой данный объект находится. Если взглянуть на обычную бумажную российскую карту, по территории Казахстана протекает река Урал.

Пока решил сделать так: показывать только те водоемы, в названии которых есть русские гласные буквы.

Новая порция очередных улучшений:

  1. Теперь валидатор должен понимать протоки (параллельные русла). Но для этого они должны быть нарисованы правильно, вот картинка с примерами, как нужно и как не нужно рисовать:
    channels
    На странице правильно определенного водного пути в случае наличия проток, отдельно выводятся все протоки данного водного объекта.
    Это все появится сегодня вечером после обновления данных.
  2. На странице поиска добавлен вывод длины водотока; имя водного объекта стало ссылкой, клик по которой вызывает загрузку страницы с позиционированием на данном объекте.
  3. На странице неоднозначного соответствия вид объекта стал ссылкой, клик на которой вызывает загрузку страницы, на которой находится данный объект; имя объекта также стало ссылкой, клик по которой вызывает загрузку страницы с позиционированием на данном объекте.
  4. В основном списке для рек убрана колонка “Водосборная площадь” и добавлена колонка “Впадает в”. В колонке “Впадает в” находится ссылка на объект, в который впадет эта река. При клике на ссылку страница позиционируется на том объекте, куда впадает данная река (если он находится на этой же странице) или открывается страница, где находится этот объект с позиционированием на нём.

Scaurr0ck, можно текстовое пояснение, как правильно/неправильно изображать протоки? Что-то по картинке совсем ничего не понятно.

Вопрос к картинке: Обязательно второстепенный поток должен быть разделён на три сегмента?

Я так понял что главное чтобы куски водотока до и после не расходились в разные стороны.

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

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

Неправильные варианты
г) согласно тегам русло уходит в одну протоку, у выходит из другой
д) и e) вообще каша с тегами :slight_smile:

Я так понял дело не в тегировании, они все по идее тегируются одинаково.

Кстати, Scaurr0ck, вот тут можно взять слегка улучшенный реестр:
http://forum.openstreetmap.org/viewtopic.php?pid=88842#p88842

По измененной схеме напрашивается следующий вывод, что
Правельно:
а. Главный поток не разбивается на отдельные веи
б. Все потоки разбиваются на отдельные веи в местах их пересечений
Не правельно
Разбить поток не во всех местах пересечений потоков, т.е. смешение а и б пунктов
Верные выводы?

Картинку поменял, надеюсь так более понятно. Разными цветами обозначены отдельные линии реки, стрелкой направление течения. Основной смысл в том, что:

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