Мечты об идеальном рендере

Мой опыт как пользователя Mapnik говорит о том, что mapnik заточен на use case “Я планирую путешествие по Европе на автомобиле”. И с этим кстати неплохо справляется :slight_smile:

Интерактивность карты не имеет никакого отношения к рендеру (тайлам) но является очень удобным объектом ПО “отображение карты”. Я где могу проставляю тег website=“” но вот что-то не помню чтобы хоть раз смог его открыть :frowning:

Отдаёёт медленно, и что? Карты смотреть это же не видео смотреть :slight_smile: Открыл, нашёл, глянул, закрыл. Ну не 30 секунд это заняло а 50. Зато рендер глаз не режет.

Или тоже режет?

Хм… А разве где-то мапник пользуется популярностью?
Он просто относительно надёжен и способен отдавать хоть какие-то объёмы.

ну вот не все так хотят/умеют, я вот тайлы “дёргаю” чтобы побыстрее отобразилось…

Моё представление об идеальном и несильно нагруженном сервисе предполагает что карта должна состоять из нескольких слоёв полупрозрачных тайлов: типа базовый непрозрачный на котором есть только неизменное содержимое и остальные полупрозрачные где выделены соответствующие той или иной тематике сущности (загружаются соответственно в соответствии с выбором типа карты). Если я правильно понимаю на викимапии именно так сделано и обновляются кстати там карты мгновенно что очень удобно.

В абстрактном споре всегда важно не отрываться от действительности … давайте просто сравним разыне рендеры … Скажите, какой из рендеров идеальный и давайте просто попробуем “поставить вместо” мапника. Повторюсь - речь идёт именно о рендере, т.е. тайлах а не поиске, интерактивности и т.п. Я выбрал центр Москвы как наиболее понятный всем объект картирования:

Гугл

Викимапия

Mail.ru

Scanex

Яндекс

Рамблер

Bing

MapQuest

Mapnik

OSM - космоснимки

Голосуйте! А также предлагайте другие известные и нравящиеся Вам рендеры (тайлы).

Вот это и неправильно. Речь должна идти не о рендере, а о сервисе. Параметры “идеального” рендера - это требования к подложке этого сервиса, и они целиком зависят от его функционала.

Это как раз правильно. Если в одной теме постараться решить 100500 проблем одновременно то ничего не получится. Давайте разделять сложные задачи на подзадачи и успешно решать а не набрасываться на всё сразу и … забивать болт ибо задача неподъёмная.

Заведите отдельный топик на остальное и обсуждайте там :slight_smile: Этот топик про рендеры т.е. тайлы. Умный поиск, интерактивность, сервисы, фотографии, социалка - это всё важно но для конкретно тайлов вторично.

А теперь забудем про бумажные атласы.

Очевидно, что универсальный рендер, который удобен всем и для всего - невозможен. Возможен, как уже сказали - сервис.

Если посмотреть на гос. геопорталы европейских стран (Норвегия, Финляндия, Швейцария, Франция, как минимум), как на примеры сервисов, где имеется гораздо больше данных, чем можно одновременно отобразить на карте (плюс еще сервис обязан удовлетворять потребности любых пользователей - граждан государства - в доступе к государственным данным), то выясняется, что все они - многослойные.

Есть определенный набор основ-подложек. Есть подборка тематических слоев, которые можно включать сверху и настраивать их прозрачность. Таким образом, можно получить достаточно гибкую систему, в которой простой пользователь действительно (а не в формате “возьми и напиши свой стиль для Маперитива”) может сконструировать карту, которая ему нужна, скажем - физическая подложка, затенение (отмывка) рельефа, слой пешеходных троп и названия административных единиц. Или “дорожная” подложка, плюс слой названий адм. единиц плюс рельеф горизонталями.

На openstreetmap.ru уже есть зачатки такого, и это правильное направление. Но тут есть еще много куда двигаться.

Нет, это неправильно. Нельзя выбирать “идеальный автомобиль” между внедорожником, кабриолетом и тягачом, не установив желаемые характеристики.

Вот именно. Нужно определить задачу раньше, чем браться её решать.

Выбор того набора данных и способа их отображения, которые будут использоваться при генерации тайлов, зависят от задачи, которая стоит перед этим слоем. А она, в свою очередь - от задачи сервиса.
Если свести задачу сервиса к “доступу к максимальному объему данных в удобной форме”, то, как ни крути, должно быть несколько слоев разного типа, которые отображают группы данных, объединенных одним use case или одной темой. В один слой все не запихнешь. Можно выбрать один use case и делать под него, конечно…

