toman_k: (Ушастик)
[personal profile] toman_k
Залез вот давеча на CloudMade в раздел карт, и попробовал (очень приблизительно) "перенести" туда стиль, который некоторое время назад начал делать себе для Maperitive. Ибо, несмотря на то, что возможности настройки стилей в CloudMade представляются просто исключительно дуболомными, однако это хоть какая-то возможность с почти приемлемой просматривать карту любого участка земного шара (конечно, под картой я в данном случае имею в виду OSM), в состоянии относительно приемлемой свежести, в цветовой гамме, которая не приводит в дикую ярость (ну, это с точностью до недоделанных вещей в стиле, и с точностью, насколько CloudMade не позволяет приблизиться к действительному виду стиля). К сожалению, это относится почти только к цветовой гамме, но не к другим, казалось бы, неотъемлемым элементам стиля...

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

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

Ну да ладно, вначале просто приведу картинки-примеры - одна и та же область около центра Москвы, в почти одинаковом масштабе (zoom 14, грубо говоря), в исполнении Maperitive, и в исполнении CloudMade:

А вот - можете посмотреть на CloudMade данный стиль в действии: http://maps.cloudmade.com/?lat=55.703903&lng=37.560711&zoom=14&styleId=51263&opened_tab=0

Теперь кратенько о дуболомности. Если кто прошёл по ссылке, мог убедиться: тропы (highway=path) выглядят просто ужасно. Это следствие того, что почему-то в стиле для линейного элемента может настраиваться или толщина, или стиль (сплошной/пунктирный/штрихпунктирный и т.п.), но не то и другое. Причём, что именно настраивается, как будто бы, задано высшим руководством. В частности, вот для троп высшее руководство считает, что им надо настраивать стиль линии, но совершенно не надо - толщину. Поэтому они и рисуются тут такими толстыми, и ничего с этим не сделать, и оно выглядит так практически во всех стилях. (Хотя вот среди стилей других авторов я видел один, в котором тропы рисуются тонкой сплошной линией - но вот как автор стиля этого добился, непонятно). Аналогичная ситуация и с ж.д., трамвайными линиями - для них также не предусмотрена настройка толщины.

Но это ещё не всё. Есть ещё такая штука как зависимость отображения или скрытия тех или иных знаков/линий в зависимости от масштаба. Говоря по-русски, одна из важнейших составляющих процесса генерализации. Масштаб в OSM обычно принято выражать номером zoom level - чем номер больше, тем масштаб крупнее. А, в отличие от тех карт, где генерализация выполняется вручную, или хотя бы под пристальным контролем человека, отбрасывание элементов происходит сугубо формально - по их типу. Из-за этого при отображении территории России в OSM практически всегда генерализация становится камнем преткновения: какой масштаб ни выбирай, карта на экране выглядит практически пустой, как будто на местности вообще нет ничего - ни населённых пунктов, ни дорог, ни рек. А появляются они более-менее в явном виде и "в полном комплекте" только на масштабе, приблизительно соответствующем где-то этак километровке-полукилометровке, если не крупнее. Разумеется, при таком масштабе, скорее всего, на экран поместится только 1-2 деревни, и совсем немного отрезков автодорог - и экран опять почти пуст, зато, чтобы что-то увидеть, пользователь вынужден судорожно проматывать экран за экраном. Отсюда следует, что для более-менее адекватного и удобного пользователю отображения на карте территории России (кроме, разве что, крупнейших городов и ближнего Подмосковья) необходима достаточно радикальная модификация уровней масштаба скрытия разных элементов по сравнению с принятой в стилях по умолчанию.

Кроме этой нашей, чисто российской (впрочем, нет, не только...) особенности, встречаются некоторые косяки, которые проявляются на полную катушку даже при отображении всяких плотно заполненных местностей - вроде Москвы и Подмосковья, или Западной Европы, США, Японии и т.д... Например, традиционным приколом стилей "по умолчанию" можно считать включение показа магистральных железных дорог, ж.д. подъездных путей, метро, трамваев лишь на совершенно неадекватных их значению, слишком крупных масштабах. Что опять-таки не позволяет вывести на один экран и охватить взором, скажем, всю сеть, или даже какую-то отдельную часть сети дорог. Но как раз с этим, к счастью, у CloudMade всё не настолько плохо, как могло бы быть. Хотя, конечно, появление ж.д. только на уровне условно порядка десятикилометровки - это не совсем правильный подход, мягко говоря: по идее, магистральные ж.д. должны появляться на карте при том же самом масштабе, что и главнейшие магистральные автодороги. Но и то лучше, чем если бы они появлялись вообще на "километровке". Хотя, если бы была такая возможность, Трамвай уже вполне виден на уровне масштаба, позволяющем обозревать всю трамвайную сеть Москвы, например.

Но зато, например, при отображении того же самого города, проявляется косяк с разными типами пешеходных путей, например, в парковых зонах. Пешеходные пути, в большинстве своём, нарисованы в виде highway=path (тропа), highway=footway (пешеходная дорожка), и highway=pedestrian (пешеходная улица). Употребление обозначения "пешеходной улицы" к главным дорожкам в парках, конечно, несколько спорно. Однако, объективно, типичная пешеходная улица (highway=pedestrian) (например, в историческом центре города) ещё более широка и ещё более оживлённа, чем "пешеходная дорожка" (highway=footway) в парке. Поэтому, вообще говоря, если уж таковая "улица" и нарисована в парке, она должна быть по "приоритету" выше дорожек и тропинок. Однако заданный CloudMade, и не изменяемый в стиле уровень скрытия приводит к тому, что в определённом диапазоне масштабов (точнее, в данном случае в одном масштабе, на 13-м зуме) исчезают "пешеходные улицы", но остаются "пешеходные дорожки" и "пешеходные тропы". В общем, большого смысла как-то всерьёз дорабатывать данный стиль нет, так же как и пытаться вплоть до мелочей приблизить его к соответствующему "предковому" стилю из Maperitive, т.к. всё равно останутся слишком большие косяки. Пусть будет, какой есть, в общем - его дело хотя бы в том, чтобы обеспечивать приятную для глаза общую цветовую гамму, большего ждать не приходится. А дальше надо думать, каким же образом всё-таки рисовать карту всерьёз. Как бы не дошло дело до необходимости осваивать-таки Mapnik с PostGIS'ом, а то и чего пострашнее.

З.Ы. Кстати, вот интересно - есть ли какой-то из доступных рендереров OSM, который бы умел рисовать, например, ЛЭП так, как положено их рисовать - с ориентированными по углу прямоугольничками на точках, и стрелочками на линиях? НЯП, для Maperitive и для Osmarender это какая-то неразрешимая задача.
From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

toman_k: (Default)
toman_k

April 2017

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425262728 29
30      

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2017 12:33 pm
Powered by Dreamwidth Studios