Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Визуализация данных на географических картах - 2016

672 views

Published on

Обновленная версия тренинга по визуализации данных на географических картах. Добавлен пример создания картограмм на основе собственных полигонов с границами географических областей

Published in: Education
  • Be the first to comment

  • Be the first to like this

Визуализация данных на географических картах - 2016

  1. 1. Визуализация данных на географических картах Следующий уровень v0.5 Заходякин Г.В. postlogist@gmail.com Школа логистики НИУ ВШЭ
  2. 2. План занятия • Визуализация линейных объектов • Создание картограмм с произвольными областями • Визуализация сети распределения • Использование изображений в качестве подложки для карты • Интерактивность • Пользовательская база данных для геокодирования 2
  3. 3. Файлы данных • Файлы данных для выполнения тренинга можно загрузить по ссылке: https://yadi.sk/d/aDo7AnGUdVXvk 3
  4. 4. КАРТА ЛИНИЙ МОСКОВСКОГО МЕТРОПОЛИТЕНА Визуализация линейных объектов 4
  5. 5. Файл данных • Изучите содержимое файла metro_stations.xlsx в Excel • Источник данных – Википедия: https://ru.wikipedia.org/wiki/Список_станций_Московского_метрополитена – На листе Станции содержится список станций московского метро с указанием координат и характеристик. – На листе Линии содержится список линий метрополитена и их цветовые обозначения на схеме метро • Создайте новую рабочую книгу: metro_stations.twbx • Закройте файл в Excel и создайте подключение к данным на листе Станции в Tableau (можно просто перетащить файл в окно Tableau) • При импорте нужно указать географическую роль – Latitude и Longitude для полей Широта и Долгота 5
  6. 6. Визуализация линейных объектов • Вспомним, что все линейные объекты на картах изображаются с помощью ломаных линий (возможно, с очень большим числом сегментов, чтобы обеспечить гладкость) • Для построения ломаной линии нужны 4 поля: координаты каждого узла, порядковый номер узла, код линии. Порядковый номер узла должен быть числового типа, либо датой/временем. Код линии может быть любого дискретного типа 6
  7. 7. Данные о маршрутах линий метрополитена • На рисунке показан фрагмент таблицы с данными о станциях (часть строк и столбцов скрыта) • В таблице для каждой станции указаны координаты, номер и название линии, порядковый номер на линии • Обратите внимание, что начальный и конечный узел ломаной линии не соединяются автоматически, поэтому запись о станции Парк культуры продублирована, чтобы кольцевая линия получилась замкнутой 7
  8. 8. Визуализация линий метро на карте • Числовые поля Линия и Порядковый номер на линии по умолчанию добавлены в список фактов. Сделайте их измерениями, перетащив в список Dimensions • Добавьте координаты станций в область строк и столбцов • Добавьте название линии в область цвета (Color) • Поменяйте тип графического элемента на панели Marks на Line и добавьте измерение Порядковый номер на линии в область Path • Щелкните по области Color и включите отображение маркеров, чтобы показать расположение станций, там же установите полупрозрачность (Transparency) • В контекстном меню цветовой легенды выберите Edit Colors… и назначьте линиям привычные цвета (см. лист Линии в Excel) • Задайте имя листа в книге Tableau - Линии 8
  9. 9. Добавление вычисляемых полей • Интересно помимо расположения станций отразить на карте их характеристики – например, возраст и глубину залегания. Чтобы рассчитать возраст, можно воспользоваться функцией DateDiff() • Чтобы создать вычисляемые поля, выберите команду Create Calculated Field… в контекстном меню области данных • Формулы для вычисления полей можно печатать с клавиатуры, или выбирать их элементы, щелкая по спискам полей и функций • Для удобства поиска нужных функций, используйте категории функций (Date) • Краткая подсказка по функции выводится здесь же • Глубина в наборе данных указана как отрицательное число. Для визуализации удобнее использовать противоположное ей число. Создайте поле Глубина2, вычисляемое по формуле: - Глубина 9
  10. 10. Визуализация глубины залегания станций • Продублируйте созданный ранее лист Линии. Назовите копию Глубина залегания станций • Перетащите поле Глубина2 в область размера (Size) • Зажав правую кнопку мыши, перетащите поле Название станции в область метки (Label). Выберите в появившемся диалоге (Drop Field) вариант ATTR(Название станции). – Измерение Название станции преобразуется в атрибут. В отличие от измерений, атрибуты не используются для группировки данных. Если не делать такое преобразование, то вся сеть разделится на отдельные станции • Щелкнув по области метки (Label), задайте, чтобы метки выводились только для подсвеченных (Highlighted) объектов. Запретите перекрытие меток с другими объектами (Allow labels to overlap other marks) • Результат показан на рисунке. Проверьте, чтобы в области цветовой легенды был включен режим подсветки для всех объектов того же цвета: по клику на станции должна выбираться вся линия 10
  11. 11. Визуализация возраста станций • Продублируйте предыдущий лист и назовите копию: Возраст станций • В области Size замените поле Глубина2 на Возраст 11
  12. 12. Визуализация развития метрополитена • Чтобы можно было видеть, как росла сеть метрополитена, добавим фильтр по году открытия станции • Перетащите поле Дата открытия в область фильтра (Filters). Выберите Year в появившемся окне Filter Field. В окне настройки фильтра пока можно ничего выбирать, нажмите OK • В контекстном меню поля Дата открытия в области фильтров переключите тип дат на непрерывные годы (Year в нижней части меню) • Появится окно настройки фильтра. Выберите здесь фильтрацию по дате окончания (Ending date). Пока не меняйте порог фильтра 12
  13. 13. Добавление быстрого фильтра • В контекстном меню поля Дата открытия в области фильтров выберите Show Quick Filter • Попробуйте менять порог фильтрации, вы увидите, как росла со временем сеть московского метро • Слайдер быстрого фильтра можно двигать с помощью стрелок на клавиатуре (нажатие клавиши Shift позволяет изменять порог более плавно) 13
  14. 14. Настройка карты-подложки • В предыдущем тренинге мы уже добавляли новые источники карт для подложки. Теперь мы рассмотрим, что можно сделать с помощью настройки штатных карт Tableau • В меню Map выберите команду Map Layers… • Область данных заменится на окно форматирования карты. Здесь можно: – выбрать стиль карты – темный, светлый, стандартный; – осветлить подложку (washout), чтобы пестрые цвета не отвлекали пользователя от ваших данных – включить или отключить некоторые элементы карты-подложки: границы, названия, дорожную сеть… – некоторые типы карт (в основном, на территорию США) позволяют накладывать слои со статистическими данными по регионам • С помощью форматирования, постарайтесь получить вид карты-подложки как на рисунке 14
  15. 15. ДЕМОГРАФИЯ НОВОЙ МОСКВЫ Создание картограмм с произвольными областями 15
  16. 16. Расширение встроенных областей • Для создания картограмм необходимы данные о границах географических областей, которые в дальнейшем будут использоваться для отображения различных показателей. В Tableau на данный момент содержатся границы стран и крупных регионов. Детализация до более мелких территорий – областей, почтовых индексов доступна лишь для некоторых стран. Кроме того, данные о границах государств могут не соответствовать современным реалиям • Если необходимо визуализировать показатели мелких территорий, или интересующие объекты в принципе не совпадают с границами административного деления, то требуется загружать в Tableau собственные данные, отражающие границы объектов • Про использование полигональных карт для визуализации написано здесь 16
  17. 17. Подготовка данных о границах областей • Для выполнения заданий этого тренинга данные о границах областей в нужном формате уже подготовлены, ничего специально делать не нужно • Данная информация понадобится вам, если вы хотите сделать полигоны для карты самостоятельно: – Для самостоятельной подготовки данных потребуется обработка с помощью геоинформационных систем. Исходные данные, как правило, находятся в формате ESRI shapefile. Хороший источник открытых геоданных – сообщество GISlab. Например, исходные данные по АТД Москвы взяты отсюда. Ознакомьтесь со списком других проектов GISlab – Tableau не может читать напрямую шейп-файлы, поэтому для загрузки их потребуется преобразовать в таблицы координат для вершин полигонов. Как правило, требуется также упрощение границ, чтобы уменьшить объем данных и увеличить скорость визуализации. На данный момент наиболее удобным способом преобразования геоданных является использование онлайн- конвертера Tableau Shapefile To Polygon Converter, разработанного Craig Bloodworth и доступного в галерее Alteryx – О том, как самостоятельно преобразовать геоданные в табличный формат, можно почитать в этой статье базы знаний Tableau (здесь используется открытая ГИС – QGis, которую можно установить, как описано здесь) 17
  18. 18. Визуализация: полигоны • Полигоны в Tableau рисуются так же, как и линейные объекты – по точкам, и отличаются от них лишь тем, что их граница замкнута и есть заливка • Для построения полигона линии нужны 4 поля: координаты каждого узла, порядковый номер узла, код фигуры. Порядковый номер узла должен быть числового типа, либо датой/временем. Код фигуры может быть любого дискретного типа 18
  19. 19. Подключение к данным • Для выполнения задания вам потребуются два файла: Moscow.tde (границы районов) и Moscow_Demography.xlsx (данные о демографии), доступные на Яндекс Диске • Создайте новую рабочую книгу: moscow.twbx • Создайте подключение к файлу Moscow.tde. Обратите внимание, что для полей Latitude и Longitude уже установлены соответствующие географические роли • Перейдите к листу визуализации и перетащите поля: PointID, PolygonID, SubPolygonID в список измерений • Измените имя листа на Новая Москва 19
  20. 20. Визуализация границ АО • Переключите тип визуализации на Polygon (в панели Marks). Перетащите поле с кодами точек в область Path, а коды полигона и суб-полигона – в детали • После этого добавьте широту и долготу в область строк и столбцов, а название административного округа – в цвет 20
  21. 21. Подключение к данным о демографии • Для создания картограммы, продублируйте лист и назовите копию «Демография Москвы». В дальнейшем работайте с этим листом • Добавьте еще одно подключение – к файлу Moscow_Demography.xlsx • В результате в списке источников данных должны отображаться два подключения 21
  22. 22. Поля для объединения источников • Для наложения на карту данных о демографии, необходимо объединить (blend) данные из двух источников по общим ключевым полям • Выполните команду: Data/Edit Relationships… • Выберите в качестве основного источника набор данных с границами (Moscow Extract) • Установите между наборами данных связь по ключевым полям – Name (в файле с границами) и District (в файле с данными о демографии) 22
  23. 23. Создание картограммы численности населения • Поскольку мы используем объединение источников (data blending), необходимо чтобы ключевое поле было одним из измерений, используемых в визуализации. Добавьте поле NAME в детали. Поле NAME_AO, которое было ранее добавлено в область цвета, необходимо убрать • В списке подключений выберите подключение к файлу с демографическими данными • Перетащите поле TotalPopulation в область цвета. Результат показан на следующем слайде 23
  24. 24. Картограмма численности населения 24
  25. 25. Картограмма доли населения моложе 18 лет • Создайте вычисляемое поле для расчета доли населения моложе 18 лет и визуализируйте эту долю. В каких районах больше всего молодежи? • Используя панель Format и редактор текста всплывающих подсказок, добейтесь вида подсказки, показанного на рисунке 25
  26. 26. ВИЗУАЛИЗАЦИЯ СЕТИ РАСПРЕДЕЛЕНИЯ Визуализация линейных объектов 26
  27. 27. Файл данных • Создайте новую книгу Tableau – distribution network.twbx • Создайте подключение к файлу distribution_network.csv – Укажите для поля Name тип данных: String – Выберите режим подключения: Extract • Основные поля для визуализации сети: координаты склада/магазина (данные уже геокодированы), Маршрут (каждое сочетание склад – магазин имеет свой уникальный номер маршрута), Порядковый номер (1 – склад, 2 – магазин). Также с маршрутом связаны несколько характеристик – поток (FlowTrucks, FlowPallets), коэффициент загрузки машин (TruckUtilization) • Size – это характеристика склада (размер арендуемой площади), он продублирован для всех маршрутов, которые начинаются на данном складе • MaxDays – это максимально допустимое число дней на поставку для данного магазина 27
  28. 28. Названия объектов • Сейчас для складов и магазинов названия содержатся в разных столбцах • Поскольку подписи для объектов на карте должны формироваться на основе одного поля, необходимо создать вычисляемое поле Название, которое будет для всех пунктов отправления (порядковый номер = 1) содержать название склада, а для всех пунктов назначения (порядковый номер = 2) – название магазина 28
  29. 29. Визуализация размещения объектов • Переименуйте рабочий лист в Сеть распределения • Сделайте поля Маршрут и Порядковый номер измерениями • Добавьте координаты в область строк и столбцов (Rows/Columns) • Добавьте Название в область метки (Label) • Переключите тип графического элемента (Marks) на Shape и добавьте Порядковый номер в область фигуры (Shape) и цвета (Color) • Выберите для складов (порядковый номер = 1) красные треугольники с заливкой, а для магазинов – зеленые круги с заливкой (в контекстном меню легенды для фигур и цветов) • Задайте для поля Size агрегирующую функцию по умолчанию – AVG (среднее) и перетащите это поле в область размера (Size) 29
  30. 30. Визуализация товарных потоков • Продублируйте (Ctrl-перетаскивание) поле Latitude в области строк (Rows) • В области Marks откройте карточку для первого поля Latitude (соответствует верхней диаграмме) • Удалите все поля из области Marks • Переключите тип графического элемента на Line • Добавьте поле Маршрут в детали (Detail), а поле Порядковый номер – в Path. • Добавьте поле FlowTrucks в область размера (Size). • Выберите темно-синий цвет для линии (Color) • Совместите диаграммы, выбрав в контекстном меню поля Latitude режим Dual Axis 30
  31. 31. ДОСТОПРИМЕЧАТЕЛЬНОСТИ НА СХЕМЕ ТОКИЙСКОГО МЕТРО Использование изображения как подложки 31
  32. 32. Файл данных • Создайте новую рабочую книгу japan_subway.twbx • Создайте подключение к источнику данных japan_subway.xlsx • Файл данных содержит список достопримечательностей Токио • Ваша задача – визуализировать эти достопримечательности на схеме Токийского метро 32
  33. 33. Изображение-подложка • В качестве подложки для визуализации можно использовать не только географические карты, но и любой графический файл. С этим файлом можно связать условную систему координат, и затем использовать эти координаты в наборе данных. • Выполните команду Map>Background Images и выберите набор данных japan_subway. • В списке Background Images нажмите Add Image… • Укажите путь к файлу japan_subway.jpg • Свяжите X Field с полем x в наборе данных и установите правую границу в 100 • Свяжите Y Field с полем y в наборе данных и установите верхнюю границу в 60 • На вкладке Options выберите Always show entire image • Установите размытие изображения 33
  34. 34. Визуализация набора данных • Добавьте координаты x, y в область столбцов и строк, поле Name - в область метки • Добавьте поля Comment и URL в область подсказки (Tooltip) • Отредактируйте параметры подсказки и графического элемента, чтобы получить результат как на рисунке • Отключите вывод подписей для координатных осей (Show header в контекстном меню оси) 34
  35. 35. Как получить координаты • Предположим, мы хотим включить в набор данных координаты станции Meguro. Когда уже есть привязанное изображение, координаты точки можно получить так: – установите курсор мыши в нужную точку и в контекстном меню выполните команду Annotate>Point – в полученной аннотации будут указаны нужные координаты 35
  36. 36. Интерактивность • С рабочим листом можно связывать действия, которые срабатывают, когда пользователь указывает или выделяет графический элемент на листе • Выполните команду меню Worksheet>Actions и добавьте новое действие Add Action >URL • Укажите имя для действия (Name): Найти <Name> Area в Google Maps. Примечание: название поля в угловых скобках надо добавлять через меню Insert • В области Run Action on нужно выбрать: Menu • В поле URL укажите: https://maps.google.com/maps?q=<Name>,+Tokyo,+Japan&hl=en Примечание: название поля в угловых скобках надо добавлять через меню Insert • Если вы хотите использовать поля, содержащие строки на русском языке, то, скорее всего, потребуется установить флажок URL Encode • Теперь при наведении мыши на станцию в подсказке должна быть ссылка на Google maps 36
  37. 37. ПОЛЬЗОВАТЕЛЬСКАЯ БАЗА ДЛЯ ГЕОКОДИРОВАНИЯ Расширение возможностей Tableau 37
  38. 38. Импорт данных для геокодирования • Чтобы обеспечить возможность геокодирования названий населенных пунктов на русском языке, мы дополним базу данных геокодирования Tableau • Распакуйте содержимое архива russian_geocoding.zip на рабочий стол (должна появиться папка russian geocoding, содержащая 3 файла) • Выполните команду меню Map/Geocoding/Import custom geocoding… • Укажите в диалоге Import Custom Geocoding путь к папке russian geocoding и нажмите Import • В вашем личном каталоге (Мои документы>My Tableau Repository) создастся копия базы данных геокодирования, в которую будут добавлены данные о русских названиях • Удалить данные для геокодирования можно с помощью команды меню: Map/Geocoding/Remove custom geocoding • Будет создана новая иерархия географических ролей: Субъект [федерации] > Район > Название • Описание требований к файлам для импорта содержится в справке Tableau. Попасть в нужный раздел можно с помощью ссылки “Learn about Custom Geocoding” в окне Import Custom Geocoding • Данные для геокодирования можно найти на сайтах: geonames.org, geonames.nga.mil, gis-lab.info • Данные в базе, которую мы импортировали, созданы на основе набора данных, подготовленного сообществом gis-lab.info: http://gis-lab.info/qa/vmap0-settl-rus.html 38
  39. 39. Файл данных • Создайте новую рабочую книгу: top_cities.twbx • Создайте подключение к источнику данных top_cities.csv – это данные о городах России с населением свыше 100 жителей – источник: http://ru.wikipedia.org/wiki/Список_городов_России_с_населением_более_100_тысяч_жителей • Если программа не распознала, что в первой строке файла содержатся заголовки, то выберите в настройках таблицы этот режим • Выберите для полей Город и Субъект географические роли: Название и Субъект 39
  40. 40. Визуализация развития городов • Добавьте поля Город и Субъект в область деталей (Detail) • Сделайте поле Год измерением и добавьте его в область страниц (Pages) • Добавьте поле Население в область размера (Size) • Запустите анимацию, нажав на кнопку воспроизведения в области Pages • В большинстве случаев, импортированная база для геокодирования содержала координаты нужного города, однако некоторые города там отсутствуют, даже крупные 40

×