OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

Announcement

The forum software has recently been upgraded. Not all previous modifications have been re-applied yet, see here for more info and problem reporting.

#1 2011-05-30 04:16:28

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

Хочу представить вашему вниманию свою разработку - Валидатор водных объектов по данным Государственного водного реестра.
Находится он по адресу
http://vwo.osm.rambler.ru

Для сравнения отбираются отношения и линии с тегами natural=water, landuse=reservoir (водоемы); линии с тегами waterway=river, waterway=stream, waterway=canal (водные пути).

Первоначальное сопоставление данных происходит по тегу gvr:code=*, затем по name=*. Водные пути предварительно объединяются в цепочки: конечная точка линии водного пути должна являться начальной точкой следущей линии этого водного пути. При сопоставлении также учитывается, куда впадает данный водный путь. Например в базе ОСМ есть 2 реки с именем Ольховка, одна из них впадает в реку Коса, другая в реку Лупья. Если Коса и Лупья сопоставлены с водным реестром и в водном реестре содержится информация о том, что у Косы и Лупья есть притоки с именем Ольховка, обе реки Ольховка также будут успешно сопоставлены.

Зеленый цвет означает удачно сопоставленные объекты - с обоих сторон (в водном реестре и в OSM) есть только один объект с таким gvr:code (name) или их несколько, но помогло сопоставление по месту впадения.

Желтый цвет означает что однозначно сопоставить водный объект  не удалось - в водном реестре и/или базе OSM есть несколько объектов с таким gvr:code (name) и по месту впадения реки однозначно определить ее не удалось (либо река никуда не впадает, а "висит" в воздухе). Нажав на ссылку !!!, можно увидеть список всех этих объектов.

Красный цвет означает ошибки топологии. Топология на данный момент проверяется для случая впадения одной реки в другую или водоем. Обязательным условием является наличие в базе водного реестра записи о том, куда впадает данная река (колонка "Впадает в" должна быть заполненной). Нажав на ссылку !!!, можно увидеть объяснение данной ошибки: куда должна впадать река по данным ГВР и куда она впадает по данным ОСМ.

Для устранения неоднозачности реки следует в первую очередь устранить неоднозначность реки или водоема, в которую/ый она впадает (рекурсивно для рек). Скорее всего, после этого неоднозначность устранится. Если это не помогает:
  1. Если у реки есть несколько притоков с одинаковым именем, однозначно нужно проставить тег gvr:code.
  2. Для рек, впадающих в моря/заливы, помогает только gvr:code.
  3. Если река "висит" в воздухе, надо продлить ее до впадения в другую реку, водоем либо соединения с самой собой.
  4. Если водный объект отсутствует в водном реестре, но есть другие объекты с таким же именем, на отсутствующий объект необходимо установить тег gvr:code=0. Объекты с таким тегом валидатор игнорирует и не пытается сопоставлять с водным реестром.

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

Если водный объект в валидаторе имеет наименование, отличающееся от общепринятого и дополнительное наименование тоже отличается от общепринятого, он не может быть распознан по имени (установка тега alt_name не поможет, он не обрабатывается валидатором). Можно проставить ему тег gvr:code, чтобы он опознался по коду. Но лучше исправить наименование в валидаторе, для этого нажмите на картинку в колонке "Заметили ошибку?" и укажите правильное, на ваш взгляд, наименование (существующее наименование при этом желательно перенести в дополнительное). Желательно привести ссылку, где можно убедиться в том, что указанное вами наименование верное.

Таким же образом (через "Заметили ошибку?") можно отправить запрос на редактирование любых других данных водного объекта, например указать водный объект, в который он впадает или исправить сторону впадения и т.д. Основное требование - обоснование правильности ваших данных.
При отправке запроса на редактирование можно указать e-mail, на который после одобрения/отклонения  придет сообщение с перечислением одобренных/отклоненных объектов.


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

Last edited by Scaurr0ck (2012-12-24 11:09:45)

Offline

#2 2011-05-30 06:09:20

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,842

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

Scaurr0ck, отличный валидатор!
Вопрос - почему озеро Окункуль находится Номинатимом, а в валидаторе его нет? Потому что "Окункуль" в ГВР - альтернативное имя?
Пожелание - добавить координаты недостающих озер и водохранилищ из GNS. Имхо, гораздо быстрее бы дорисовались недостающие водоемы.
Полу-оффтоп: в связи с появлением ключа water=lake/reservoir/pond указывать статусную часть водоема (озеро/водохранилище/пруд) в подписи нет необходимости, статус однозначно следует из тега water. Может быть, есть смысл создать бота, который присвоит водоему тип? Потом можно будет и статусные части удалить.

Offline

#3 2011-05-30 06:14:48

