opentopomap.cz – топографические карты opentopomap для наших условий

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

потребитель не знает таких вумных слов как прооекция и т.д. :slight_smile:
в обывательском тырнете есть две проекции:
правильная - гугловская (3857)
неправильная - яндексовская (3395) :slight_smile:
все остальное - магия и потусторонние звуки… :slight_smile:
ок, подправлю и отправлю в репозиторий.

Отличная карта!

Но лично мне хотелось бы видеть мелкие дороги и тропы на более мелких масштабах. Существует ли возможность менять “глубину детализации” в зависимости от плотности объектов в данном месте карты?

Например, между Старой Рачейкой и Троицким много грунтовых дорог и троп, которых в режиме “всё сразу” не видно, надо приближать: https://opentopomap.ru/#map=12/53.3758/48.2097

Я, когда пытался делать свою карту, рисовал hw=track аж до 10-го масштаба: http://cycletrailmap.romanshuvalov.com/r/12/53.3947/48.2234

При этом в густонаселенных и высокодетализированных местах, возможно, будет каша.

Если такой возможности нет, то предложение: на масштабах от 14-го до ~10-го рисовать hw=track и hw=path, но с уменьшением масштаба плавно менять цвет на более бледный и делать линии более тонкими.

И ещё, у вас карта высот с viewfinderpanoramas, а там не только SRTM, но и ASTER GDEM используется. Возможно, стоит это указать в копирайте.

что, похоже, уже положили сервер?

Там ещё и

Ссылка на них стоит, а уж что они точно применяли, пусть останется на их совести.

Вроде всё бодренько журчит. Или вы наблюдаете какие-то проблемы?

не грузился сайт, но теперь уже все ОК

Теоретически можно написать анализатор плотности объектов на данной площади, но сейчас никакого механизма для этого нет. Я не уверен, что динамически менять глубину детализации очень хорошая идея, так как более правильно ожидать определённой детализации на определённом зуме. Чтобы пользователь знал, что если, скажем, на 15-м зуме нет названия у СНТ, или какой-нибудь дороги, то их физически нет в базе, а не какой-то алгоритм решил, что в этом месте их не надо показывать.
Похожий алгоритм, как сторонний и довольно негативный эффект, есть при отрисовке отдельных точечных объектов, типа родников, лавок, укрытий и т.п. Когда два разнородных объекта находятся очень близко друг от друга, и на данном масштабе перекрываются. Приходится выбирать, что рисовать, а что нет, иначе на карте появится мусор. Только кому-то важно одно, а кому-то другое. Это очень неприятная вещь, с которой ничего не поделаешь, кроме как увеличением максимального зума или генерацией карты в векторе. Одной из причин появления 18-го зума было желание уменьшить количество таких коллизий.

Тут проблема в том, что кроме возможного замусоривания карты, может очень существенно увеличиться нагрузка на рендер, причём совершенно нелинейно. К примеру, дороги и некоторые другие объекты до 10 масштаба включительно строятся по специальным, заранее генерализованным данным, а не напрямую из основной базы. Иначе никаких разумных ресурсов не хватит для отрисовки мелких и средних масштабов. Кстати, самые затратные зумы - средние. Там много объектов, а информация слабо генерализована. Добавлять туда ещё что-то без крайней необходимости, может оказаться не очень хорошим делом. Например, мне пришлось отказаться от сшивания полигонов на зумах меньше 14-го, так как даже на 13-м зуме в некоторых областях выборка из базы и последующий рендеринг стандартного блока тайлов мог занимать пару минут, что, понятно, никуда не годится. На текущий момент есть баланс отсутствие_“каши”/скорость/полнота_информации, и, не скрою, оптимизация для пешего туризма. Тем не менее, я подумаю над вашим предложением, посмотрю, как это будет выглядеть на карте, а также по скорости и уже тогда приму решение. Для “базового лагеря” рекомендую монитор побольше, на 32-х дюймовом мониторе 2560x1440 всё выглядит просто великолепно.

Хорошая работа. Спасибо!
Ну и пара моих мыслей.
О насыщении разными объектами:
На картах Генштаба хорошо видно, что в зависимости от населенности мест и количества различной инфраструктуры меняется наполнение деталями разных листов одного масштаба. К примеру, если в центральной части России на пяти- и десятикилометровках отсутствуют многие не маленькие населенные пункты, то где-нибудь в Якутии часто подписаны отдельно стоящие избы на речке. Так что вполне уместно подумать о какой-то логике, которая будет менять насыщение объектами в зависимости от их плотности в исходных данными или сделать отдельную пользовательскую настройку изменения детальности.
О стиле отображаемых объектов:
Зимники и ледовые переправы имеет смысл рисовать иными линиями, нежели круглогодичные дороги.

