Стиль картографа

Вопросы картографических стилей, геоданных, OpenStreetMap, ГИС и прочей чепухи

Решенный вопрос

Минутка старого ворчуна

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

А интернет он такой. Почти вся информация там правда, но это далеко не вся информация. Поэтому сидят разработчики картографических стилей в своих Масквах/Нюёрках/Брюселях и обсуждают:

— Как реки будем показывать?
— Да как хочешь. Кому они нужны, эти реки. Главное, что-бы дороги через них были показаны. Мосты, паромы, броды.

И ведь в голову не придет, что на большей части страны реки являются главной, а порой единственной возможностью куда-то добраться. Я тут не говорю о наполненности базы. Даже то, как отрисована гидрография на веб-сервисах (какой ни возьми), заставляет мою руку инстинктивно тянуться к картам ГШ/ГГЦ/»Охотник и рыболов».

Хотя позвольте, чего это я не говорю о наполненности базы? Что? Вы заявляете про глобальное покрытие? Это вы так называете схемы городов, которые соединены через пустоту дорожными нитками? Ну-ну.

Россия с ее размерами — рай для картографа. Непаханное поле. Неизведанный космос. Невалявшийся конь. Хочешь — данные собирай, хочешь — классификаторы объектов строй, хочешь — занимайся оформлением. Но для этого нужно иногда в оффлайн выходить, а мы все в интернете сидим. Ну, или перед пещерой балтику девятку пьем.

Отредактированный ответ

Тайна питерских кустов и беда дискретных классификаций

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

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

Ну и как прикажете тегировать такую штуку? Существующие теги не подходят, а создавать новый глупо. Таких объектов в мире может от силы несколько десятков штук.

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

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

Отредактированный ответ

О тегировании растений в OpenStreetMap

Однажды в телеграмм-чатике OSM зашел разговор о тегировании трав, кустарников и деревьев. Мол, пальма — это трава, но вроде как дерево. Борщевик тоже будто не совсем трава. А, например, betula pumila вроде как береза, а на самом деле куст.

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

Если растение высшее, то оно либо имеет вторичную ксилему (читай «древесину»), либо нет. Если нет, то это трава. Если древесина есть, но на вид как трава, то это кустарничек (черника, брусника).

Если древесина есть, а на вид как куст, то это куст и есть, нечего тут думать. Если куст похож на дерево, то это древовидный кустарник, а если дерево напоминает куст, то кустовидное дерево.

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

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

Изменен статус публикации

Космическая эпоха

Космическая эпоха медленно, но верно наступает. Это не Гагарин, не Звездные войны, и не колонии на Марсе. Космическая эпоха — это время, когда из космоса на тебя смотрят тысячи глаз, пусть даже путем разных сервисов.

Правда тут речь скорее про авиапассажиров (рядом с Пулково), но суть все-равно верна. Жду время, когда надписи «видеосъемка свадеб», «кухни из гранита», «метизы по оптовым ценам» будут клеить не на задние стекла, а на крыши автомобилей.

А еще нас ждет грандиозный баттл: спутники ДЗЗ против коптеров. Это будет даже круче, чем встреча Гнойного с этим вторым, как его.

Изменен статус публикации

Временные объекты в OSM

Божечки, каких проблем из ничего вызывает вопрос о внесении временных объектов в OpenStreetMap! Ярмарку выходного дня нельзя. Стенд к чемпионату мира нельзя. Уличную фотовыставку нельзя. Ну и чем авторы таких заявлений отличаются от гэбэшных ретроградов?

В OSM нельзя две вещи: нарушать копирайт и не получать кайф от картирования. Даже откровенный вандализм в некоторых случаях возможен. Проекту не хвататет катастроф, которые помогли бы справиться с родовыми травмами. Последняя подобная была разве что в момент перехода на лицензию ODBL. Об этом намекал и Стив Кост в свое время (помните заявление, о запрете рендеринга ненумерованных домов?).

Что же касается временных объектов, то тут все просто. Мое мнение — вносите на здоровье. Главное, после того, как объект исчезнет — убрать его с карты. Ну или написать теги «temp_from=…» и «temp_to=…» и специальный бот, который по этим тегам будет устаревшие объекты удалять.

Решенный вопрос

Минутка гештальт картографии

Решил сделать перерыв в работе и задумался о новом шрифте для карты. Вы же знаете — подписи это головная боль, проблема, которая до сих пор далека от решения.

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

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

Сделать одни буквы больше, а другие меньше все равно что отрисовать одну стену дома прямой линией, а вторую пунктиром. Как ни крути — получается хрень.

Изменен статус публикации

Штрихпунктир

При разработке картографического стиля с большой вариативностью линейных объектов часто возникает желание зафигачить пунктир или штрихпунктир. Это можно, но обязательно соблюдая меры предосторожности. Линии с разрывами хорошо подходят только для прямых объектов. Другими словами: отображать штрихпунткиром границы американских штатов — норм. Отображать штрихпунктиром границы областей России — фу-фу-фу

Решенный вопрос

Вопрос тегирования #43

Тут такое дело, Сеньор, или как там у них в Японии принято, Мотидзуки шестой год утверждает, будто доказал гипотезу Эстерле — Массера. Но с ним особо никто и не спорит, поскольку понять 500-страничную работу по теории чисел на японском языке пока никому не удалось. Я не прошу у вас совета по работе Мотидзуки, но скажите, как тегировать скворечник в OSM?

Отредактированный ответ

Карты-карарты

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

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

Почему пешеходный переход размечают «зеброй»? Потому что изначально конструкция из блоков позволяла проезжать телегам и переходить дорогу не утопая в грязи по коленки. Наверняка есть более подходящая разметка, которая может спасти тысячи жизней, но традиция важнее безопасности на дорогах.

С картами то же самое. Крупнейшие компании работают над красотой своих тайлов (читай: рисуют переходы желтым цветом), не замечая тщетности усилий. А все потому, что современная карта — это издевательство: для чего человеку, который смотрит прямо показывать вид сверху?

Автомобильные навигаторы преуспели в этом вопросе, но это лишь небольшой шаг. Зачем смотреть на телефон с домами-коробками, а потом переводить взгляд? Оглянитесь вокруг: будущее уже наступило. Магазины превращаются в галереи QR-кодов по принципу зарядьевского купола. Ловля воображаемых существ в храмах теперь не признак белой горячки. Даже коровы в ростовской деревне гуляют с RFID-метками в ушах. Лишь картография ностальгирует по прекрасным временам Дюфура.

Тайловая технология произвела революцию, дав пользователю одновременно два десятка карт. Но переход с растра на вектор лишь унылая предсказуемая рутина. Будущее за дополненной реальностью: когда мы можем прямо на местности увидеть необходимые направления и важные объекты. И да, такую карту тоже можно будет зумить. Я не говорю о наземной фотограмметрии, над которой мы с Энрико Феррегутти работали несколько лет назад. Кроме того…, хотя стоп, к чему выдавать раньше времени секреты нового картостиля?

Вы скажете: это очень сложно и такое сделать нельзя. А я напомню, что еще недавно на водительские права не ставили маркировку «АТ» и почтальон приносил вызов на телефонные переговоры. Разговор же о картографии будущего, не так ли?

Вы хотите увидеть карту будущего? Вот:

Изменен статус публикации

Как же так, Яндекс?

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

Яндекс никогда не обещал оправдывать надежд, но раньше ему это удавалось. Во всяком случае, до последнего обновления. Полагаю дело было так: в офис пришел новый хрен и говорит: «Мы крутая технологичная компания, а до сих пор живем на растрах, как лохи». Взяли и перенесли Яндекс-карты на векторные тайлы. Теперь пользователь не ждет, пока загрузятся нужные квадраты. Он ждет появления линий и дополнительных точек.

За всю жизнь на картографическом бизнесе я заработал только мозоль на заднице, но видимо в Яндексе дела идут еще хуже, раз они не могут нанять трех студентов для генерализации низких зумов. Могли бы позвать любого технического работника в офисе, поставить ему бутылку и спросить мнение о карте.

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

Если уж вы переходите на современную технологию, хорошо бы и подход к проектированию обновить. А то выглядит так, словно египтяне освоили фотошоп и теперь рисуют рисуют чуваков с повернутыми головами на компьютерах.

Изменен статус публикации

Картография в широком смысле

Вопрос картографии будущего, которому была посвящена июньская заметка требует особого пояснения. Термин «когнитивная карта» неоднозначен, особенно если использовать его за пределами биологических наук, но суть вопроса это не меняет — географическая составляющая в картах будет уменьшаться.

Какая разница, каково реальное расстояние между объектами на карте, если добраться до них можно за одинаковое время? Зачем нужен поворот с юга на восток, если достаточно знания о том, что дорога поворачивает налево (а когда идешь обратно — направо)? Координаты всегда будут на карте в том или ином виде, но зачем знать место пересечения экватора с Гринвичским меридианом если вы планируете велосипедную поездку по городу?

В широком смысле я вижу в картографии искусство находить закономерности в свойствах различных объектов и формируемых ими структур. Берем пространственные свойства — получаем классическое изображение фрагмента планеты. Берем распределение величины — получаем диаграмму. Берем свойства восприятия объектов, получаем гештальт и когнитивные карты: развертки пространства на однонаправленное движение. Берем три взаимозависимых дифференциальных уравнения — получаем аттрактор Лоренца. Берем физико-механические свойства кирпича — получаем дом. Все это картография.

Нет ничего плохого в широте и долготе, но пространственные координаты хороши не всегда. Вот простая задача: вы в Москве, имеете x рублей, y свободного времени и желание отправиться в путешествие. Открываете карту, хоть тот же OpenStreetMap и понимаете, что пользы от нее никакой. Как использовать знание о том, что Африканда севернее Москвы? Правильно — никак. Карта как отображение пространственной закономерности для вашей задачи не годится.

Размышляя над задачей, в рамках эксперимента я собрал данные по стоимости и продолжительности поездок в плацкартных вагонах из Москвы в крупные российские города. Данные приведены преимущественно на 1 августа 2019 года, несколько поездов в диапазоне 1-10 августа. Если в город отправляется несколько поездов, выбран самый дешевый рейс и самый дешевый класс обслуживания.

Данные разбиты на квадранты в зависимости от положения относительно Москвы (например, Ставрополь южнее и восточнее Москвы, поэтому расположен в правом нижнем квадранте). Внутри каждого квадранта города соординированы по стоимости поездки и времени в пути. Москва — центр отчета (0 рублей, 0 часов).

Казалось бы график и график, что такого? Но любопытно, что для людей, которые выбирают дешевые билеты, карта России отличается от привычного вида: Томск от Москвы дальше чем Красноярск, Питер ближе к Москве, чем Великий Новгород, а расстояние (естественно, не метрическое) до Благовещенска, Хабаровска и Биробиджана вообще одинаково.

Если совсем упростить мысль (даже скорее опошлить), инфографика — тоже часть картографии и часто она гораздо важнее привычной географической карты. Рано или поздно, это станет очевидно всем.

Ах да, самое главное забыл. Каждая десятая столица субъекта России не имеет прямого железнодорожного сообщения с Москвой. Попробуйте отследить этот факт на географической карте.

P.S. файл в полном разрешении доступен по ссылке

Новый комментарий
androkusha добавлен комментарий

Расположения Калининграда на этой карте для меня контринтуитивно.

Проблема тегирования

На днях в осмерском телеграмм-чатике пользователь Sergey Sinitsyn задал любопытный вопрос: «Из одной точки одновременно растут берёза, сосна и ель — расположите теги у точки в правильной последовательности». Можно отмахнуться, мол ставь как угодно, но вообще-то это вызов, который в приличном обществе принято принимать. Можно даже расширить вопрос до принципиального способа тегирования таких объектов.

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

1. Геометрический способ.
Семь знаков после запятой обеспечивают сантиметровую точность (вдоль меридиана 1.1 см, вдоль параллели Москвы около 0.5 см). Это позволяет наносить любые деревья, как бы близко они не росли друг к другу — нет смысла использовать одну точку для всех деревьев сразу.

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

2. Биологический способ.
Если сантиметровой точности недостаточно, выход есть. В OpenStreetMap я не встречал правила, согласно которому точка дерева на карте соответствует расположению комля. А поскольку третьей координаты нет, точкой дерева можно считать проекцию центра биомассы организма на поверхность земли. Таким образом, растущие из одного места наклоненные деревья, могут быть удалены на карте друг от друга на десятки метров.

3. Формальный способ.
Никто не мешает поставить на точку тег «группа деревьев». Строго говоря, это как раз один из случаев natural=wood. Представлять три дерева как лес непривычно, но в osm лес понимается по айтишному, как более одной воткнутой в землю толстой разветвленной палки.

4. Нечеткий способ.
Я не мог про это не сказать, сами понимаете. Способ аналогичен предыдущему, но позволяет не только указать на группу деревьев, но и дать пояснение о породе. Например так: natural=wood, species=betula …:0.3, species=pinus …:0.3, species=picea …:0.4. Нотация произвольная, характеристические числа соответствуют выраженности вида в группе (здесь все деревья одинаковы, только елка-picea чуть больше: 0.4 вместо 0.3).

5. Динамический способ.
Вернемся к natural=tree. Поскольку актуальность правки часто не отслеживается, есть смысл использовать порядок развития группы деревьев. Я бы расположил первой елку, как наиболее перспективную, последней сосну, которая доживает последние годы.

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

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

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

А вы говорите «проблема тегирования».

Фотку честно спер из телеграмма. Автор: Sergey Sinitsyn

Изменен статус публикации

Фомич

О связи проекции с пониманием Земли кто только не говорил, от Каврайского до Дубового. Каждый год новый перец открывает людям глаза на страшную тайну Меркатора, понятие локсодромии, проекцию Штаба-Вернера или другую пыльную хрень.

В производстве географической путаницы, маткартография давно сдалась айтишному детерминизму, при котором картографический стиль — лишь формула отрисовки геоданных.

Идея создать стиль для небольшого района, а потом заменить в базе этот район на целую планету напоминает анекдот про автомат и детскую коляску: улица на которой в дождь застревает УАЗ на карте выглядит словно бульвар в Пало-Альто. Автоматическая генерализация искажает объекты карты лучше всякой проекции. Отказ от обработки данных  приводит к тому, что карта показывает линию вместо дороги и прямоугольник вместо дома.

На этой картинке четыреста крупных рек России. Попробуйте отыскать реку Фомич. Она протекает по Анабарскому плато впадая левым притоком в Попигай. Если задание выглядит сложным — попробуйте сделать то же самое на любом картографическом сервисе. Или найти залив Бабушкина. Или Северные Увалы. Или Становой. Кто вообще сейчас помнит про эти топонимы?

Математическая картография веками искривляла мир. Новые технологии очистили его за пару десятилетий. Искривлять стало нечего: остались лишь границы и береговые линии. Да и те ненадолго.

Изменен статус публикации

Карты будущего

Радиусы пятиминутной доступности на картах — это несусветная дурь. Мало того, что ими никто не пользуется, так они еще и не соответствуют действительности. Но однажды человеку, который первым придумал эту фигню поставят памятник и назовут в его честь улицу.

Мы так долго живем на Земле, что представляем себе карты лишь как самостоятельный продукт. Объекты на карте статичны, а их расположение не зависит от наблюдателя. Но вы замечали, что карты в научно-фантастических фильмах всегда сделаны по тому-же принципу? Они трехмены, голографичны и невероятно красивы, но все-равно выглядят так, словно Вселенная остановилась. Потому что никто не знает, как нанести на карту движущиеся объекты, да еще при условии, что ты сам летишь по сложной траектории.

Мы живем в удивительную эпоху. За несколько десятилетий ушли в историю такие незыблемые понятия как масштаб, легенда, зарамочное оформление. Устарел принцип двух миллиметров. В закон Вебера-Фехнера пора добавлять коэффициент уровня заряда батареи. Исчезли бергштрихи, аббревиатуры, инженерно-тактическое наполнение, высоты урезов воды и много других вещей. Кто сейчас вспомнит, что закрытые штольни принято обозначать перевернутым условным знаком, а символ АЗС расположен над распределительным пультом?

Точно так же с карты уйдет расстояние. Метры, километры — это абсолютно бессмысленный инструмент, анахронизм. Удаленность объектов будут оценивать временем, стоимостью и черт знает чем еще, но явно тем, что необходимо пользователю напрямую. Вместе с расстоянием исчезнет и классическая маткартография. Об альтернативных проекциях уже сейчас мало кто вспоминает, а в будущем даже про EPSG:3857 будут знать лишь цифровые археологи.

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

Отредактированный ответ

Фиаско с 0/0/0.png

Изначально я хотел сказать про японские кроссворды, которые наталкивают на любопытную возможность хранения растровой графики. Но в результате моя мысль о том, что в OpenStreetMap пока не сделано вообще ничего.

Вроде база растет, осмеры добавляются. Порой слышен разочарованный голос: «У меня в городе все замапили!» (да, это сарказм). Но возьмите самый знаменитый тайл мапника: 0/0/0.png. Для проверки теории о кроссвордах, я решил получить данные о комбинациях цветов в каждой строке и столбце тайла.

Удивительно, но в припадке этой дури мне хватило ума взглянуть на гистограмму. Нулевой тайл стандартного стиля OpenStreetMap содержит восемьдесят два цвета. Восемьдесят два! А выглядит все-равно так, словно муху по лобовому стеклу дворником размазало.

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

А это всего один тайл. Только разговор о тайлах. Лишь визуализация. Один из вопросов софта. Часть инженерной составляющей OpenStreetMap. Еще расти и расти.

Нет большего доказательства стагнации, чем осознание грандиозности перспектив.

Решенный вопрос