Таллинский зоопарк

Прогулки по зоопаркам. Таллинский зоопарк

В России все белые медведи государственных зоопарков находятся под шефством компании «Роснефть», о чем сообщают соответствующие плакаты на подходе к вольерам. В Эстонии «Роснефти» нет, поэтому белый мишка там ходит с поврежденной лапой. Надеюсь вы уловили сарказм, но даже если нет, я не нарушил фактологическую картину. Этой зимой я посетил Таллин, желая взглянуть на состояние Ursus maritimus в зоопарке, а заодно изучить особенности содержания животных в неволе. Кто знает, может однажды я открою собственный зоопарк.

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

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

Нельзя кормить животных тем, что вы считаете съедобным. Про это написано в каждом зоопарке, но все-равно найдется мудак, который решит угостить зверя шоколадкой. К некоторым животным не то что кормить, подходить опасно. Эта проблема может быть решена двумя разными способами. Чаще всего людей ограждают от вольеров периметром, за который нельзя заходить. Ширина этого периметра не должна допускать возможности дотянуться до животного условной морковкой.

Если животное не представляет большой опасности, то можно поставить простой забор с табличкой:

Это самый дешевый, но отвратительный метод. Кому могут понравиться запреты? Другое дело, если никаких ограничений вроде бы нет, но к вольеру подойти все-равно невозможно. Сделать это можно, например, разбив перед оградой клумбу с цветами. Хотя думаю, что дешевле высадить сад камней, разровняв перед вольером землю на манер контрольно-следовой полосы. Особенно, если за оградой прогуливается японский журавль Grus japonensis:
Японский журавль

Во всяком случае не придется увеличивать штат флористов и укрывать на зиму кусты:

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

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

Нужно быть полным идиотом, что-бы залезть на клумбу и подойти к решетке вплотную:

Второй способ, обоюдной защиты людей и зверей основан на полной непроницаемости вольеров. Сделать это можно, например, поставив перед решеткой вольера прозрачный пластик либо прочное стекло:

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

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

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

Электрические ограждения в зоопарке выглядят диковато. Прогулочная зона крокодила больше напоминает узкие улочки Аушвица:
Электроограда на воде

Напряжение служит весомым аргументом для животных, которые могут перепрыгнуть через забор. Но аргумент этот влечет дополнительные затраты, на монтаж, подключение, питание и предотвращение возможности прикосновения посетителя к проводу. Хотя с последним в Таллине не сильно заморачиваются:

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

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

«Неприлично указывать на кого-то пальцем»:
Неприлично указывать на человека пальцем

«Неправильные пчелы которые делают неправильный мед»:
Пчелы делают неправильный мед

«Не подавай руку врагу»:
Рука в челюстях

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

Животных в зимнем зоопарке мало. Тем больше у вас времени прочитать про них на информационных табличках:
Таблички в Таллинском зоопарке

В березово-ольховых зарослях, судя по указателю, прячутся где-то индийские слоны:
Березово-ольховые заросли

Таблички совершенно типичные. Точно такое-же бесполезное говно, что и во всех остальных музеях: куча текста, который никак не систематизирован и не адаптирован для запоминания. Через два шага вы уже забудете название вида, которым только что умилялись. Карты ареалов вообще чудовищны. Нахрена, скажите такие подробности? Достаточно было обвести материки примерным контуром.
Карта ареалов

Местами стиль нарушается, но от этого карты не становятся лучше. Кроме того, информационные щиты неплохо бы иногда мыть:
Карта ареалов

Уровень исполнения карты зоопарка тоже хромает, хотя тут явно видно старание:
План зоопарка

Плохое решение для карты, может оказаться вполне достойным для навигации:
Указатели в Таллинском зоопарке

Услышав шаги, белый медведь моментально оживился, но быстро понял, что еды от нас не дождешься. Обиженно засопел, махнул больной лапой и ушел вглубь вольера, бросив на морозе свой мячик:
Белый медведь в Таллине

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

Таллинский зоопарк в стадии долговременного обновления. Где-то уже лежат аккуратные настилы из деревянных блинов:
Деревянный настил

и ровненькие газонные решетки:
Газонная решетка

Для сравнения, в тех местах России, где чудом появилась газонная решетка, она обычно выглядит так:
Газонная решетка

В мужском общественном туалете кто-то выращивает цветы. Это охренительно, но не потому что цветы, а потому что кого-то дико таращит от мелочей, которые все считают незначительными:
Цветы в туалете таллинского зоопарка

С другой стороны, часть зоопарка еще нуждается в радикальном улучшении:

Бетонные плиты не убраны.

Больные деревья не спилены.

Мусор не убран.

Хром через который выводится картинка из птичника не переустановлен.

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

P.S. Кстати, если кто в теме, проясните, что за беда с лапой у медведя и как он поживает сейчас? Я тут руку повредил — прекрасно понимаю бедолагу.

X-Art

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

Карта Русской равнины:

Это безумие заняло у меня шесть ночей в нарядах. Во время процесса мне активно позировала карта расположения военно-стратегических объектов северо-атлантического альянса и чуть позже — карта растительности из монографии Берга «География СССР», хранившаяся в библиотеке нетронутой с девяносто четвертого года. Карта исполнена карандашом и шариковой ручкой. К великому сожалению, ввиду служебных пертурбаций завершить ее так и не удалось — подписи остались только в виде набросков.

А вот карта мира. Эта вещь уже посильней чем «Фауст» Гете:

