Как стать автором
Обновить

Комментарии 18

Как OSM борется с вандализмом на картах? еще не так давно, некоторые вандалы из соседних стран, с помощью ботов очень активно правили надписи на картах на нецензурные и всякие нехорошие лозунги.

Сейчас вроде это поутихло. Как побороли?

Основную волну загасили лимитами на регистрацию аккаунтов: https://habr.com/ru/articles/764698/#comment_26019996

Для большего спокойствия не хватало ограничений скорости правок, но вот и их добавили.

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

На работе локальная автообновляющаяся копия используется и это очень было заметно.

Хочу наудачу спросить, вдруг кто подскажет: когда гугль прикрыл panoramio, какой-то сервис скопировал оттуда все фото, вплоть до комментариев пользователей. Теперь никак не могу найти (может он тоже уже помер). Никто не помнит? И это не pastvu.

Возможно, это не то, что вы ищете, но: на Викискладе лежат больше 2.3 млн фото с Panoramio. Почти все они были загружены туда ботом, который, если я не ошибаюсь, попутно заархивировал все их страницы в Wayback Machine – см. ссылки в поле Source в описании файлов.

Оливер Роик подсчитал, что приблизительная стоимость создания глобального тайлового сервера на базе PMTiles составит 12 долларов.

не правильно посчитал, 100гигов весит база в SQLite, где миллионы тайлов могут ссылаться на один тайл. Нужна одна ec2 машина со 120gb диском.

Для PMTiles главное уметь вычитывать с клиента HTTP-Range'ем. Это же то, чем хвастается этот формат https://protomaps.com

Может вы путаете с MBTiles? Тут https://wiki.openstreetmap.org/wiki/MBTiles

Спасибо, вы правы, перепутал с MBTiles

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

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

Пустой тайл заливки океана весит 100 байт. Детальные тайлы городов 300Кб-600Кб, разница в на порядки.

Непокрытые области закрашивают backgroud-цветом. А некоторые прошаренные подкладывают на место океанов батиметрию, она низкой детализации и занимает буквально 20Мб. На фоне сотни гигабайт это вообще ни о чём.

Вы не правы. Например, тайл OSM 16-го масштаба с Большим Москворецким мостом (достаточно детальный?) имеет размер 27.7Кб. В десять раз меньше Вами указанного.
Вторая Ваша ошибка в том, что неважно, что пустой тайл океана имеет размер 100 байт (103, если быть точным). Он всё равно занимает один блок в файловой системе - 4096 байт или больше.
Т.е., при хранении тайлов в файловой системе выгода от ссылок может быть существенной. Для PMTiles выгоды никакой -- оно всё равно архив. А вот для MBTiles надо смотреть: ключи могут быть очень большими и всю выгоду съедят.

Векторные тайлы делают до 14 зума, этого достаточно, зачем нам рассматривать 16, если там территории меньше в 8 раз.

Тайл в базе sqlite не занимает одни блок файловой системы.

И уж если речь вести про растровые картинки, про которые вы видимо говорите, хотя ветка была начата вовсе не про них, то и их хранят не по штучно, а генерируют блоком 8*8 тайлов - метатайл.

Короче, если кому-то ещё интересен этот некропостинг, то вскрытие показало, что не всё так просто.

Оказалось, что вот в некоем тайловом кеше есть 4 миллиона тайлов. Из них 3 миллиона - одинаковых. Казалось бы -- вот оно.
Но! В ext4 можно сделать только 64K жёстких ссылок на один набор данных. Упс.

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

Поэтому SQLite БД с gzip внутри пока оптимально оказалось

Эээ... а gzip зачем?

Чтобы все оно меньше думало и меньше трафика кушало, взял из sqlite и отправил клиенту как есть. Planetiler такой sqlite генерирует сам. Про остальные инструменты не очень знаю.

Ну так Planetiler делает векторные тайлы, там сжатие прописано в спецификации. А векторные тайлы must die.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации