December 7th, 2014

Бритоголовый и С1-97

Про карты в интернете

Пытаюсь соорудить приложение на Android, отображающее много разных карт :) Первая попытка – взять WebView, а в него запихать Leaflet, оказалась довольно геморной и неудачной – карта подтормаживала, а при неудачном стечении обстоятельств – выделялась в этом WebView и напрочь отказывалась работать. Более того, оценив размер геморроя, который возникнет, если я захочу, к примеру, перемещать карту вслед за GPS-координатами мобильника, я решил поискать другие решения. Да и вообще, слово Turducken в программировании считается ругательным (а в кулинарии – вовсе нет).

Правда, на Leaflet можно было работать с целой тучей карт. Загибайте пальцы – Bing (схема и спутник), Google (схема и спутник), куча вариаций OSM, ArcGIS (спутник, схема и карта высот), 2ГИС и, по моему опыту, один из лучших вариантов – три карты Яндекса – схема, спутник и “народная”, одна из наиболее точных и удобных. Но недостатки, к сожалению, перевесили :(

На текущий момент я остановился на osmdroid (если наркоманский github все же прикроют – то что-то осталось на Google Code). Так как OSM – штука довольно популярная, то довольно легко удалось запихнуть туда все карты из перечисленных, кроме Яндекса (умники, которые сейчас начнут рассказывать о лицензионных соглашениях картографических сервисов, идут лесом на йух). Наш любимый поисковик решил выпендриться и использовать не сферическую проекцию Меркатора, как подавляющее большинство картографических сервисов в Интернете, а эллиптическую.

Способ “подружить” osmdroid и яндексовские карты нашелся – но работает он немного странно. Более того, разработчики osmdroid в свежих версиях использовать его не рекомендуют – так как сейчас разрабатывается механизм для поддержки произвольных картографических проекций. Впрочем, карта показывается – так что “программа-минимум” по замене Leaflet выполнена.

Но эти “дневники” малоинтересны – а надо бы вытащить на свет божий какую-нибудь гадость и с мерзостной улыбочкой спросить “Ну че?” В качестве такой гадости – рассказы трех “корпораций зла” о картографических проекциях. Итак номер первый, Microsoft и их Bing.

http://msdn.microsoft.com/en-us/library/bb259689.aspx

Очень неплохая статья, содержащая, пожалуй, главное для интересующегося темой программиста – пример кода, достаточного для работы с картами Bing.

Номер второй – Google.

https://developers.google.com/maps/documentation/javascript/maptypes?hl=ru#MapCoordinates

А тут – ни единого примера кода, так как Google на безальтернативной основе требует использовать свой API. Ну хоть представление о нумерации тайлов карты есть, спасибо и на этом.

И наконец, гигант отечественного интернета, Яндекс:

https://tech.yandex.ru/maps/doc/theory/concepts/coordinates-docpage/

Довольно бессвязный текст, содержащий чертову тучу лишней информации. Особенно радуют соседствующие выражения типа “Яндекс.Карты, как и большинство других геоинформационных сервисов, используют проекцию Меркатора” – а рядом “В отличие от некоторых других картографических сервисов, Яндекс.Карты используют эллиптическую (согласно WGS 84), а не сферическую проекцию Меркатора”. Ну и опять же – “используйте наш API”.

Ну а теперь – риторический вопрос – какая из трех “корпораций зла” построила свой бизнес на программировании, а не на продаже рекламы?

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Кстати

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

И где вы собираетесь брать патроны для Liberator, особенно в российских условиях?

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Я упоролся? Да, я упоролся!

Пытался тут найти способ прикрутить к osmdroid “другую” картографическую проекцию – а так как никакой документации, кроме неполного Javadoc и пары кривых примеров на эту библиотеку в принципе нет, то пришлось читать исходники. И чем дальше, тем больше я убеждался в том, что проще подправить пару-тройку мест в osmdroid, чем заниматься всякой ерундой типа “subclass MapView and return your own custom projection in getProjection()”.

Короче говоря, для того, чтобы решить маленькую и простую задачу – показать в одном приложении карты Bing, OSM, Google и Яндекс – причем уже довольно удовлетворительно решенную, я принимаюсь ковыряться в недрах картографической библиотеки. И чем дальше, тем больше возникают мысли типа “да тут всю систему менять надо!”.

Интересно, дойдет ли до форка Android?

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Отложенный лытдыбр, часть первая

Во времена расцвета ЖЖ жанр бытовых полудневниковых записок “где был, что пил” настолько всех достал, что удостоился даже особо неблагозвучного названия “лытдыбр” – от записанного в неправильной раскладке клавиатуры слова “дневник”. Правда, для дневника нужно писать эти заметки вовремя, а не как обычно получается у меня – через месяц после события, ну и фиг с ним.

ussr-airships-history

Начну с “где был” – 15 ноября сего года я сходил на лекцию Алексея Белокрыса ([info]yesaul) “История советского дирижаблестроения”. Проходила она при поддержке “Общества друзей Государственного исторического музея”, в этаком “полузасекреченном” режиме – то есть место проведения и пароль для прохода (я почти не шучу) сообщались только заинтересованным лицам :)