Карта грубовата, более того непосвященный человек всячески ее раскритикует. Что с Кольским полуостровом? Почему вместо Камчатки сосулька? Что с южным полушарием происходит? Южное полушарие — это конечно сплошной косяк, не отрицаю. Но интересно в этой карте не содержание, а способ получения.  Равновеликая азимутальная проекция Ламберта в которой была исполнена исходная карта после несложных геометрических манипуляций была преобразована в проекцию Меркатора. Да, руками. Формулы Бурса-Вольфа? Передискретизация? Полиномиальные преобразования? Все это для слабаков. Вот как выглядит настоящее перепроецирование на лету! Помимо авторучки, при изготовлении был задействован огрызок синего карандаша.

Ну и наконец, высшая стадия картографической парэстезии. Содомия цветов. Визуализация данных OpenStreetMap на территорию Ростовской области. Визуализировал, визуализировал, да так и не вывизуализировал. И не с помощью какого-нибудь mapnik-a, QGis-а или на худой конец фотошопа. Акварельные краски на меду (срок годности истек тринадцать лет назад), блокнот и Cranberries в наушниках — вот инструменты этого безумия!

Если обычная работа с картой вас больше не возбуждает — попробуйте сменить диванный маппинг на девиантный. Ведь, даже по словам Долорес О’Риордан: «Фани хоу тинг джаст тастед беттер! Вен ви вер юнг!»

Опен стайл пиздинг

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

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

Код писался под Mapnik. Есть еще вариант этого кода написанный на CartoCSS, но он несколько устарел, а потому я его тут не выкладываю. Для отрисовки тайлов в этом стиле рендер должен подсасывать данные OSM в формате шейп-файлов, которые доступны на сайте ГИС-ЛАБа

Конечно-же, результат далек от идеала, однако, как говорил один знакомый прокурор: «похоже до степени смешения». Это еще раз подтверждает, что закрытые проекты сосут перед опенсорсом. Ибо сделать из OpenStreetMap Яндекс-карты — что в носу поковырять, а вот обратно хуй там. Еще есть огромное количество моментов, которые следует исправить, а то и вовсе полностью переделать. Но нет предела совершенству, в отличии от жизни человеческой.

Ну а теперь самое интересное: картинки. Давайте погуляем по зумам. В Яндекс-картах их шестнадцать, со второго по восемнадцатый. Вот второй зум:
2

 

Здесь и далее слева карта Яндекса, справа мое скромное творение.

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

Третий зум:

3

 

Вторая проблема заключается в том, что названия стран выводятся в центроидах полигонов, отчего выглядят они порой совсем не на своем месте, например, как Финляндия на четвертом зуме:

4

 

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

На пятом зуме пришлось изрядно возиться с водоемами. Будете смеяться, но в OSM нет единых водотоков, одни кусочно-разрывные графики функций, снабженные разными тегами. Например, вы не можете легко отобразить на карте такую реку, как, Енисей, поскольку часть реки riverbank, часть water, а часть вообще непонятно как тегирована. Дай думаю, посмотрю, а как реки в стандартном стиле отображаются? А вот хрен там, они в стандартном стиле на этих зумах никак не отображаются. Ну что тут поделать? Я налил себе стакан и вывел интересующие меня реки просто по их имени, благо крупных рек выводить много и не требовалось.

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

На этом же зуме у Яндекса появились первые иконки. Поскольку красть иконки было бы совсем бесчестно,  а главное скучно, я не стал выносить себе мозг и нарисовал первый примитив, который в голову пришел:5

 

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

И тут я должен сделать важное замечание. Я пишу эту статью уже три недели и у меня нихрена не выходит, получается одна шляпа, которая терзает и не отпускает. Думал, вот сегодня хоть что-то напишу, так нет-же. То пиво закончилось, то батарея у компьютера разряжается. Поэтому смотрите картинки и додумывайте сюжет сами дальше. Я может и вернусь к этой теме, но позже, а то мне через четыре часа в тайгу ехать, а у меня уже ни в одном глазу. А все потому что сковывает запястья суета пустого и забивает глаза пыль пустопорожних тщет.

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

7

 

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

Восьмой зум:
8

 

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

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

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

 

Еще одна трудность, которая начинается на девятом зуме это железные дороги. Данные OpenStreetMap настолько разнятся в этой части от данных Яндекс карт, что для достижения похожести стилей приходиться применять совсем другое обозначение для железных дорог. В OSM  в отличии от Яндекс-карт отрисована каждая ветка захолустного пути, поэтому применение оригинального стиля ведет к тому, что железные дороги начинают выглядеть как толстые черные полосы. А стоит немного отойти от оригинала и сразу все нормально. Десятый зум:
10

 

Одиннадцатый зум, на котором я потерял названия районов и несколько дней не мог их найти, но в итоге нашел:
11

 

На двенадцатом зуме вновь пришлось создать, даже не иконку, а так, графический примитив для визуализации железнодорожных станций:
12

 

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

 

Четырнадцатый зум:
14

 

Пятнадцатый зум:
15

 

С шестнадцатого зума дома приобретают форму. Здесь я применил самый хромой костыль из всех. Дело в том, что все мои попытки отобразить домики в виде полупрозрачных объектов натыкались на то, что они походили на странные коробки — для правильного отображения, полупрозрачными должны быть только крыша и лицевые стенки домиков, а все что скрыто под крышей должно быть полностью прозрачным. Я эквилибрировал разными вариантами,  но в итоге, единственным решением, которое меня частично удовлетворило, стало погружение домиков в глубину.
16

 

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

 

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

 

И еще кое-что. Хоть стиль и можно скачать, но все-таки не забывайте, что пользоваться им незаконно, ибо был он честно спизжен. Как производственный продукт он не годится. А вот для процесса познания того, что OpenStreetMap — круть небесная, в самый раз.