Я заметил, что почти нигде полигоны (например, landuse=residential, leisure=park) не склеиваются с дорогами, которые их ограничивают. Почему? Я могу еще понять, когда между дорогой и собственно парком что-то есть (например, тротуар). Ладно, даже когда ничего нет можно понять - у дороги в OSM нет ширины, а парк кончается там, где кончается трава, а это явно не середина дороги, где проходит линия. Но нахрена оставлять дырки между дорогой и landuse?
Вот когда дороги будут рисовать полигонами landuse=road, тогда их надо будет склеивать.
А сейчас у дороги рисуют только осевую линию, а граница парка проходит не по осевой.
Кстати подумалось… существуй разные слои данных например для landuse и дорог - подобных вопросов не возникало бы.
Т.е. это специфика формата OSM. Когда все точки и линии живут в едином “пространстве” и отличаются только тегами
AMDmi3, у нас было бодалово по этому поводу кажется еще летом
Как и во всех ключевых спорах мы побились на две группы - для которых очевидно рисование по общим линиям, и которым очевидно обратное
Я вот тоже сторонник раздельновн рисования - очень не удобно двигать слипшиеся объекты, когда надо что-то уточнить. Да и просто часто не видно, какие линии идут.
coolkaas, рисовать по общим нодам имеет смысл только соприкасающиеся полигональные объекты.
А дорога - объект (пока) не полигональный
Нет принципиальной разницы между слоями и тегами. Придумай тег для обозначения слоя — будет слой. Или наоборот, можно считать все теги слоями.
P. s. Для релейшенов есть некое подобие как бы слоёв — тег type Никто не мешает такое сделать для всего остального.
Спорное утверждение. Как бы footway=yes тоже не по осевой проходит и ничего.
Неоднозначность возникает когда есть два линейных объекта, типа дорога + забор сбоку - тут уж никак не состыкуешь.
В остальных же случаях, когда общие узлы не нарушают топологию имеет смысл объединять узлы и рисовать объекты по общим нодам.
С технической стороны - действительно разницы нет. Однако с концептуальной - разница приличная.
Когда слоёная архитектура заложена изначально, то вода, дороги, границы районов - становятся для катографа полностью отдельными сущностями живущими в разных непересекающихся плоскостях. Редактируя районы, никак не затронешь дороги, т.к. редакторы разделяют карту по слоям достаточно жестко.
Такая схема имеет свои преимущества, но недостаточно гибкая, потому для ОСМ не подходит.
Хотя, в принципе, что-то подобное, вроде “виртуальных слоев”, можно было бы придумать и для OSM. Сделать возможность создавать фильтры, которые бы нарезали сплошную карту на “виртуальные слои” согласно списку заданных тегов.
Правда слои все-равно окажутся связанными между собой, т.к. многие разнотипные объекты имеют общие узлы. И править одно независимо от другого - не выйдет.
Ага. Каждый сам себе “и швец и жнец и на дуде игрец…”
Общие узлы - хорошо. Править несколько объектов, действительно имеющих общую точку - хорошо.
Только для этого нужно разделение труда.
Чего нет ни в OSM ни в традиционной картографии, ни в электронной картографии.
Даже в идеологии РИПД (российская инфраструктура пространственных данных) - нет.
Смысл в том, что топографы должны отвечать за топологию объектов, а за постоянное уточнение координат - геодезисты.
Ладно, с раздельными полигонами пожалуй согласен. Тогда такой вопрос - есть, допустим, дорога, к ней примыкает какой-нибудь явный landuse, даже с забором. Но между ним и дорогой есть пару метров пространства - тротуар там или травка. Как такое рисовать? У меня получается всегда криво:
Имхо, зависит от типа полигона.
Реальные полигоны (лес, луг, дом) к линии дороги примыкать не должны, а абстрактные (например, адм. район или зона жилой застройки) - могут.
UPD
А чтобы не выглядело криво, надо ноды у соседних полигонов рисовать рядом друг с другом.
Парочками их надо рисовать.
Не совсем понял о чем вы. Проблема в том, что непонятно, что рисовать между территорией за забором и дорогой (дорогой всмысле по спутнику). По второй ссылке территория (residential) за забором, вокруг парк. Между забором и дорогой тротуар. Чем отрисовать эту полоску? Парком не канает, потому что даже травы там нет (хотя в данном случе это, пожалуй, все-таки правильнее). Residential тоже плохо, потому что так территория вдоль забора будет отличаться от всего остального, а на деле там везде одинаковый тротуар. В общем, все сводится к необходимости рисовать дороги полигонами
Имхо: между полигоним и линией дороги не рисовать ничего и двигать пропозал landuse=road
Тогда надо будет по всему полигону делать одинаковый отступ от дороги. Хотя, наверное, если там еще footway воткнуть, будет более-менее приемлимо.
Если тротуар ничем не отделён от дороги, тогда не надо его рисовать
Я бы сказал – можно не рисовать. Если ось дороги и ось тротуара достаточно разнесены, то имеет смысл нарисовать тротуар…
Ну тогда тут еще больше нюансов, ибо если тротуар входит в состав дороги, логично не включать его в полигоны.
Кстати, согласно ПДД, тротуар является частью дороги, но только если примыкает к проезжей части или отделен от нее газоном.
Нашел два пропозала, позволяющих указывать наличие тротуаров у дороги. footway/sidewalk=none/left/right/both. К сожалению оба померли при рождении.