Miroff
Member
Registered: 2010-01-26
Posts: 136

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

Scaurr0ck wrote:

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


Вроде как для минутной репликации не требуется какой-то особенный "доступ".

Offline

#4 2011-05-30 07:23:42

dedNikifor
Member
From: Свердловская обл.
Registered: 2009-09-11
Posts: 3,414

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

/// Потом можно будет и статусные части удалить.

удалить не из ОСМ, надеюсь?


Графическая (в виде карты с точками опасных объектов) база спидкамов для разных навигационных программ. Подложка OSM присутствует

Offline

#5 2011-05-30 07:29:08

Zverik
Member
From: Москва
Registered: 2010-10-14
Posts: 4,977
Website

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

А можно ещё длину нарисованных рек писать? Чтобы сравнить с данными гвр.

И используется ли в проверке топология? То есть, проверка не только названия и кода гвр, но и того, в какую реку/озеро река втекает.

Last edited by Zverik (2011-05-30 07:36:43)


ШТОСМ | josm.ru | osm радио | обо мне | мы картировать не бросим!

Offline

#6 2011-05-30 07:35:12

pankdm
Member
From: Moscow | Kemerovo
Registered: 2010-08-20
Posts: 320

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

Ссылочку на JOSM было бы тоже неплохо добавить.

Offline

#7 2011-05-30 07:44:54

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,842

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

dedNikifor wrote:

/// Потом можно будет и статусные части удалить.

удалить не из ОСМ, надеюсь?

А откуда ж еще? "Озеро озеро Шарташ", имхо, есть масло масляное.

Offline

#8 2011-05-30 08:17:08

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

dimuzz wrote:

Scaurr0ck, отличный валидатор!
Вопрос - почему озеро Окункуль находится Номинатимом, а в валидаторе его нет? Потому что "Окункуль" в ГВР - альтернативное имя?
Пожелание - добавить координаты недостающих озер и водохранилищ из GNS. Имхо, гораздо быстрее бы дорисовались недостающие водоемы.
Полу-оффтоп: в связи с появлением ключа water=lake/reservoir/pond указывать статусную часть водоема (озеро/водохранилище/пруд) в подписи нет необходимости, статус однозначно следует из тега water. Может быть, есть смысл создать бота, который присвоит водоему тип? Потом можно будет и статусные части удалить.

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

Offline

#9 2011-05-30 08:18:01

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,078

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

dedNikifor wrote:

/// Потом можно будет и статусные части удалить.

удалить не из ОСМ, надеюсь?

Щас в OSM с этим сплошной разнобой. Надо или удалять или добавлять тем, у кого нету.

Offline

#10 2011-05-30 08:19:48

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

Miroff wrote:
Scaurr0ck wrote:

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

Вроде как для минутной репликации не требуется какой-то особенный "доступ".

Мой проект хостится на рамблеровском сервере
http://wiki.openstreetmap.org/wiki/RU:С … в_Рамблере
там есть зеркало - база на PostgreSQL, плохо только что я про нее узнал поздно, а то бы сразу делал с использованием ее в качестве источника.

Offline

#11 2011-05-30 08:22:36

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

Zverik wrote:

А можно ещё длину нарисованных рек писать? Чтобы сравнить с данными гвр.

И используется ли в проверке топология? То есть, проверка не только названия и кода гвр, но и того, в какую реку/озеро река втекает.

Есть такая задумка, но пока это не реализовано. При сравнивании в JOSMе кстати большие расхождения, как правило измеренная длина в JOSMе оказывается больше, иногда в разы.
Топология пока тоже не используется, это в ближайших планах.

Offline

#12 2011-05-30 08:26:16

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

pankdm wrote:

Ссылочку на JOSM было бы тоже неплохо добавить.

Подскажите, где прочитать правила формирования ссылки на JOSM?

Offline

#13 2011-05-30 08:36:23

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,842

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

Scaurr0ck wrote:

Про GNS подскажите, как оттуда взять данные.

Думаю, Aleksandr Dezhin сможет подсказать, в его валидаторе реализовано.

Scaurr0ck wrote:
pankdm wrote:

Ссылочку на JOSM было бы тоже неплохо добавить.

Подскажите, где прочитать правила формирования ссылки на JOSM?

http://wiki.openstreetmap.org/wiki/JOSM … oteControl
Например, загрузить и показать вей - http://127.0.0.1:8111/import?url=http:/ … y_id>/full

Offline

#14 2011-05-30 08:45:43

pankdm
Member
From: Moscow | Kemerovo
Registered: 2010-08-20
Posts: 320

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

Scaurr0ck wrote:
Zverik wrote:

А можно ещё длину нарисованных рек писать? Чтобы сравнить с данными гвр.

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

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

