Полезный текстовый рендеринг. Как создать рендер?

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

Мне в очередной раз нечего делать и я решил сделать рендерер с нуля. Основная мотивация его создания в том, что я хочу видеть на карте максимум полезной текстовой информации, причем сразу, а не елозить на максимальном зуме в поисках чего-то интересного. Смотрю я значит на Москву, а там:

tourism=artwork; inscription:ru="текст"

Никаких имен нету, зато есть отличный текст

tourism=viewpoint; description=смотровая площадка

Опять нейма нет, да и по идее дескрипшен дублирует сам основной тег

name=Погибшим на стадионах мира; historic=memorial; wikidata=Q4343559; wikipedia=ru:Памятник погибшим 20 октября 1982 года в Лужниках

Так на стадионах мира, или только 20 октября?

fixme=Уточнить положение; amenity=fast_food;

Ни имени, ничего - кроме иконки и нарисовать нечего. Неужели fixme как лейбл использовать?

name=пристань "Воробьевы горы"; access=private; man_made=pier;

Похоже, к регуляркам, выгрызающим слова “улица” и “город” надо добавить “пристань”. Что еще?

aerialway=station; description=строится ещё; construction=yes;

Так описание, или оно строится?

amenity=waste_disposal; note:ru=большой мусорный контейнер для твёрдых бытовых отходов

По идее note вообще рендерить не надо, но тут мы встречаем опять полезную информацию. Почему не описание?

Итого, в качестве лейблов у нас есть inscription, description, wikipedia, note, name, причем тут порой есть суффиксы языков, а если лучше покопаться есть name:ru:official, official_name, short_name, comment, wheelchair_description, artist_name, branch и brand. Не, я прекрасно понимаю как все это работает, претензий нет. Просто хотелось бы понять, как это все рендерить, хотя бы в каком порядке.

Еще бы хотелось какой-то икон-пак с иконками для разных типов вроде мусорницы для amenity=waste_disposal, чтобы самому не составлять. И какой-то список переводов, к примеру “мусорница” и “мусорный бак” для amenity=waste_disposal. На основе последнего можно будет сделать валидатор для поиска дублирующихся названий / отрезатель лишнего, как префиксов-суффиксов, так и “смотровых площадок” в целом.

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

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

В ваших примерах большинство текстовых тегов использованы не по назначению и дублируют другие теги. Их нужно вычищать. Так как это Сизифов труд, то большинство рендереров попросту не используют текстовые теги из OSM, кроме name, name:*.

Ну вот я сейчас посчитал стату по всей планете (правда планета у меня старая, всего 26 гигов), получил 18 метров статистики в текстовом файле и примерно 15000 тегов, вот сижу и разбираю. https://wiki.openstreetmap.org/wiki/NaPTAN - вот с таким знакомлюсь

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

https://wiki.openstreetmap.org/wiki/OpenStreetBrowser/Stylesheet - если еще кому-то нужна будет более-менее структурированная база тегов, с приоритетами и иконками

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