Я полагаю, что:

  1. Рендер для России, для других стран другой. Т.е. пытаться продвинуть свой рендер для другой страны мне кажется не целесообразным. Поэтому я думаю есть идеальный рендер для страны, для другой он будет другой. А т.к. я полагаю. что в реальности osm.org не пойдёт на кардинальные изменения, то такой рендер окажется на другом ресурсе например на openstreetmap.ru.
  2. Мне кажется при концепции любых тэгов создание идеального рендера не возможно. Поэтому есть идея некоего стандарта. Проще говоря документа (к примеру C11 ) в котором был бы некий стандарт как и что рисовать. (т.е. тэги) Добавление своих тэгов, и их обсуждение и т.п. и внесение изменений ток в след.версиях. Например, выпустили osm-ru-doc-0.01, а дополнения по новым тэгам только через полгода, потом через след. полгода реализация и уже внедрение. (т.е.
  3. У нас есть совет РУ-ОСМ думаю, так что этот пункт отпадает.

Теперь о самом рендере:

  1. Идеального рендер не существует.
  2. Идеальный рендер для меня, который показывает то что мне нужно.
  3. Считают что рендер нужен разный для разных масштабов. На самом крупном масштабе я должен видеть все! Абсолютно все объекты! (конечно я имею ввиду в первую очередь не время работы магазинов, а для начала наличие объектов (а то с мусорными ящиками к примеру не загрузишь JOSM не узнаешь), на уровне когда я смотрю район, или квартал то мне не нужны мусорки, или пешеходные дорожки, а зданий их номера, местоположение, когда и смотрю город то мне уже нужно общее представления о нём, основные дороги, водные объекты. И т.д.
  4. На мой взгляд нужно разделение на то что общее для карт: водные объекты, дороги, леса т.е. то что позволяет ориентироваться в место положении. (т.е. реально существующие объекты), а к другой части: Названия, информация. Это уже реализуется не рендером.

Я пишу двояко, но как я себе это всё дело представляю:

  1. Есть рендер и он рендерит базу.
  2. Другая часть пишется на чем-то, и отображается в правом верхнем углу, где есть список из чекпоинтов:
    Название (улиц, номера домов, водных объектов), ПОИ(названия, краткая информация, время работы) и т.п.
    И когда человек нажимает галку то у него эта информация отображается, т.е. она накладывается слоем на базовый слой (в этом отношении мне понравилась идея Silver87 но это вопрос реализации)
    Т.е. идея в том, что бы был базовый слой. А все объекты на нём уже выбирал пользователь

Обсуждая абстрактные вопросы желательно давать конкретные ссылки на то что уже реализовано. В мире уже огромное количество картографических сервисов. Дайте ссылочку пожалуйста. Просто не совсем понятно о чём конкретно идёт речь. Если о том что должно быть скажем (утрирую) 10 мапников но каждый из них генерирует тайлы в соответствии с требованием задачи - туристическая, автомобильная, магазинная, пустая подложка и т.п. то да, это решение проблемы.

Но какую-то одну из карту всё равно придётся ставить на первое место, делать по умолчанию :slight_smile:

А поиск, сервисы можно прикрутить к любым тайлам, даже самым стрёмным. Карта и гео-БД всё-таки разные сущности. Всё-таки поисковые базы требуют время на перестроение индекса и всегда будут отставать от актуальной карты. Ничто например не мешает сделать в ОСМ крутой поиск и сервис и отображать на подложке Гугла.

Поэтому давайте про рендеры :slight_smile:

А вот другой пример - центр Хельсинки.

eniro.fi

kosmosnimki

mapnik

Мапник на мой взгляд здесь ужасен. Карта безумно перегружена, наложение цветов - “вырви глаз”. Зато самая “спокойная” карта - от ведущей финской карты Eniro отображает спартанский набор объектов (даже при увеличении) - вокзалы, церкви, станции метро, контуры зданий.

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

Карты с иконками не распечатать (точнее названия POI на печать не выйдут), они полностью интерактивны.

А мне нужны как велосипедисту и чем меньше масштаб показа тем лучше :slight_smile: Тут перетягивание одеяла можно долго делать.

Ну и в заключении про сравнение бумажных карт и выхлоп идеального рендера.

Не секрет что многим из нас нравятся бумажные профессиональные карты а карты на разных сайтах кажутся несколько кривыми. Но это неизбежно. Каждая профессиональная бумажная карта это по сути продукт специализированного рендера для отдельно взятой части территории. При подготовке проверяют не только то что изображено на карте но и как отображено. Важные объекты могут быть дополнительно акцентированы тогда как второстепенные убраны. Карта это продукт технологии, дизайна и искусства. А автоматический рендер это некий абстрактный алгоритм. В одном случае картинка выданная рендером будет красивой а в другом - не очень. Сравните центр СПб в Яндексе и на карте от ЗАО “Карта”.

Яндекс

ЗАО “Карта”

Никакой идеальный рендер так автоматически не нарисует.

Имхо, идея загнать абсолютно все объекты в тайлы, пусть даже и на максимальном зуме - неверная.
Во-первых, в насыщенном месте (том же центре Москвы) получается адская каша. Во-вторых… а зачем? Кому в жизни может понадобиться всё сразу и одновременно?
В собственно тайлах должна быть местность как таковая - улицы, дороги и мелкие дорожки; здания, постройки и инфраструктура; растительность; водоемы и т.д.
Обозначенными и подписанными должны быть только ключевые объекты (коих на самом деле немало). А всякие кафешки или банкоматы должны отображаться отдельными слоями уже на уровне сервиса.
Ну исключая технический рендер для самих мапперов - тут ничего не скажу.

По визуальной части. Из приведенных мне больше всего нравятся стили Гугла и eniro.fi.

  • сбалансированная цветовая гамма
  • выверенная мера контраста
  • минимум визуального шума
  • нормальная работа со шрифтами

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

и дать юзеру чекбоксы, пускай выбирает, что нужно