RU talk:Ошибки границ

From OpenStreetMap Wiki
Jump to navigation Jump to search

"Внутри границы населённого пункта могут находится точки place только со значением suburb." - а как же точка, обозначающая этот же самый населеный пункт? --Ponzu 09:00, 19 April 2011 (BST)

Это, в целом, очевидно, но дописал комментарий. --Zverik 09:49, 19 April 2011 (BST)

Пояснение к 'Границе населённого пункта'

Записано:

Может быть случай, когда граница населённого пункта и административная граница совпадают. Тогда порядок действий один: превратить границу населённого пункта в мультиполигон, удалить с линии только вышеперечисленные теги, у мультиполигона оставить теги boundary, admin_level, name и поменять значение type на boundary. Таким образом, граница населённого пункта и административная граница представляются разными объектами, и позволяют независимую обработку.

Меня именно этот случай больше всего интересует, так как применим ко всем городам, с которыми я работаю. Сейчас имеет место именно описанный вами сценарий: каждый город обрисован замкнутой линией с тегами place=city, boundary=administrative, admin_level=8, name=*. Дело усугубляется тем, что города сопрягаются вплотную, и каждая точка на границе в результате принадлежит двум линиям. В идеале хотелось бы побить эти замкнутые линии на участки, избавиться от повторных и добавить каждый оставшийся сегмент не более чем в два отношения bоunadry для двух соседних городов. Но тег place ведь при этом не спасти? Правомерно ли решение, когда будут существовать только отношения boundary и точки place, а контуров place не будет? И если правомерно, то можно ли его распространить на все случаи, когда административная граница совпадает с физической?

Во-первых, убедитесь по всем возможным источникам, что граница города точно является административной. Найдите город в валидаторе и убедитесь, что ему соответствует городское поселение.
А можно валидатор настроить, скажем, на какой-то штат США? ;)
Ну, при некотором приложении усилий — да. Можно попросить помощи у Дежина. --Zverik 08:05, 22 April 2011 (BST)
Ну, это я уж так.--Ponzu 19:08, 22 April 2011 (BST)
Далее, здесь две задачи: превращение границ в мультиполигоны и разделение тегов. Тег place ничем не отличается от других площадных тегов, и его всегда можно повесить на мультиполигон. Другими словами, в идеальном случае для каждого города будет сделан мультиполигон place=*, плюс для городского поселения (или городского округа) будет создано отношение границы по тем же самым линиям.
Как мне кажется, вы рекомендуете каждый отрезок добавлять в два отношения: мультиполигон с тегом place=* и name=*, и boundary с тегами boundary=administrative, admin_level=* и name=то же самое. Очертания двух мультиполигинов (а, как известно, boundary это подвид, если не синоним мультиополигона) будут идентичны. Я это наконец уяснил, и понимаю, что это помогает лишний раз подчеркнуть логическую разницу между населенным пунктом и администратвной границей. Но на практике - не лучше ли просто добавить так place=* к boundary? Тем более, что Номинатим, как основной способ поиска по OSM, доступный мировой общественности (я догадываюсь, что в России наваяли еще много чего и на Номинатим смотрят с легкой усмешкой) эту логическую разницу проводит в жизнь путем создания двух объектов. Я думал, что это недочет, оказывается, в этом есть какой-то смысл.
Конечно, можно вешать все теги на одно отношение или полигон. Это тоже верно, хотя, по мне, как-то неаккуратненько :) --Zverik 08:05, 22 April 2011 (BST)
Ваши объяснения в на двух страничках вики, плюс попытки ответов в Help форуме я резюмировал здесь. Если будет желание, оглядите, пожалуйста на предмет правильности.--Ponzu 19:06, 22 April 2011 (BST)
Прочитал, в целом всё так. Спасибо, что подытожили для англоязычных читателей. --Zverik 20:06, 22 April 2011 (BST)
Сразу рекомендую поставить плагин Relation Toolbox: там эта операция пройдёт в несколько кликов (не считая слияния мультиполигонов по границе). Просто для полигона с boundary нажмите правую кнопку на «Multi», включите режим постройки отношений границы, тыкните в кнопку. Затем снова правую кнопку и отключите режим, и тыкните. Получится два отношения: границы и мультиполигон place. Для обычного города (не поселения/округа) достаточно одного мультиполигона. Затем останется разделить колльца, дублирующиеся линии и замкнуть разорванные отношения. --Zverik 07:02, 20 April 2011 (BST)
Придется учиться работать в JOSM. Для такого проекта, как я затеял, от него, как видно, не уйти. Спасибо за наводку.--Ponzu 01:17, 21 April 2011 (BST)
Рисовать в JOSM всегда полезнее: меньше вероятность что-нибудь ненароком поломать. --Zverik 08:05, 22 April 2011 (BST)
Мне понравилось, спасибо. --Ponzu 19:16, 22 April 2011 (BST)

О type=boundary

Записано: "Административные границы рисуются правильными мультиполигонами type=boundary" Если посмотреть основную страницу Relation:boundary, там написано ставить type=multipolygon или type=boundary. Сказано, что программы должны поддерживать оба варианта, что в одних странах так, в других сяк, и что в настоящее время (какое, не указано) принято размечать роли в соответствии с паравилами мультиполигонов, но называть при этом type=boundary. Красота! При этом на Help.osm.org, мне сказали (хотя и с пометкой ИМХО, но крупный авторитет), что type=boundary лучше не использовать, и что OSM Inspector - не единственный, конечно, но уважаемый чекер - покажет предупреждение, если использован type=boundary. Налицо разброд и шатания.

Конечно, мнения насчёт правильных тегов у разных мапперов разные. В России принято использовать boundary, в Америке может быть как-нибудь по-другому. Судя по вики type=boundary и type=multipolygon эквивалентны, но в своём плагине я их разделяю: так удобнее. --Zverik 08:05, 22 April 2011 (BST)

Снос тега ради валидатора

Фактически, предлагается ради того, чтобы где-то что-то не отображалось красным, сносить в каких-то случаях вполне правильно проставленные теги place=allotments. landuse - это landuse, а place - это place. Не лучше ли научить валидатор пропускать place=allotments, чем сносить теги из-за того, что кому-то не нравится красный цвет? Dinamik 21:33, 25 October 2011 (BST)

Не очень понял о чем спор, но учить валидатор пропускать place=allotments не стоит, так как он его никогда и не обрабатывал. --Aleksandr Dezhin 03:52, 26 October 2011 (BST)
Насколько я понимаю, валидатору не нравится, если он натыкается на обозначенное как, например, place=hamlet садоводство, т. к. он не может его найти. Zverik предлагает в этом случае заменять place=hamlet на landuse=allotments ("Заменить тег place или его значение на правильное: landuse=allotments для садоводств, place=locality для урочища."). Я считаю, что замена place=hamlet на landuse=allotments не является корректной, т. к. в этом случае, например, может поломаться адресация и полагаю, что place=hamlet должно заменяться на place=allotments, place=allotments + landuse=allotments либо landuse=allotments (если адресации нет) ("Заменить тег place или его значение на правильное: place=allotments, landuse=allotments либо place=allotments + landuse=allotments для садоводств, place=locality для урочища."). Если валидатор обрабатывает place=hamlet, но не обрабатывает place=allotments, то замена place=hamlet на place=allotments для садоводств как раз устраняет ошибку. Dinamik 01:32, 28 October 2011 (BST)