<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">

<channel>

<title>— И. П.</title>
<link>http://ivanpoukhkal.ru/blog/</link>
<description></description>
<generator>E2 (v2725; Aegea)</generator>

<item><title>Визовая статистика 2003—2012</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/vizovaya-statistika-2003-2012/</guid><link>http://ivanpoukhkal.ru/blog/all/vizovaya-statistika-2003-2012/</link><comments>http://ivanpoukhkal.ru/blog/all/vizovaya-statistika-2003-2012/</comments><description>&lt;p&gt;Одно изменение по сравнению с &lt;a href="/blog/all/gde-rossiyane-poluchayut-vizy-statistika-2003-2011/"&gt;прошлым годом&lt;/a&gt; — в европейский отчёт на этот раз не попали страны вне Шенгена (Болгария и Румыния).&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/visas_2012.png" width="853" height="874" alt="" /&gt;
&lt;/div&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/visas_mosaic.png" width="850" height="721" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Меньше ста тысяч виз выдали: Словения (54 % в России), Люксембург (50 %), Мальта (46 %), Словакия (23 %) и Дания (15 %).&lt;/p&gt;
</description><pubDate>Tue, 23 Apr 2013 19:10:55 +0400</pubDate></item><item><title>Old news graphics</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/old-news-graphics/</guid><link>http://ivanpoukhkal.ru/blog/all/old-news-graphics/</link><comments>http://ivanpoukhkal.ru/blog/all/old-news-graphics/</comments><description>&lt;p&gt;Запустил мини-блог про информационную графику в старых американских газетах (конца XIX — начала XX века): &lt;a href="http://oldnewsgraphics.tumblr.com/"&gt;http://oldnewsgraphics.tumblr.com/&lt;/a&gt;&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/balkan.jpg" width="750" height="519" alt="" /&gt;
&lt;/div&gt;
</description><pubDate>Thu, 14 Mar 2013 22:50:12 +0400</pubDate></item><item><title>Результаты ЕГЭ 2010—2012 по школам Санкт-Петербурга</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/rezultaty-ege-2010-2012-po-shkolam-sankt-peterburga/</guid><link>http://ivanpoukhkal.ru/blog/all/rezultaty-ege-2010-2012-po-shkolam-sankt-peterburga/</link><comments>http://ivanpoukhkal.ru/blog/all/rezultaty-ege-2010-2012-po-shkolam-sankt-peterburga/</comments><description>&lt;p&gt;&lt;a href="/interactive/ege/"&gt;&lt;a href="/interactive/ege/"&gt;http://ivanpoukhkal.ru/interactive/ege/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/ege3.png" width="844" height="635" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Использованные библиотеки:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://harvesthq.github.com/chosen/"&gt;Chosen&lt;/a&gt;, с учётом изменений, внесённых по рецепту &lt;a href="http://habrahabr.ru/post/124912/"&gt;с хабра&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jquery.com/"&gt;JQuery&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/jquery-csv/"&gt;JQuery CSV&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://raphaeljs.com/"&gt;Raphael&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://underscorejs.org/"&gt;Underscore&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Если кому-нибудь интересно сравнение результатов по русскому и математике между собой:&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/ege12.png" width="750" height="600" alt="" /&gt;
&lt;/div&gt;
</description><pubDate>Thu, 07 Feb 2013 14:08:27 +0400</pubDate></item><item><title>Ведущие авикомпании России 2000—2012</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/veduschie-avikompanii-rossii-2000-2012/</guid><link>http://ivanpoukhkal.ru/blog/all/veduschie-avikompanii-rossii-2000-2012/</link><comments>http://ivanpoukhkal.ru/blog/all/veduschie-avikompanii-rossii-2000-2012/</comments><description>&lt;p&gt;Адаптация диаграммы на аналогичную тему из &lt;a href="http://www.nytimes.com/interactive/2010/09/27/business/Airline-merger-standalone.html" class="nu"&gt;«&lt;u&gt;Нью-Йорк Таймс&lt;/u&gt;»&lt;/a&gt;.&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/airlines_ru.png" width="850" height="1100" alt="" /&gt;
&lt;/div&gt;
</description><pubDate>Wed, 30 Jan 2013 19:04:37 +0400</pubDate></item><item><title>Биатлонный календарь 2012-13</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/biatlonnyy-kalendar-2012-13/</guid><link>http://ivanpoukhkal.ru/blog/all/biatlonnyy-kalendar-2012-13/</link><comments>http://ivanpoukhkal.ru/blog/all/biatlonnyy-kalendar-2012-13/</comments><description>&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/biath12.png" width="370" height="398" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="/biathlon/biathlon2012-13.pdf"&gt;&lt;a href="/biathlon/biathlon2012-13.pdf"&gt;http://ivanpoukhkal.ru/biathlon/biathlon2012-13.pdf&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
</description><pubDate>Sat, 24 Nov 2012 15:02:54 +0400</pubDate></item><item><title>Три карты петербургских наводнений</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/tri-karty-peterburgskih-navodneniy/</guid><link>http://ivanpoukhkal.ru/blog/all/tri-karty-peterburgskih-navodneniy/</link><comments>http://ivanpoukhkal.ru/blog/all/tri-karty-peterburgskih-navodneniy/</comments><description>&lt;p&gt;Освещая последствия урагана «Сэнди», «Нью-Йорк Таймс» опубликовала &lt;a href="http://www.nytimes.com/interactive/2012/10/30/nyregion/hurricane-sandys-aftermath.html#category-subways"&gt;карту&lt;/a&gt;, показывающую какие области Манхэттена будут затоплены при разных уровнях поднявшейся воды. Из подобных схем наиболее известна &lt;a href="http://www.cartogis.org/images/winners/venice.gif"&gt;венецианская&lt;/a&gt;, сделанная «Нэшнл Джеографик» и получившая приз за лучшую карту на «Малофее» 2010 года.&lt;/p&gt;
&lt;p&gt;Мне стало интересно: а есть ли такие же карты для Петербурга? Найти удалось только три, но зато по одной из каждого века.&lt;/p&gt;
&lt;h2&gt;XIX век, план самого масштабного (4,2 метра выше ординара) наводнения в истории города&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.etomesto.ru/map/base/78/1824spbnavodnenie.jpg"&gt;Крупнее, 11 МБ.&lt;/a&gt;&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/1824spbnavodnenie3k.jpg" width="750" height="778" alt="" /&gt;
&lt;/div&gt;
&lt;h2&gt;1900 год, карта из Брокгауза и Ефрона, изображающая разные уровни затопления&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.spbin.ru/photos/maps/map_spb_navod_high.jpg"&gt;Крупнее, 1 МБ.&lt;/a&gt;&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/map_spb_navod_high.jpeg" width="750" height="855" alt="" /&gt;
&lt;/div&gt;
&lt;h2&gt;Современность, модель в ГИС «Наводнения» в стиле «привет из девяностых»&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.infoecogis.ru/flood/"&gt;Интерактивная версия, с возможностью подобрать желаемый уровень.&lt;/a&gt;&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/Screen-Shot-2012-10-31-at-20.47.16.png" width="733" height="937" alt="" /&gt;
&lt;/div&gt;
</description><pubDate>Wed, 31 Oct 2012 22:07:20 +0400</pubDate></item><item><title>Интерактивная карта на основе Kartograph.js</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/interaktivnaya-karta-na-osnove-kartograph-js/</guid><link>http://ivanpoukhkal.ru/blog/all/interaktivnaya-karta-na-osnove-kartograph-js/</link><comments>http://ivanpoukhkal.ru/blog/all/interaktivnaya-karta-na-osnove-kartograph-js/</comments><description>&lt;div class="txt-picture"&gt;
&lt;img src="/blog/pictures/flights2012.png" width="824" height="918" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="/interactive/flights/"&gt;&lt;a href="/interactive/flights/"&gt;http://ivanpoukhkal.ru/interactive/flights/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cделано с помощью джаваскрипт-библиотеки &lt;a href="http://kartograph.org/"&gt;Kartograph.js&lt;/a&gt; &lt;a href="http://twitter.com/driven_by_data"&gt;Георга Айша&lt;/a&gt;, предназначенной для создания интерактивных векторных карт на основе SVG. Её основная «фишка» — в поддержке различных картографических проекций.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vis4.net/blog/posts/introducing-kartograph/"&gt;Рассказ автора о том, почему он решил создать «Картографа».&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Данные&lt;/h2&gt;
&lt;p&gt;Чтобы не тратить много времени на подготовку геопривязанных данных, я решил ещё раз обратиться к авиационной тематике. Я знал, что на openflights.org ведётся &lt;a href="http://openflights.org/data.html"&gt;база данных&lt;/a&gt; аэропортов с их географическими координатами, так что оставалось подобрать что-нибудь связанное с перелётами между ними. В августе как раз свернула работу авиакомпания Wind Jet и я решил нарисовать европейские маршруты «схлопнувшихся» в этом году перевозчиков пассажиров.&lt;/p&gt;
&lt;p&gt;Первоначально я думал собрать данные по двум-трём авиакомпаниям вручную, но на том же openflights оказалась база маршрутов по состоянию на январь 2012 года, так что препятствий к рисованию всех линий не было. Количество самолётов к моменту прекращения деятельности я взял из Википедии. Ещё по Википедии я уточнил названия некоторых аэропортов (например, чешский аэропорт «Брно—Туржаны», который в базе назывался просто «Туржаны»). Там, где возможно, я уточнил действовавшие расписания авиакомпаний  по &lt;a href="http://airlineroute.net"&gt;Airline Route&lt;/a&gt; и &lt;a href="http://info.flightmapper.net/airlines"&gt;FlightMapper&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Все три таблицы (аэропорты, маршруты и авиакомпании) были сохранены в CSV (50 КБ в сумме).&lt;/p&gt;
&lt;h2&gt;Внутреннее устройство библиотеки&lt;/h2&gt;
&lt;p&gt;«Картограф» отвечает за географическую часть работы: преобразование координат из широты и долготы в абсциссу и ординату рисунка в соответствии с выбранной проекцией, а также умеет наносить данные по нескольким типовых решениям: с кругами или иконками в заданных точках, либо с кодированием цветом регионов в зависимости от данных (то, что по-русски называют картограммой, а по-английски — choropleth map).&lt;/p&gt;
&lt;p&gt;Непосредственно для рисования SVG в браузере для работы требуется подключить &lt;a href="http://raphaeljs.com/" class="nu"&gt;«&lt;u&gt;Рафаэль&lt;/u&gt;»&lt;/a&gt; — в результате все элементы карты являются объектами «Рафаэля» и интерактивность обеспечивается именно возможностями этой библиотеки.&lt;/p&gt;
&lt;h2&gt;Также использованы&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://jquery.com/"&gt;jquery&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/springmeyer/arc.js"&gt;arc.js&lt;/a&gt; — для расчёта &lt;a href="http://ru.wikipedia.org/wiki/Ортодромия"&gt;ортодром&lt;/a&gt;, кратчайших линий между точками земного шара;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/jquery-csv/"&gt;jquery-csv&lt;/a&gt; — для чтения данных из CSV-таблиц;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://underscorejs.org/"&gt;underscore.js&lt;/a&gt; — незаменимая библиотека для работы с коллекциями в функциональном стиле.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Общий размер скриптов: 277 КБ (библиотеки в минифицированном виде) + 11 КБ (относящийся к созданию конкретно этой карты).&lt;/p&gt;
&lt;h2&gt;Начало работы&lt;/h2&gt;
&lt;p&gt;«Картограф» на входе понимает SVG-файл с географическими метаданными: в какой проекции карта и каковы 2 широты и 2 долготы, ограничивающие рисунок по краям. Есть два пути получения такого файла: (а) взять обычную SVG-карту, узнать проекцию и проставить ограничения в файл вручную, (б) воспользоваться написанном на Питоне &lt;a href="https://github.com/kartograph/kartograph.py"&gt;скриптом kartograph.py&lt;/a&gt;, который сделает из &lt;a href="http://ru.wikipedia.org/wiki/Shapefile"&gt;шейп-файлов&lt;/a&gt; с геоданными SVG-карту с уже прописанной метаинформацией. При работе с ним также можно указать желаемую проекцию на выходе или какие объекты включать в итоговую карту.&lt;/p&gt;
&lt;p&gt;Я выбрал путь (б) — в конце концов, библиотеку-то мы выбрали именно из-за большого количества проекций. Найти шейп-файл для обзорной карты Европы — дело несложное, достаточно просто взять &lt;a href="http://www.naturalearthdata.com/downloads/50m-cultural-vectors/"&gt;файлы Natural Earth в нужном масштабе&lt;/a&gt;, где уже прописаны коды стран и регионов (впрочем, на моей карте со странами манипуляций нет, так что коды тут не понадобятся).&lt;/p&gt;
&lt;p&gt;Предлагается &lt;a href="https://github.com/kartograph/kartograph.py/blob/master/INSTALL.md"&gt;автоматическая установка&lt;/a&gt;, которая на Маке работает ровно до того момента, когда ей требуются установленные Command Line Tools. Точнее, эта причина устанавливается позже, сообщение выдаётся немного другое: «AAA не нашло BBB». Вариантов два: либо поставить весь XCode, либо найти дистрибутив только с этими Command Line Tools (я смог).&lt;/p&gt;
&lt;p&gt;Потом я смог это сделать ещё раз, поскольку попутно обновился с Льва Обычного до Льва Горного и всё установленное питонное хозяйство слетело.&lt;/p&gt;
&lt;p&gt;В итоге CLT (cltools_mountainliondp2_march12.dmg) были приняты благосклонно и установка завершилась успешно.&lt;/p&gt;
&lt;p&gt;Преобразование управляется &lt;a href="http://kartograph.org/docs/kartograph.py/#adding-map-layers"&gt;конфигурационным файлом&lt;/a&gt; (в yaml или json-формате). Вот, например, мой для «спутниковой» проекции (вид со спутника, висящего над определённой точкой земной поверхности):&lt;/p&gt;
&lt;pre&gt;
proj:
    id: «satellite»
    «lon0»: 13.5
    «lat0»: 50
    «dist»: 1.52