Сделал. Сейчас порядок заливки дорог: highway=(‘motorway_link’, ‘trunk_link’, ‘primary_link’, ‘secondary_link’, ‘tertiary_link’)(жёлтый или оранжевый) → (все другие)(белый или без заливки) → highway=‘unclassified’(белый или жёлтый) → highway=(‘secondary’, ‘tertiary’)(жёлтый) → highway=(‘motorway’,‘trunk’,‘primary’)(оранжевый). Последующая заливка перекрывает предыдущую. Теперь в общем должно быть красиво. Два исключения:

  1. Окраску пересечения двух highway=‘unclassified’ без покрытия, а равно без указания покрытия и с покрытием (белая и жёлтая заливка соответственно) отдаём на волю очередности попадания в базу, поскольку иначе бы пришлось неоправданно усложнить запрос к БД.
  2. В случае пересечения дорог класса ‘*_link’ c любой другой дорогой приоритет окраски всегда будет не в пользу линка. Что с этим делать я пока не придумал. Но по идее они ни с чем лишним и не должны пересекаться.

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

Да, вот сейчас стало по красоте. Бегло пробежался по транку, косяков не заметил.
А вот ЛЭП мне нравиться как сделал Runge, более похоже на ГШ - ёлочки в обе стороны. А то сейчас ощущение у них есть направление тока :slight_smile:

Отличный стиль!

Основное пожелание - рендерить названия территорий (landuse=*). Сейчас все промзоны безымянные из-за отсутствия этой фичи :frowning:

коль пошли хотелки, то вот что я хочу :slight_smile:
отбражение natural=ridge и natural=arete а то горы безжизненно выглядят. а хочется так :slight_smile:

нет ни одного онлайн-рендера с горами блин :frowning:
к примеру отрисовывать тем же цветом что и natural=cliff (можно сдвинуть от черного в сторону коричневого)
на малых зумах просто линией, на больших зумах для различия рисовать такими линиями.

плюс отображать для перевалов после имени его сложность и высоту rtsa_scale

можно еще на больших зумах добавить кружочки с цветом по сложности :slight_smile:

Хорошо бы как-то обозначать дороги, имеющие атрибут “частная территория”. Вроде дорог на острове Шлюзы, например:
https://nakarte.me/#m=15/55.67228/37.71006&l=-cseyJuYW1lIjoiT3BlblRvcG9NYXAucnUiLCJ1cmwiOiJodHRwczovL3RpbGUtYi5vcGVudG9wb21hcC5ydS97en0ve3h9L3t5fS5wbmciLCJ0bXMiOmZhbHNlLCJzY2FsZURlcGVuZGVudCI6ZmFsc2UsIm1heFpvb20iOjE4LCJpc092ZXJsYXkiOmZhbHNlLCJpc1RvcCI6dHJ1ZX0=

Если попереключаться между слоями OSM и OpenTopoMap.ru, видно что Topo не отображает названия дорог, находящихся в тоннеле. Это так и задумано или ошибка?
https://nakarte.me/#m=17/43.61637/39.72114&l=-cseyJuYW1lIjoiT3BlblRvcG9NYXAucnUiLCJ1cmwiOiJodHRwczovL3RpbGUtYi5vcGVudG9wb21hcC5ydS97en0ve3h9L3t5fS5wbmciLCJ0bXMiOmZhbHNlLCJzY2FsZURlcGVuZGVudCI6ZmFsc2UsIm1heFpvb20iOjE4LCJpc092ZXJsYXkiOmZhbHNlLCJpc1RvcCI6dHJ1ZX0=

upd: На том же фрагменте карты есть железнодорожный тоннель. Хорошо бы как-то более явно отображать, что это тоннель (рядом есть автомобильный тоннель и он читается на раз). У ЖД нет даже обозначений порталов.

Топознак заливки кладбища не читается вообще. Мелкий зело.

Есть нюанс. Вот у нас хребет, и по нему идёт тропинка. Обозначены и тропинка и подпись хребта. Представь, что тут поверх тропинки рисовалась бы хребтовка. Как ты определишь, где там можно пройти, а где нет?
https://nakarte.me/#m=14/43.68774/39.84372&l=-cseyJuYW1lIjoiT3BlblRvcG9NYXAucnUiLCJ1cmwiOiJodHRwczovL3RpbGUtYi5vcGVudG9wb21hcC5ydS97en0ve3h9L3t5fS5wbmciLCJ0bXMiOmZhbHNlLCJzY2FsZURlcGVuZGVudCI6ZmFsc2UsIm1heFpvb20iOjE4LCJpc092ZXJsYXkiOmZhbHNlLCJpc1RvcCI6dHJ1ZX0=

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

2 karnavalny

Благодарю за этот рендер. Отличная работа, сэр!

Давно хотелось бы иметь что-нибудь подобное. Хотелось бы пожелать ему долгой и бесперебойной работы. Кстати, куда занести мои 100 рублей?

Из хотелок, их тоже есть у меня, вот одна - просеки, вместо черной линии, сходной с track,

использовать нечто навроде такой линии:

может, чуть поконтрастнее

делать все как у генштаба нужно с оглядкой :slight_smile:

У тебя в пожелании ничего не было про серую полупрозрачную. И на приложенном картостиле osmand opentopo хребтовки и ни то и ни другое. :slight_smile:

Павел, на скринах - не османд, а Locus с темой вектора TOTM, хребтовки там другие (как в OAM Elevate). Вот такие

это просто пример, далекий от идеала

а на тех скринах - просека