Заявленное содержание лекции, конечно, очень и очень обширно – если начать с Офицерской воздухоплавательной школы в Гатчине (пусть она не подпадает под определение “советского периода” – но не упомянуть ее нельзя), а закончить СССР В-12 или “Победой”, то не хватит, наверное, даже трех часов на обстоятельное раскрытие темы. Узнав же, что планируемая продолжительность лекции – всего полтора часа, я даже удивился. Но, видимо, это регламентное требование “Общества друзей ГИМ”.

Про это “Общество” надо бы сказать пару слов. Я думал, что это – какие-нибудь интересующиеся историей школьники и пара-тройка энтузиастов из числа работников ГИМ. Но все оказалось куда хуже – в основном это благообразные старички и старушки, собирающиеся по субботам пить чай в одном из помещений музея с прекрасным видом на Красную площадь. Совместить такое чаепитие с интересным рассказом о чем-нибудь историческом – что может быть лучше! Но главное – они слушают, конспектируют и задают вопросы – впрочем, Алексей написал об этом гораздо лучше.

С поправкой на очень ограниченное время и любознательных слушателей лекция оказалась более-менее содержательной лишь в части, касавшейся периода до 1931 года. Особенно интересно было узнать о связи дореволюционного и советского воздухоплавания, и о том, как его развитие оказалось связано с кругосветным и полярными полетами “Графа Цеппелина”. Сюжет про полет “Италии” к Северному полюсу и ее катастрофу намного более известен, но рассказ о периоде после того, как Нобиле приехал в СССР, оказался совершенно скомкан – а я уверен, что там есть немало интересных вещей.

dirizhablestroy

В общем, у меня появился повод купить книгу Алексея “«Дирижаблестрой» на Долгопрудной. 1934-й, один год из жизни” – на лекции ее удалось чуть-чуть полистать и она показалась мне вполне интересной.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Битва мадер, или продолжаем лытдыбр

А еще 15 ноября я сходил на проводившуюся Александром Милицким и дегустационным клубом 750ml.ru слепую “Битву мадер“. Она была назначена на 18:00, проходила в довольно удаленном от центров цивилизации месте – винотеке Blancs de Blancs на проспекте Маршала Жукова – но все равно я опоздал на полчаса (и при этом пришел далеко не последним из участников дегустации).

Общий “формат” дегустации – такой же, как и на “Битве портвейнов“. Александр Милицкий и Денис Руденко подготовили пары соответственно крымских и португальских мадер, в некотором смысле схожих друг с другом, а задачей участников дегустации было попытаться определить, где в каждой из пар Крым, а где – Португалия, и какое вино им нравится больше.

Крымская часть сета выглядела следующим образом:

1. Мадера “Массандра”, Массандра, 2008
2. Мадера “Крымская”, Массандра, 2006
3. Мадера “Коктебель”, Коктебель, 2005
4. Мадера “Коктебель” марочная, Коктебель, 1999
5. Мадера “Коктебель” коллекционная, 1991

Честь острова Мадейра защищали следующие образцы:

1. Royal, Madeira Wine Company (винтаж у португальских мадер вообще обычно не указывается, и дальше я этого делать не буду)
2. Madera Barbeito Verdelho, 3 y/o
3. Blandy’s Bual Medium Rich, 10 y/o
4. Cossart Gordon Malmsey, 10 y/o
5. Cossart Gordon Sercial Colheita, 1997 (это и есть то самое “исключение”, о котором – чуть позже)

Все это сопровождалось рассказом о технологии производства мадеры – начиная с известной байки о шедшем в Индию паруснике с грузом вина, которое не выкупил получатель груза, и винодел с острова Мадейра, получив вино обратно, с горя попробовал его, думая, что оно безнадежно испорчено, и заканчивая классификацией “четырех благородных сортов” винограда, использующихся для мадеры (если говорить о “настоящей” португальской мадере).

