В этой статье я хочу рассказать, как взять с сайта данные о рейтингах ресторанов и визуализировать их на карте Лондона, использую Google Maps и Google Fusion. Я возьму район в Лондоне Wandsworth, где живу и построю вот такую карту ресторанов, отмечая цветом их рейтинг. Красные – это рестораны с рейтингами 0-3, желтые с рейтингом 4 и зеленые 5.
Потребуется:
1. Excel
2. Аккаунт Google для Google Fusions
3. Данные. Например, полученные в виде xml-таблицы данные о рейтинге ресторанов в Великобритании.
Что будем делать: визуализируем на карте Google maps расположение ресторанов и цветов отметим рейтинг каждого. При нажатии на положение каждого ресторана сделаем так, чтобы можно было получить необходимую нам информацию.
О данных, используемых в этом примере:
Данные могут быть представлены в формате xls (Excel формат). Если данные в другом формате, то их нужно перевести в xls. В этом примере я возьму формат xml, покажу как его можно легко перевести в xls. Далее в данных должен быть столбик с адресами. Google Fusion сам проанализирует какой этот столбец и предложет визуализировать его на карте.
Данные по каждому району Великобритании можно получить вот на этой странице.
http://ratings.food.gov.uk/open-data/en-GB
Нажимаем на English language напротив Wandsworth
Должна открыться xml-таблица, начало которой выглядит вот так:
Вам нужно сохранить адрес этой таблицы из адресной строки:
(http://ratings.food.gov.uk/OpenDataFiles/FHRS532en-GB.xml)
Этот адрес нам потребуется, чтобы преобразовать xml в таблицу Excel.
Открываем Excel. В меню Data выбираем Import Data
Дальше появляется окно выбора источника данных. В месте имени файла прописываем адрес, скопированный из адресной строки (http://ratings.food.gov.uk/OpenDataFiles/FHRS532en-GB.xml)
Дальше, все, что появляется нажимаем OK. В конце должна загрузиться такого вида таблица:
Теперь можно ее сохранить в формате .xls
Перед тем как двинуться дальше, стоит проверить, все ли в таблице данные в нужном нам виде и формате. Я буду наносить рестораны на карту, при этом в завесимости от рейтинга ресторана буду выбирать цвет, которым его наносить. То есть по сути самые критичные данные для меня – это адреса и значение рейтинга. Google Fusion достаточно хорошо умеет анализировать поле адреса. Что касается значение рейтинга, оно обизательно долго быть в числовом формате. В полученной же таблице оно в виде текста. Поэтому преобразуем текстовые значения в числовые:
Обратите внимание, что значения выравнены по левому краю. Это означает, что они текстовые. Числовые выравниваются по правому. Но здесь есть еще одна проблема – это значение Exempt. То есть данное значение отсутствует. Я решила не наносить на карту данные рестораны. Поэтому отсортировала по этому полю и удалила эти строки. У меня остались только числовые значения, по прежнему в текстовом виде. Но это можно поправить в Google Fusion, поскольку именно там важно, чтобы эти значения были числовые.
Открываем Google Drive и создаем Fusion Table. Если этот пункт отсутствует, то внизу Connect more apps, где можно добавить Fusion.
Дальше выбираем нашу excel таблицу в Choose File и нажимаем Next.
Дальше показывается таблица, можно проверить, все ли нормально и нажать Next.
В последнем окне можно указать информацию по своему усмотрению и нажать Finish.
Дожна появиться таблица с рейтингами:
Если теперь нажать Map of Latitude вверху таблицы:
То появится следующая карта с нанесенными ресторанами. Правда все они будут одного цвета:
Если теперь нажать на какой-нибудь точке-ресторане, то появятся некоторые данные из таблицы:
Этот список можно изменить. Например, я хочу, чтобы показывалось имя ресторана, тип ресторана, адрес и рейтинг гигиены. Сам рейтинг ресторана я не буду указывать в информации, так как его я покажу цветом позднее.
Tools-> Change info window layout…
Появляется следующее окно, где галочками выбираются те пункты, которые хотим оставить.
И нажимаем Save
Теперь при нажатии будут только необходимые нам пункты.
Дальше сделаем так, чтобы точки на карте были разного цвета в зависимости от рейтинга ресторана, который варьируется от 0 до 5.
Для этого входим в Tools -> Change Map Styles
Появляется следующее окно:
Здесь мы выбираем пункт Buckets, где можно настроить диапазон рейтинга. Вот здесь важно, чтобы тот параметр, по которому выбираем buckets был в виде цифр, иначе этого столбца просто не будет показано. Можно было в Excel поменять тип из Text в Numbers или сделать это прямо в Fusion. В моем случае он сконвертировал значения автоматически.
Выбираем следующие значения:
Диапазон рейтинга от 0 до 5, но в границы здесь значения не включаются, поэтому выбираем такие значения. В итоге получим рейтинги 0,1,2,3 – красные, 4 – желтые, 5 – зеленые.