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

IgorMagellan

Nice job man -) Спасибище! А Grade2 от 3,4,5 никак нельзя как-то более сделать отличными?

А где-то доступны исходники стилей opentopomap.ru? Может в виде форка исходного https://github.com/der-stefan/OpenTopoMap? Хочется собрать карту для garmin.

Пока нет.

Стили для garmin и для mapnik - это технически совершенно разные, никак не связанные друг с другом проекты. Стилями для garmin я пока не занимался.

день добрый !
а как можно подключить Ваши карты к Guru maps?

скачать тайлики и засунуть их в гурумапс

В последнее время серьёзно возросла нагрузка на сервер, в том числе и за счёт “качков”, запускающих автоматизированную, пакетную загрузку площадей, к примеру 100x100 км. на 16-17 зуме, в 6 потоков, и в дальнейшем не контролирующих процесс. Друзья, у меня нет ресурсов обеспечить такой рендеринг всем желающим. Поэтому с сегодняшнего дня пакетная загрузка запрещена. Пакетная ли это загрузка, или нет, определяет сервер, на основе различных факторов. Если сервер посчитал, что загрузка пакетная, то вместо очередного тайла он возвращает ошибку HTTP 503. Если пользователь продолжает попытки закачки, и в течение 5 минут получает более 300 ответов 503, то он полностью банится на сутки.
Рядовой пользователь, просто работающий с картой, с ограничениями столкнуться не должен. Если вы считаете, что не относитесь к категории “качков”, но вас почему-то банят, сообщайте мне.

:slight_smile: вместо 503 ошибки отсылай тайлики с рекламой. еще и подзаработаешь :slight_smile:

Это было неизбежно.
Да, и у французов вроде был тайл для таких случаев с надписью

Я предполагаю, что если возвращать картинку с кодом 503, то её всё равно никто не увидит, а трафик увеличится. А если с 200-ым, то не очень хочется портить человеку карту. :slight_smile: Это же какие проблемы будут поудалять потом эти картинки из кэша.

знаю :slight_smile: чем сильнее по лбу щелкнешь - тем быстрее думается обычно.
даже многоголовый CDN осм.орг перенапрягают периодически.
статистику по реферер и юзер-агенту не ведешь ?? интересно было бы ее глянуть.

Сделай три стадии: нормальная, большой поток - отдаёшь спец тайл в шахматном порядке, а потом просто банишь.

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

А с двумя он так сможет? Сделать тайлы на 12 языках, пусть страдают :slight_smile:

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

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

Пока нет, но в будущем, возможно, сделаю.

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

В формате пытки лучше подсовывать рекламу конкурентов. :slight_smile:

У меня нет цели сделать так, чтобы кто-то страдал. Есть чисто техническая проблема - сделать загрузку сервера более равномерной и распределённой на максимальное количество пользователей, чтобы никто не мог перетянуть одеяло на себя. “Качки” - тоже пользователи, только порой слишком интенсивные. Их не надо искоренять, просто нужно, чтобы они работали по правилам и адекватно реагировали на то, что отвечает сервер. Реагируешь - отлично, тогда это не пакетная закачка, работай из любой программы, никак не реагируешь - значит, пакетная. Или, на худой конец, качаешь не быстрее 1 тайла в секунду (пока так), даже из-за ошибок 503 сервер не признает пакетником и не забанит. Сейчас этот подход работает хорошо. Конечно, есть варианты, как это обойти и всё-таки загрузить сервер сверх меры, но они будут стоить денег и/или ресурсов. Вряд ли кто-то будет так заморачиваться из-за этих карт. Я надеюсь.

Практика показала, что на карте неплохо было бы различать лесные “козьи тропы” от дорог, проходящих по просекам. Поэтому теперь все дороги типа track (кроме grade1), path, footway, steps, bridleway, а также линии электропередач, если они совмещены с тегом man_made=cutline, обводятся светлым ореолом. Пример https://opentopomap.ru/#map=16/55.85018/37.29910 Обозначение просек без дорог оставлено без изменений.

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

Сделал. Пример https://opentopomap.ru/#map=17/55.89182/37.44852 Заодно ограничил вывод номеров домов только полигонами building, исключив точки с addr:housenumber. Оказалось, что в городе на полигонах домов встречаются точки POI с заполненным addr:housenumber, почему-то даже не всегда совпадающим с номером дома, в которых расположены.

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

Это решение придётся отменять из-за типичного бардака в базе OSM. Оказалось, что, например, в Чехии всю адресную информацию принято давать в точке, стоящей внутри полигона здания, а сам полигон никакой адресной информации не несёт. После этого нововведения по крайней мере вся Чехия лишилась нумерации домов.
Проблема лишней нумерации из-за точек POI в оригинальном стиле mapnik решается незамысловато - картинка POI имеет больший приоритет при рендеринге и вытесняет цифры номера. Мне же такой способ не подходит, поскольку я не делаю выборку таких точек из базы. Но как сделать по-другому, не совершая кучи лишних операций для такой мелкой задачи, у меня идей нет. Придётся мириться с несовершенством базы OSM и иногда наблюдать дублирование номеров домов, утешаясь поговоркой “много - не мало”. (типичный пример с opentopomap.org)