Крымские мадеры от португальских отличаются довольно сильно “с самого начала” – с используемых сортов винограда. В Португалии и слыхом не слыхивали про какой-нибудь Шабаш, а за предложение сделать мадеру из Альбильо, думаю, могут и побить. Более того, все крымские мадеры делаются из смеси сортов винограда, по содержанию сахара находящейся примерно между сортами Серсиаль и Вердельо, и где-то начиная с третьей пары Крым и Португалию можно было отличить очень просто – португальские мадеры были слаще, особенно заметно это было в четвертой паре, где Португалия была представлена самым сладким сортом мадеры, Malmsey, или мальвазией. Замечу, что для портвейнов это не так – и я сначала примеривал к мадерам опыт “Битвы портвейнов”, где ситуация с содержанием сахара была обратной.

Впрочем, Денис довольно быстро обратил внимание на нюансы, которые позволяют отличить Крым от Португалии – для “знатоков” эта дегустация вряд ли может называться “слепой”, да и в “народном” голосовании Крым и Португалию перепутали только в последней паре (то, что в первом голосовании голоса поделились почти пополам – спишем на “неоткалиброванность” дегустаторов). Но в ней с обеих сторон были представлены весьма качественные вина, как раз способные преподнести сюрпризы. Кстати, для португальской мадеры указание года урожая (и слово Colheita, которое как раз и переводится “урожай”) – что-то вроде “знака качества”. Обычно в Португалии смешивают вино разных лет, и если на бутылке написано про 3 или 10 лет выдержки – то это “среднее” значение для составляющих этой смеси. Если же год (в данном случае 1997) был особо удачным – то мадера, сделанная только из винограда урожая этого года, называется “винтажной”, и в этом случае на этикетке указывается не срок выдержки, а конкретный год. В Крыму, разумеется, все не так – “винтажной” можно назвать всю крымскую мадеру, но происходит это не по причине каких-то ее исключительных качеств, а просто из-за того, что “бленд” разных лет урожая несовместим с нашей бухгалтерией :)

Что же касается голосования за “понравилось” – то в первых трех парах Португалия победила с разгромным счетом (4:14, 3:15, 5:13). Массандровские “ординарные” (будем использовать это слово по отношению к ним, хоть это и не совсем правильно) мадеры оказались довольно слабыми соперниками для португальских конкурентов. Пусть мадеру “Массандра” 2008 года по формальным признакам можно назвать “винтажной”, пусть на этикетке нарисованы медали всевозможных конкурсов еще советских времен, но в дегустационных заметках о ней не так уж и много хорошего. Не спас ситуацию даже паритет в четвертой паре (8:10) и победа Крыма в пятой (16:2).

Кстати, интересно сравнить “народную” оценку с “профессиональной”. Денис Руденко выставлял баллы по своей шкале, и, скажем, в первой паре массандровский образец получил 14,5 баллов против 14 у португальского (хотя они оба, будем говорить откровенно, не относятся к “высоким винам”, и даже до просто “хороших” едва дотягивают). Во второй мадера “Крымская” производства все той же “Массандры” получила и вовсе 14 баллов против 15,5 у португальской. Далее крымские образцы получали на 0,5 балла меньше португальских – но это были вполне достойные оценки в 15-16 баллов.

Возможно, что если бы Крым в категории “ординарных” образцов был представлен не только “Массандрой” – то ситуация выглядела бы несколько иначе. К сожалению, “на полке в Москве” можно найти только эти не самые лучшие крымские мадеры производства “Массандры”, “Коктебель” и “Магарач” (чью “Альминскую” мадеру Александр Милицкий очень хвалит) в магазинах не представлены.

В конце дегустации были представлены и два “джокера” – сухая и десертная “Эталита” производства “Массандры”. Признаться, после довольно сладких мадер “Эталита сухая” (кстати, название немного обманывает – это крепленое вино, произведенное по похожей на мадеру технологии) мне показалась довольно сомнительным вином, и я был очень удивлен, когда Денис Руденко поставил ей 16 баллов. Правда, когда я попробовал ее во второй раз чуть позже – она оказлась вполне ничего. Об “Эталите десертной”, правда, восторженно отзываться тоже не пришлось – и в аромате, и во вкусе там есть напоминающие апельсиновую корку тона, которые перебивают все остальное, а если добавить и 16% сахара – то получаем довольно бессмысленное “десертное” вино. Впрочем, о его назначении очень точно было замечено на дегустации под названием “Новинки Крыма” – о которой я тоже обязательно напишу.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).