You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#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,843
Re: Валидатор водных объектов
Scaurr0ck, отличный валидатор!
Вопрос - почему озеро Окункуль находится Номинатимом, а в валидаторе его нет? Потому что "Окункуль" в ГВР - альтернативное имя?
Пожелание - добавить координаты недостающих озер и водохранилищ из GNS. Имхо, гораздо быстрее бы дорисовались недостающие водоемы.
Полу-оффтоп: в связи с появлением ключа water=lake/reservoir/pond указывать статусную часть водоема (озеро/водохранилище/пруд) в подписи нет необходимости, статус однозначно следует из тега water. Может быть, есть смысл создать бота, который присвоит водоему тип? Потом можно будет и статусные части удалить.
Offline
#3 2011-05-30 06:14:48
- Miroff
- Member
- Registered: 2010-01-26
- Posts: 172
Re: Валидатор водных объектов
После получения доступа к зеркалу базы openstreetmap хочу переделать алгоритм загрузки, тогда обновления можно будет делать более часто.
Вроде как для минутной репликации не требуется какой-то особенный "доступ".
Offline
#4 2011-05-30 07:23:42
- dedNikifor
- Member
- From: Белгород
- Registered: 2009-09-11
- Posts: 3,419
Re: Валидатор водных объектов
/// Потом можно будет и статусные части удалить.
удалить не из ОСМ, надеюсь?
Offline
#5 2011-05-30 07:29:08
- Zverik
- Moderator
- From: Tallinn
- Registered: 2010-10-14
- Posts: 5,696
- Website
Re: Валидатор водных объектов
А можно ещё длину нарисованных рек писать? Чтобы сравнить с данными гвр.
И используется ли в проверке топология? То есть, проверка не только названия и кода гвр, но и того, в какую реку/озеро река втекает.
Last edited by Zverik (2011-05-30 07:36:43)
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,843
Re: Валидатор водных объектов
/// Потом можно будет и статусные части удалить.
удалить не из ОСМ, надеюсь?
А откуда ж еще? "Озеро озеро Шарташ", имхо, есть масло масляное.
Offline
#8 2011-05-30 08:17:08
- Scaurr0ck
- Member
- Registered: 2010-12-17
- Posts: 203
Re: Валидатор водных объектов
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,821
Re: Валидатор водных объектов
/// Потом можно будет и статусные части удалить.
удалить не из ОСМ, надеюсь?
Щас в OSM с этим сплошной разнобой. Надо или удалять или добавлять тем, у кого нету.
Offline
#10 2011-05-30 08:19:48
- Scaurr0ck
- Member
- Registered: 2010-12-17
- Posts: 203
Re: Валидатор водных объектов
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: Валидатор водных объектов
А можно ещё длину нарисованных рек писать? Чтобы сравнить с данными гвр.
И используется ли в проверке топология? То есть, проверка не только названия и кода гвр, но и того, в какую реку/озеро река втекает.
Есть такая задумка, но пока это не реализовано. При сравнивании в JOSMе кстати большие расхождения, как правило измеренная длина в JOSMе оказывается больше, иногда в разы.
Топология пока тоже не используется, это в ближайших планах.
Offline
#12 2011-05-30 08:26:16
- Scaurr0ck
- Member
- Registered: 2010-12-17
- Posts: 203
Re: Валидатор водных объектов
Ссылочку на JOSM было бы тоже неплохо добавить.
Подскажите, где прочитать правила формирования ссылки на JOSM?
Offline
#13 2011-05-30 08:36:23
- dimuzz
- Member
- From: Екатеринбург
- Registered: 2009-09-10
- Posts: 1,843
Re: Валидатор водных объектов
Про GNS подскажите, как оттуда взять данные.
Думаю, Aleksandr Dezhin сможет подсказать, в его валидаторе реализовано.
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: Валидатор водных объектов
Zverik wrote:А можно ещё длину нарисованных рек писать? Чтобы сравнить с данными гвр.
Есть такая задумка, но пока это не реализовано. При сравнивании в JOSMе кстати большие расхождения, как правило измеренная длина в JOSMе оказывается больше, иногда в разы.
В ГВР наверянка много ошибок, поэтому изза расхождений не стоит особо париться. Но зато будет лишний повод проверить данные.
Offline
#15 2011-05-30 09:06:54
- dedNikifor
- Member
- From: Белгород
- Registered: 2009-09-11
- Posts: 3,419
Re: Валидатор водных объектов
dedNikifor wrote:/// Потом можно будет и статусные части удалить.
удалить не из ОСМ, надеюсь?
Щас в OSM с этим сплошной разнобой. Надо или удалять или добавлять тем, у кого нету.
уж лучше добавлять, чем удалять
отсечь лишнее всегда можно в процессе постобработки
Offline
#16 2011-05-30 14:46:33
- Stud555
- Member
- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- 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: Валидатор водных объектов
Надеюсь правильно вкурил тему и для р.Истра добавил тег 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
Offline
#19 2011-05-31 08:40:25
- dedNikifor
- Member
- From: Белгород
- Registered: 2009-09-11
- Posts: 3,419
Re: Валидатор водных объектов
а что означают выделенные желтым "предупреждения"?
напишите мини-фак, пожалуйста..
Offline
#20 2011-05-31 09:14:30
- Scaurr0ck
- Member
- Registered: 2010-12-17
- Posts: 203
Re: Валидатор водных объектов
а что означают выделенные желтым "предупреждения"?
напишите мини-фак, пожалуйста..
Немного поменял текст шапки таблицы и добавил инфу в стартовое сообщение.
Offline
#21 2011-05-31 12:35:14
- pankdm
- Member
- From: Moscow | Kemerovo
- Registered: 2010-08-20
- Posts: 320
Re: Валидатор водных объектов
Единственным способом устранить неоднозначное соответствие на данный момент является установка тега gvr:code.
Я считаю, что не стоит торопиться и проставлять gvr:code всем подряд не определившимся речкам. Когда будет добавлена проверка топологии, то большинство из неопределившихся речек - определится правильно. А проставление кода - уже должно быть крайней мерой.
Посмотрите, например, на валидатор границ - там никакие коды в базу не добавляются, кроме okato:user в исключительных ситуация.
Offline
#22 2011-06-03 11:08:14
- Scaurr0ck
- Member
- Registered: 2010-12-17
- Posts: 203
Re: Валидатор водных объектов
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: Валидатор водных объектов
Переделал алгоритм сопоставления, теперь учитывается место впадения реки. Запустил обновление (к сожалению пока не получается настроить автоматический запуск), часа через 3 можно будет увидеть результат.
А можете посмотреть, почему вот эта река не определяется? (Можно увидеть, что последний сегмент впадает в реку Южная Уньга, которая прекрасно определилась валидатором.)
Offline
#25 2011-06-06 03:01:13
- Scaurr0ck
- Member
- Registered: 2010-12-17
- Posts: 203
Re: Валидатор водных объектов
Что-то не так сработало, я ожидал другие результаты, буду смотреть почему.
Offline