Склеивание полигонов с дорогами

Я заметил, что почти нигде полигоны (например, landuse=residential, leisure=park) не склеиваются с дорогами, которые их ограничивают. Почему? Я могу еще понять, когда между дорогой и собственно парком что-то есть (например, тротуар). Ладно, даже когда ничего нет можно понять - у дороги в OSM нет ширины, а парк кончается там, где кончается трава, а это явно не середина дороги, где проходит линия. Но нахрена оставлять дырки между дорогой и landuse?

Вот когда дороги будут рисовать полигонами landuse=road, тогда их надо будет склеивать.
А сейчас у дороги рисуют только осевую линию, а граница парка проходит не по осевой.

Кстати подумалось… существуй разные слои данных например для landuse и дорог - подобных вопросов не возникало бы.

Т.е. это специфика формата OSM. Когда все точки и линии живут в едином “пространстве” и отличаются только тегами :slight_smile:

AMDmi3, у нас было бодалово по этому поводу кажется еще летом :slight_smile:
Как и во всех ключевых спорах мы побились на две группы - для которых очевидно рисование по общим линиям, и которым очевидно обратное :slight_smile:
Я вот тоже сторонник раздельновн рисования - очень не удобно двигать слипшиеся объекты, когда надо что-то уточнить. Да и просто часто не видно, какие линии идут.

coolkaas, рисовать по общим нодам имеет смысл только соприкасающиеся полигональные объекты.
А дорога - объект (пока) не полигональный

Нет принципиальной разницы между слоями и тегами. Придумай тег для обозначения слоя — будет слой. Или наоборот, можно считать все теги слоями. :slight_smile:

P. s. Для релейшенов есть некое подобие как бы слоёв — тег type :slight_smile: Никто не мешает такое сделать для всего остального. :slight_smile:

Спорное утверждение. Как бы footway=yes тоже не по осевой проходит и ничего.

Неоднозначность возникает когда есть два линейных объекта, типа дорога + забор сбоку - тут уж никак не состыкуешь.
В остальных же случаях, когда общие узлы не нарушают топологию имеет смысл объединять узлы и рисовать объекты по общим нодам.

С технической стороны - действительно разницы нет. :slight_smile: Однако с концептуальной - разница приличная.
Когда слоёная архитектура заложена изначально, то вода, дороги, границы районов - становятся для катографа полностью отдельными сущностями живущими в разных непересекающихся плоскостях. Редактируя районы, никак не затронешь дороги, т.к. редакторы разделяют карту по слоям достаточно жестко.

Такая схема имеет свои преимущества, но недостаточно гибкая, потому для ОСМ не подходит. :slight_smile:

Хотя, в принципе, что-то подобное, вроде “виртуальных слоев”, можно было бы придумать и для OSM. Сделать возможность создавать фильтры, которые бы нарезали сплошную карту на “виртуальные слои” согласно списку заданных тегов.

Правда слои все-равно окажутся связанными между собой, т.к. многие разнотипные объекты имеют общие узлы. И править одно независимо от другого - не выйдет.

Ага. Каждый сам себе “и швец и жнец и на дуде игрец…”
Общие узлы - хорошо. Править несколько объектов, действительно имеющих общую точку - хорошо.
Только для этого нужно разделение труда.

Чего нет ни в OSM ни в традиционной картографии, ни в электронной картографии.
Даже в идеологии РИПД (российская инфраструктура пространственных данных) - нет.

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

Ладно, с раздельными полигонами пожалуй согласен. Тогда такой вопрос - есть, допустим, дорога, к ней примыкает какой-нибудь явный landuse, даже с забором. Но между ним и дорогой есть пару метров пространства - тротуар там или травка. Как такое рисовать? У меня получается всегда криво:

http://osm.org/go/0t21kIH8f-
http://osm.org/go/0t21GhBlH

Имхо, зависит от типа полигона.
Реальные полигоны (лес, луг, дом) к линии дороги примыкать не должны, а абстрактные (например, адм. район или зона жилой застройки) - могут.

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

Парочками их надо рисовать.

Не совсем понял о чем вы. Проблема в том, что непонятно, что рисовать между территорией за забором и дорогой (дорогой всмысле по спутнику). По второй ссылке территория (residential) за забором, вокруг парк. Между забором и дорогой тротуар. Чем отрисовать эту полоску? Парком не канает, потому что даже травы там нет (хотя в данном случе это, пожалуй, все-таки правильнее). Residential тоже плохо, потому что так территория вдоль забора будет отличаться от всего остального, а на деле там везде одинаковый тротуар. В общем, все сводится к необходимости рисовать дороги полигонами :confused:

Имхо: между полигоним и линией дороги не рисовать ничего и двигать пропозал landuse=road

Тогда надо будет по всему полигону делать одинаковый отступ от дороги. Хотя, наверное, если там еще footway воткнуть, будет более-менее приемлимо.

Если тротуар ничем не отделён от дороги, тогда не надо его рисовать

Я бы сказал – можно не рисовать. Если ось дороги и ось тротуара достаточно разнесены, то имеет смысл нарисовать тротуар…

Ну тогда тут еще больше нюансов, ибо если тротуар входит в состав дороги, логично не включать его в полигоны.

Кстати, согласно ПДД, тротуар является частью дороги, но только если примыкает к проезжей части или отделен от нее газоном.

Нашел два пропозала, позволяющих указывать наличие тротуаров у дороги. footway/sidewalk=none/left/right/both. К сожалению оба померли при рождении.