Offline

#15 2011-05-30 09:06:54

dedNikifor
Member
From: Свердловская обл.
Registered: 2009-09-11
Posts: 3,414

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

Sergey Astakhov wrote:
dedNikifor wrote:

/// Потом можно будет и статусные части удалить.

удалить не из ОСМ, надеюсь?

Щас в OSM с этим сплошной разнобой. Надо или удалять или добавлять тем, у кого нету.

уж лучше добавлять, чем удалять
отсечь лишнее всегда можно в процессе постобработки


Графическая (в виде карты с точками опасных объектов) база спидкамов для разных навигационных программ. Подложка OSM присутствует

Offline

#16 2011-05-30 14:46:33

Stud555
Member
From: г.Истра, МО
Registered: 2010-07-05
Posts: 560
Website

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

Надеюсь правильно вкурил тему и для р.Истра добавил тег gvr:code. Вот правка: http://www.openstreetmap.org/browse/changeset/8292261 Правильно?


Карты для Навител, Гис Руссы. Разработка ОСМ.РУ, вики

Offline

#17 2011-05-31 04:10:46

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

Stud555 wrote:

Надеюсь правильно вкурил тему и для р.Истра добавил тег gvr:code. Вот правка: http://www.openstreetmap.org/browse/changeset/8292261 Правильно?

Ну в общем правильно, только добавлять gvr:code надо для всех линий реки. И еще, валидатор не понимает разветвлений, для него водоток должен быть цепочкой: каждая следующая линия начинается в точке, где заканчивается предыдущая.

Offline

#18 2011-05-31 04:49:28

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

Добавил ссылки для JOSM.

Offline

#19 2011-05-31 08:40:25

dedNikifor
Member
From: Свердловская обл.
Registered: 2009-09-11
Posts: 3,414

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

а что означают выделенные желтым "предупреждения"?
напишите мини-фак, пожалуйста..


Графическая (в виде карты с точками опасных объектов) база спидкамов для разных навигационных программ. Подложка OSM присутствует

Offline

#20 2011-05-31 09:14:30

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

dedNikifor wrote:

а что означают выделенные желтым "предупреждения"?
напишите мини-фак, пожалуйста..

Немного поменял текст шапки таблицы и добавил инфу в стартовое сообщение.

Offline

#21 2011-05-31 12:35:14

pankdm
Member
From: Moscow | Kemerovo
Registered: 2010-08-20
Posts: 320

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

Scaurr0ck wrote:

Единственным способом устранить неоднозначное соответствие на данный момент является установка тега gvr:code.

Я считаю, что не стоит торопиться и проставлять gvr:code всем подряд не определившимся речкам. Когда будет добавлена проверка топологии, то большинство из неопределившихся речек - определится правильно. А проставление кода - уже должно быть крайней мерой.
Посмотрите, например, на валидатор границ - там никакие коды в базу не добавляются, кроме okato:user в исключительных ситуация.

Offline

#22 2011-06-03 11:08:14

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

pankdm wrote:
Scaurr0ck wrote:

Единственным способом устранить неоднозначное соответствие на данный момент является установка тега gvr:code.

Я считаю, что не стоит торопиться и проставлять gvr:code всем подряд не определившимся речкам. Когда будет добавлена проверка топологии, то большинство из неопределившихся речек - определится правильно. А проставление кода - уже должно быть крайней мерой.
Посмотрите, например, на валидатор границ - там никакие коды в базу не добавляются, кроме okato:user в исключительных ситуация.

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

Также сделал общие итоги на главной странице, сейчас 2943 успешно сопоставленных объекта и 11829 неоднозначных. Посмотрим что будет после обновления.

Offline

#23 2011-06-03 16:20:55

TarzanASG
Member
From: Москва
Registered: 2010-09-27
Posts: 492
Website

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

А не подскажите почему Мезенка вот здесь жёлтая? Я же вставил gvr:code 1 июня.


Знаю OSM с 2007, присоединился в 2009. Одним из первых начал популяризировать OSM.
Поддержите Викиданные, Wikivoyage, Creative Commons, Викисклад!

Offline

#24 2011-06-04 19:45:45

pankdm
Member
From: Moscow | Kemerovo
Registered: 2010-08-20
Posts: 320

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

Scaurr0ck wrote:

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


А можете посмотреть, почему вот эта река не определяется? (Можно увидеть, что последний сегмент впадает в реку Южная Уньга, которая прекрасно определилась валидатором.)

Offline

#25 2011-06-06 03:01:13

Scaurr0ck
Member
Registered: 2010-12-17
Posts: 203

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

Что-то не так сработало, я ожидал другие результаты, буду смотреть почему.

Offline

Board footer

Powered by FluxBB