Картостроение или добро пожаловать в векторный Крым

в 10:24, , рубрики: flash, векторная графика, картография, обработка изображений, метки: , ,

image

Описанные события датируются 2006 годом

Испокон веков у моей бабушки была карта Крыма 60х годов, которая выглядит как произведение искусства. Действительно художник очень постарался, карта содержит сотни мелких деталей, и буквально каждый сантиметр её пропитан духом тех ушедших времён. Пучеглазые ГАЗы 51, волги, победы, ЛАЗы интурист, винтовые самолеты аэрофлота, женщины на море в купальных шапочках, всё это теперь в диковину, хотя я еще чуточку успел пожить в том мире.

image

В 2002 у меня появился первый после «Поиска» в 90х персональный компьютер с процессором Athlon 1GHz. Спустя совсем немного времени я уже шпарил в фотошопе, а в 2004 у меня появилась программа — чудо человеческой мысли — Macromedia Flash MX. В этом же году я познал таинство гипертекстовой разметки (HTML) и начал делать собственные сайты. С тех пор Flash моя самая любимая программа, я на ней делаю очень многое: элементы дизайна для сайтов или сами сайты, макеты для полиграфии, видеоролики, различные конструкторы и, само собой, анимированные баннеры.

И вот в один прекрасный момент мне захотелось вдохнуть новую, современную жизнь в ту самую карту-шедевр. Для этого имелось всё что нужно: сканер, множество подробных карт Крыма, различные туристические книжки с описанием достопримечательностей, ну и собственно интернет. Карта, к слову была весьма потрепана временем и, видимо, собственным варварством. На ней были детские каракули начерканные шариковой ручкой и в некоторых местах разрывы в местах изгиба. Без особых проблем карта была отсканирована с разрешением 300dpi и превратилась таким образом в цифровую заготовку из шести частей. Затем все куски были просто уменьшены и загружены во флеш, где были преобразованы в вектор с достаточно грубыми параметрами, чтобы получилось поменьше «полигонов». После этого началась самая рутинная работа, уменьшение существующего количества полигонов путем заливки одним цветом ближайших кусочков с похожим цветом. Пришлось обработать несколько десятков тысяч кусочков! Это заняло много времени, так как глаза порядочно уставали. Каждый из оставшихся полигонов, которых тоже было тысячи, был в ручную оптимизирован чтобы он выглядел не сложно и криво а был многоугольником из прямых линий. Так были обработаны все 6 частей карты, и выяснилось что каким-то образом один кусок сильно отличается по цветам от остальных. Недоглядел при сканировании, но была проделана уже уйма работы и переделывать смысла не было. К счастью программа позволяет решить проблему достаточно просто — преобразовать весь кусок в символ и подрегулировать его цветовую гамму ползунками RGB.

Итак, самое трудное и нудное позади, перед глазами красивый крымский ландшафт во всей красоте. Дальше уже более интересные задачи — наполнение карты контентом. Первым делом я занялся самым в тот момент недостающим и логически нижним слоем с Черным морем. А для этого уже нужны были достаточно правильные контуры береговой линии полуострова. Здесь приходит на помощь программа Google Earth. Сложные участки с городами были отпринтскринены и по полученным картинкам были нарисованы четкие границы, после чего они были совмещены с картой путем искажения и трансформации. Затем тема воды продолжилась, и на ландшафте появились озера и реки. С реками всё было проще, а вот множество небольших озер, которые отсутствовали на старой карте, были заимствованы из атласа и размещены на своих предположительных местах относительно автодорог и населённых пунктов.

Дальше уже во всю использовался подробный атлас Крыма. Были нарисованы все дороги, вплоть до более менее накатанных лесных колей. Все железнодорожные пути со всеми станциями и платформами. Самое важное — населённые пункты, с ними сразу было решено делать два переключающихся варианта: со всеми сёлами или только с крупными. Каждая деревенька прошла через мои руки, ставился кружочек и к нему название. В некоторых местах такая плотность поселков, что их названия чудом уместились без накладок друг на друга. Если б вы знали, сколько существует этих Александровок, если только в Крыму с разными вариациями насчитывается около 10, то предположительно в одной только Украине их больше ста. Последними были слои с названиями гор, перевалов, мысов и бухт, и еще с обозначением крымских достопримечательностей, которых на полуострове изобилие. Про каждое интересное место было найдено описание, в основном в небольших книжечках, которые в свое время покупала мама.

Ну вот, осталось всё это наполнить функционалом и дела с концом. Добавлено управление картой (было взято из какой-то немецкой флеш-карты маленького городка), таблица расстояний, и версия для печати. Когда я увидел окончательный размер готового SWF файла, то с трудом верилось что такое возможно. Оптимизация каждого кусочка ландшафта пошла на пользу и, в итоге, достаточно объемное количество графической и текстовой информации уместились в менее чем 600 килобайт!

Приятного просмотра.
Посмотреть и скачать можно здесь http://crimeamap.pdatelie.net

Автор: DJIM

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js