Используем Fusion Tables для отображения данных на картах Google — продолжение

В этой заметке я продолжу рассказывать Вам о совместном использовании Fusion Tables и Google Maps, начало смотрите заметку.

В Fusion Tables можно добавлять информацию о геометрии объектов и выводить ее на карту.

Для примера я подготовил kml-файл с районами Нижнего Новгорода.

Импортируем его в Fusion Tables.

При импорте возникает одна проблема, почему-то все названия по русски отображаются в виде знаков вопросов. Вы можете дать названия в kml-файле латинскими буквами или переименовать колонки после импорта геометрии.

После редактирования мы получим следующую таблицу

В колонке geometry храниться описание геометрии для каждого полигона.

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

Для этого выбираем в меню Edit пункт Add column.

Перед колонкой geometry добавим колонку Chislennost тип Number.

Добавляем наши данные (источник данных: Районы Нижнего Новгорода, численность населения на 1.01.2008).

В результате получаем следующую таблицу

Отобразим наши данные на карте Google, для этого выберем в меню Vizualize пункт Map.

Настроим шаблон для отображения информации в балуне, перейдя по ссылке Configure info window.

Выбираем тип шаблона Custom и вводим следующий код:

<strong>Район:</strong> {name}<br />
<strong>Число жителей:</strong> {Chislennost} тыс. человек

Щелкнув мышью по одному из полигонов мы увидим следушее

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

Для этого нужно изменить стиль отображения, перейдя по ссылке Configure styles.

В открывшимся окне нужно выбрать Polygons — Fill color и перейти по ссылке Gradient.

Увидим окно следующего содержания

Здесь отмечаем пункт Show a gradient, выбираем колонку по данным из которой будет строиться градиентная заливка, вводим начальный и конечный параметр, также можно выбрать цвет заливки.

Нажимаем на кнопку Save и наблюдаем обновленную карту

Готовую карту можно встроить на свой сайт используя iframe или API Google Maps v3, предварительно изменив параметры ее видимости.

Посмотреть пример в действии

В предидущей заметке я показывал, как можно использовать SQL запросы для выборки меток из разных категорий таблицы.

Существует возможность использовать пространственные SQL запросы к таблицам Fusion Tables.

Какие это могут быть запросы?

Это могут быть следующие типы запросов:

  • выбрать все объекты, которые находятся (или нет) в пределах определенного расстояния от заданной точки;
  • выбрать все объекты, которые принадлежат (или не принадлежат) прямоугольнику, заданному двумя точками;
  • найти заданное количество объектов от заданной точки.

Рассмотрим пример реализации каждого из запросов с использованием таблицы Medecina.

1. Пример — выводим все объекты из таблицы Medecina (id=308599), которые попадают в окружность заданного радиуса от центра карты.

Посмотреть пример в действии и его код

2. Пример — выводим все объекты из таблицы Medecina, которые попадают в прямоугольную область заданную координатами нижнего левого и верхнего правого угла.

Посмотреть пример в действии и его код

3. Пример — выводим ближайшие 25 объектов из таблицы Medecina.

Посмотреть пример в действии и его код

Дополнительную информацию по работе с Fusion Tables можно прочитать по данным адресам:

Google Fusion Tables API

в твитере @GoogleFT

Fusion Table Layers

Google Fusion Tables Help

New Features in Google Geo — презнентация Mano Marks на GDD 2010 в Москве

Fusion Tables Users Group

Five Great Fusion Tables + Maps Examples

  • Гость: Замечательно! Спасибо вам. Не подскажете как реализовать следующую функцию: в fusion tables есть следующая таблица: № ФИО Адрес Адрес2 как вычислить расстояние между колонками Адрес и Адрес2? (В любом случае спасибо: благодаря вам я уже научился строить визуализацию этой таблицы на карте (не пришлось вручную вводить около 300 точек)
  • Гость: Подскажите, пожалуйста, "чайнику"... Вот в базе содержится информация: "Название области", "Население, чел". Необходимо еще подгружать какие-то параметры областей? Потому что при попытке отобразить области (с заливкой) показываются только точки, вместо закрашенного участка карты