layers:
— id: «countries»
  src: shp/ne_50m_admin_0_countries.shp # шейп-файл
  simplify: false # не упрощать SVG-пути
  attributes: # переносить коды стран в карту
      «ISO_A3»: «iso»
      «NAME»: «name»
  filter: [«ISO_A3», «in not», [«DZA», «SYR», «TUN»]] # исключить Алжир, Сирию и Тунис
  styles: # стили для объектов этого слоя
      fill: «#000»
      stroke: «#ccc»
      stroke-opacity: 0.5
bounds: # границы, примерно соответствующие Европе
   mode: bbox
   data: [-11,36,38,68] # порядок: долгота левая, правая; широта нижняя, верхняя
export: # размер на выходе и число знаков после запятой
    width: 800
    round: 2
&lt;/pre&gt;
&lt;p&gt;Для выбора проекции Георг предлагает использовать &lt;a href="http://kartograph.org/showcase/projections/#satellite"&gt;визуальный редактор для «Картографа»&lt;/a&gt; и &lt;a href="http://www.openstreetmap.org/export?lat=36.4&amp;lon=-75.4&amp;zoom=5&amp;layers=M"&gt;окно экспорта Openstreetmap&lt;/a&gt; для границ отреза.&lt;/p&gt;
&lt;p&gt;Всё это прекрасно, но увы, преобразование — то, за чем мы вообще пришли — работает не для всех проекций. Либо что-то не доделано, либо какие-то проблемы с зависимостями, но большая часть из них просто &lt;a href="https://github.com/kartograph/kartograph.py/issues/37"&gt;выдаёт ошибку&lt;/a&gt; «ImportError: cannot import name MultiPolygon» или какую-нибудь другую.&lt;/p&gt;
&lt;p&gt;Из работающих можно, например, посмотреть на проекцию &lt;a href="http://www.mathworks.com/help/map/wagnerivprojection.html"&gt;Вагнера IV&lt;/a&gt;:&lt;/p&gt;
&lt;div class="txt-picture"&gt;
&lt;a href="/blog/pictures/projections_e.png" class="txt-picture-zoom-link" width="947"&gt;
&lt;div class="txt-picture-zoom-icon"&gt;&lt;div class="txt-picture-zoomable"&gt;&lt;/div&gt;&lt;div class="txt-picture-zoom-in"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;img src="/blog/?go=@scale-image:projections_e.png" width="900" height="594.93136219641" alt="" /&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;SVG-карта в &lt;a href="http://en.wikipedia.org/wiki/General_Perspective_projection"&gt;«спутниковой» проекции&lt;/a&gt; (но размер от выбора проекции зависит мало)  в итоге заняла 190 КБ.&lt;/p&gt;
&lt;h2&gt;Приступаем к картографингу&lt;/h2&gt;
&lt;p&gt;&lt;i&gt;Пока я писал эту заметку, вышла обновлённая, более подробная &lt;a href="http://kartograph.org/docs/kartograph.js/"&gt;версия документации&lt;/a&gt;. А поскольку я изучал работу с библиотекой по исходному коду &lt;a href="http://kartograph.org/showcase/italia/"&gt;примеров с сайта&lt;/a&gt;, оказалось, что некоторые вещи по незнанию я сделал сложнее, чем следует.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Отрисовка карты основывается на слоях. Сначала загружается SVG-карта, а затем на неё накладываются слои регионов в цветовом кодировании или символов одного из типов: круги, текстовые метки или иконки (из графических файлов). При создании слоя ему передается массив необходимых данных и функции, генерирующие местоположение и связанные с объектом данные.&lt;/p&gt;
&lt;p&gt;На моей карте создано два слоя: оранжевые круги аэропортов и текстовые метки с их названиями (а именно: городами, если крупный аэропорт один, или городами с аэропортами в скобках, если их несколько). Линии перелётов я рисую в отдельным проходе по базе маршрутов функцией &lt;a href="http://kartograph.org/docs/kartograph.js/#geo-paths"&gt;addGeoPath&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Про возможность штатной передачи идентификатора через параметр я не знал и приспособил для этого атрибут title, куда записывался код аэропорта по классификации IATA (LED, SVO, HEL...). Но заботливый «Картограф» при генерации страницы оборачивает элемент «circle» в «a», чтобы показывать всплывающую подсказку. Поэтому после окончания формирования карты этот элемент приходится снова убирать.&lt;/p&gt;
&lt;p&gt;Для этих манипуляций я после создания карты откладываю «Картографа» в сторону, прохожу циклом по всем созданным графическим объектам (с которыми можно работать методами «Рафаэля»), убираю ненужные мне вещи и «навешиваю» нужные:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;переношу содержимое «a» на уровень выше, а сам элемент убирается;&lt;/li&gt;
&lt;li&gt;расставляю необходимые CSS-классы объектам;&lt;/li&gt;
&lt;li&gt;добавляю обработчики событий (которые в основном меняют нужным объектам CSS-классы);&lt;/li&gt;
&lt;li&gt;рисую к каждой текстовой метке подложку, чтобы их можно было прочитать, и размещаю их под текстом.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Гистограмма&lt;/h2&gt;
&lt;p&gt;Гистограмма рисуется примитивами «Рафаэля» прямо на карте. Здесь создаются линии сетки и прямоугольники, которым придаются обработчики событий (аналогичные предыдущему пункту, только с дополнительным фильтром по авиакомпании).&lt;/p&gt;
&lt;h2&gt;Совместимость&lt;/h2&gt;
&lt;p&gt;Из тех браузеров, в которых проверял — не работает:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Эксплорер 7 и 8 (на сайте «Картографа» написано, что он «Gracefully degrades to IE7», но ни моя карта, ни любой из демо-примеров с сайта ни в 7-м, ни в 8-м Эксплорере не работают);&lt;/li&gt;
&lt;li&gt;Файерфокс 3.6 (Вин): выкидывает ошибку на этапе отрисовки загруженной карты. В 4.0 (Вин) уже работает.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Работает:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Хром 21 (Мак, Вин);&lt;/li&gt;
&lt;li&gt;Файерфокс 15 (Мак, Вин);&lt;/li&gt;
&lt;li&gt;Опера 12 (Мак, Вин);&lt;/li&gt;
&lt;li&gt;Эксплорер 9: проверял с помощью сервиса &lt;a href="https://browserling.com/"&gt;Browserling&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Сафари 6 (Мак);&lt;/li&gt;
&lt;li&gt;Сафари (айОС 5.1.1): работоспособно, но нельзя сказать, что уж слишком комфортно.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Возможно даже с точки зрения «трогательного» интерфейса в верхней части инфографики лучше вместо столбиков нарисовать круги. Пусть даже их не так удобно сравнивать между собой, но зато попадать пальцем в них гораздо удобнее.&lt;/p&gt;
&lt;h2&gt;Было бы правильно, но я этого не сделал&lt;/h2&gt;
&lt;p&gt;Написать алгоритм, который «разводит» текстовые метки так, чтобы не было перекрытий.&lt;/p&gt;
</description><pubDate>Mon, 17 Sep 2012 20:07:09 +0400</pubDate></item><item><title>Как авиакомпании собирают пассажиров с транзитных рейсов?</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/2012/07/04/1/</guid><link>http://ivanpoukhkal.ru/blog/2012/07/04/1/</link><comments>http://ivanpoukhkal.ru/blog/2012/07/04/1/</comments><description>Современные авиакомпании (не лоукосты) практически всегда перевозят пассажиров из одного города своей маршрутной сети в другой через «домашний» аэропорт (узловой аэропорт, &lt;a href="http://en.wikipedia.org/wiki/Airline_hub"&gt;хаб&lt;/a&gt;). Из Петербурга в Нью-Йорк прямым рейсом не добраться, а с пересадкой в своём хабе вас готов отвезти десяток авиалиний: «Аэрофлот» и «Трансаэро» через Москву, «Люфтганза» через Франкфурт, Мюнхен или Дюссельдорф, «КЛМ» через Амстердам или даже «Эмирейтс» через Дубай.&lt;br /&gt;&lt;br /&gt;При такой схеме в узловой аэропорт отовсюду собираются пассажиры, которые потом опять разлетаются в разных направлениях.&lt;br /&gt;&lt;br /&gt;&lt;div class="txt-picture"&gt;&lt;a href="/blog/pictures/hub-spoke-01.png" class="txt-picture-zoom-link" width="891"&gt;&lt;div class="txt-picture-zoom-icon"&gt;&lt;div class="txt-picture-zoomable"&gt;&lt;/div&gt;&lt;div class="txt-picture-zoom-in"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;img src="?go=@scale-image:hub-spoke-01.png" alt="" width="768" height="630.08754208754" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;На карте Европы это будет выглядеть так (картинка &lt;a href="http://www.gcmap.com/"&gt;Great Circle Mapper&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;img src="http://dl.dropbox.com/u/15410951/hub/maps/map-allofthem.gif" alt="http://dl.dropbox.com/u/15410951/hub/maps/map-allofthem.gif" /&gt;</description><pubDate>Wed, 04 Jul 2012 19:39:21 +0400</pubDate></item><item><title>Где россияне получают визы: статистика 2003—2011</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/all/gde-rossiyane-poluchayut-vizy-statistika-2003-2011/</guid><link>http://ivanpoukhkal.ru/blog/all/gde-rossiyane-poluchayut-vizy-statistika-2003-2011/</link><comments>http://ivanpoukhkal.ru/blog/all/gde-rossiyane-poluchayut-vizy-statistika-2003-2011/</comments><description>&lt;div class="txt-picture"&gt;&lt;a href="/blog/pictures/visa_iss.png" class="txt-picture-zoom-link" width="815"&gt;&lt;div class="txt-picture-zoom-icon"&gt;&lt;div class="txt-picture-zoomable"&gt;&lt;/div&gt;&lt;div class="txt-picture-zoom-in"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;img src="?go=@scale-image:visa_iss.png" alt="" width="768" height="855.63680981595" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;Цифры собраны для визовых стран Европы и Северной Америки. В картинку не попали страны с упрощённым в той или иной степени визовым режимом (например, Турция — 30 дней без визы, Кипр — виза по прибытии или Хорватия — без визы летом по турваучеру или шенгенской визе).&lt;br /&gt;&lt;br /&gt;Графики нарисованы в &lt;a href="http://processing.org"&gt;Процессинге&lt;/a&gt;, легенда добавлена в Файерворксе. &lt;a href="http://nickivanov.ru/design/flags/"&gt;Флажки стран — Никиты Иванова.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ссылки на источники:&lt;br /&gt;&lt;a href="http://register.consilium.europa.eu/servlet/driver?page=Result&amp;amp;lang=EN&amp;amp;ssf=DATE_DOCUMENT+DESC&amp;amp;fc=REGAISEN&amp;amp;srm=25&amp;amp;md=400&amp;amp;typ=Simple&amp;amp;cmsid=638&amp;amp;ff_COTE_DOCUMENT=&amp;amp;ff_TITRE=Exchange+of+statistical+information+on+uniform+visas&amp;amp;ff_FT_TEXT=&amp;amp;ff_SOUS_COTE_MATIERE=&amp;amp;dd_DATE_REUNION="&gt;Шенгенские отчёты Совета Европы за 2003—2009.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ec.europa.eu/home-affairs/policies/borders/borders_visa_en.htm"&gt;Статистика по Шенгену за 2010 и 2011 (ссылки в правой колонке).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.homeoffice.gov.uk/publications/science-research-statistics/research-statistics/immigration-asylum-research/?d-7095067-p=1"&gt;Подсчёты от Хоум Офис.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.emn.ie/files/p_20111201115957Visa%20Policy%20as%20Migration%20Channel_Ireland.pdf"&gt;Монография независимых исследователей по данным Службы натурализации и иммиграции Ирландии.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://travel.state.gov/visa/statistics/nivstats/nivstats_4582.html"&gt;Данные Бюро по консульским вопросам госдепа США.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.data.gc.ca/default.asp?lang=En&amp;amp;n=5175A6F0-1&amp;amp;xsl=datacataloguerecord&amp;amp;metaxsl=datacataloguerecord&amp;amp;formid=CE64EDB2-6A3D-43E5-BB79-714D43827C3C"&gt;Официальная экселевская табличка Министерства гражданства и иммиграции Канады&lt;/a&gt; (перед скачиванием нужно заключить лицензионное соглашение с Её Величеством).</description><pubDate>Fri, 01 Jun 2012 14:27:18 +0400</pubDate></item><item><title>Самые большие иллюминаторы</title><guid isPermaLink="true">http://ivanpoukhkal.ru/blog/2012/05/17/1/</guid><link>http://ivanpoukhkal.ru/blog/2012/05/17/1/</link><comments>http://ivanpoukhkal.ru/blog/2012/05/17/1/</comments><description>«Боинг», показывая новый «Дримлайнер», отдельное внимание уделял иллюминаторам, которые помимо &lt;a href="http://digitalsolus.com/wp-content/uploads/2011/09/WindowTransition_Boeing787-546x308.jpg"&gt;электронного постепенного затемнения&lt;/a&gt; ещё и превосходят по размеру своих «одноклассников». Вот &lt;a href="http://www.flickr.com/photos/theboeingcompany/6955597119/"&gt;наглядное сравнение&lt;/a&gt; с конкурентами из «Эрбаса»:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://farm8.staticflickr.com/7193/6955597119_63d9e805bc_c.jpg" alt="http://farm8.staticflickr.com/7193/6955597119_63d9e805bc_c.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;А на другом выставочном экземпляре 787-го тот же приём сравнил их с самолётами самого «Боинга». Мне это так понравилось, что я добавил на &lt;a href="http://media.photobucket.com/image/787%20windows%20compared/dolphinairlines/N787BX_windowcomparison_TR.jpg"&gt;фото&lt;/a&gt; ещё несколько размеров:&lt;br /&gt;&lt;br /&gt;&lt;img src="/blog/pictures/787windows.jpg" alt="" width="681" height="534" /&gt;&lt;br /&gt;&lt;br /&gt;«Викерс Виконт» мог себе позволить такие большие окна потому, что не поднимался выше 7 км, а потолок высоты в 18 км накладывал жёсткие ограничения на «Конкорд».</description><pubDate>Thu, 17 May 2012 19:31:35 +0400</pubDate></item>
</channel>

</rss>