Байкал

Я за мультиполигон.

Ну так ему до лампочки - у него полная база и все. Костлайны кстати этот стандартный мапник вообще не осилил, если уж о нем говорить - там костыли в виде shape файлов, которые генерятся отдельно.

Допустим… Есть какие-нибудь подтверждения того, что рендеринг мультиполигона такого размера будет сопряжён с существенными временными издержками по сравнению с… альтернативным методом? С указанием альтернативного метода, желательно.

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

Проблем отрисовать в мапнике (мульти)полигон практически любого размера нету. Проверено лесами и собственной копией мапника.

Единственная проблема (osm2pgsql и рядомстоящее) - все правки мультиполигонов должны сопровождаться изменением всех входящих в них объектов в пределах одной операции обновления базы. Учитывая, что раз в месяц база дропается и создаётся заново (тогда же, когда и пересоздаются coastline) - особых проблем мультиполигон по сравнению с coastline не даст, а преимущества появятся.

Проблема мультиполигона в том, что его можно либо не выгружать, либо выгружать весь. Т.е. если мне нужен маленький кусочек побережья байкала, я обязан выгрузить его весь. Соответсвенно навигатор тоже будет вынужден пережевывать его целиком (если только в навигаторе не будет конвертации в другой формат). То же самое касается всех редакторов. И, кстати, этот полигон еще надо передавать через сети связи. Кстати, сколько там точек ожидается?
В общем тогда надо заморачиваться с технологией отрезания кусков этого полигона и пропихивать ее во все приложения и, в первую очередь, в API серверов OSM.

Байкал находится на границе регионов, поэтому, например, мультиполигон целиком в региональные выгрузки может не попасть.
Поэтому я за костлайн, Ладога и Онега именно им сделаны.

UPD
В гислабовские гарантированно не попадёт, потому что кое-где от границы дальше 50 км, а там запас 20

Не понял, почему полигон нужно выгружать весь (кстати, куда выгружать, на сервер или с него?). Можно скачать отдельный way, входящий в полигон, подправить, и залить обратно. Не вижу проблем. В точности, как с coastline.

Есть такой формат векторных гео-данных - MicroMap называется, используется в MapDroyd (http://www.mapdroyd.com/). Не знаю, есть ли там полигоны как в osm, но проблем с отрисовкой в MapDroyd не наблюдается.

Передавать надо только отдельные элементы полигона. Точек на way 500 максимум вроде при заливке?

Да, это проблема, конечно…
Но!
Если резалка по регионам не поддерживает разрезание полигонов, это не повод, чтобы их не делать… Лучше научить резалку.

Ну попробуйте научить :slight_smile:
А пока не научили - в чём смысл сферических коней в вакууме?

Смысл здесь - отучаться ходить на старых костылях.

… и вообще перестать ходить. ну-ну :slight_smile:

Перестать ходить - это отключить поддержку костлайнов вообще.

Кослтайн позволяет получить полигон воды при неполных даных, а мультиполигон - нет.
Поэтому в случае вероятности неполных данных (а она в случае с Байкалом высокая) я бы советовал использовать костлайн.
Иначе на многих производных картах Байкала не будет вообще.

Вообщем, как уже не раз бывало, ради неких абстрактных целей губим работающие системы.

А name то куда костлайну вписывать?

Точку в центре с каким нибудь water=* ставить?

Получается, что обозначать полигон полигоном - это абстрактная цель что-ли? Или это все-таки сферический конь? )

Никто не спорит, что озёра правильнее обозначать полигоном.
Только в случае с Байкалом правильное будет бесполезным (ака сферический конь).

А еще лучше (в теории) собрать костлайны, образующие водоём, в отношение и придать ему название, кое и отображать (по смыслу). А по смыслу – это выкачал (навигатор/рендерер) часть костлайнов, смотрит, они все одноимённо называются – раз, и объединил всю область и назвал одним названием.
И всё выкачивать не надо, и название есть.
Или каждую часть называть одинаково, а навигатор что бы смотрел, что названия одинаковые и делал общее название в одном месте (выкачанной и достаточной для показа части костлайнов).

Это было бы красиво и удобно. Особенно отношением – один пруд, одно название. Сейчас вот придумалось… Но это всё теория.

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