Недавно столкнулся с интересной технической задачей при работе с геоаналитикой GeoQlik. На моем проекте было необходимо интегрировать огромное количество картографических данных, которые при этом постоянно обновлялись.

Решать задачу с помощью постоянной перезаливки данных на сервер GeoQlik, естественно, нерационально. А если серверов несколько, то сложность задачи растет экспоненциально. Сегодня расскажу, как можно быстро справиться с такой задачей.  А именно – как поднять небольшой картографический сервер на базе PostgreSQL и PostGIS для его последующего использования сервером GeoQlik.

PostgreSQL: установка

 

  1. Скачиваем дистрибутив PostgreSQL с официального сайта.
  2. Запускаем файл установщик. Первым делом устанавливается Microsoft Visual C++ 2005 Redistributable – рабочие модули библиотек Visual C++, необходимые для запуска созданных при помощи этого языка программирования приложений.Установка MS Visual C++
  3. Выбираем куда устанавливать программу и расположение данных:Установка MS Visual C++
  4. Указываем администраторский пароль для базы данных:Установка MS Visual C++
  5. Выбираем порт подключения:Установка MS Visual C++
  6. Выбираем локаль, которая будет использоваться новым кластером базы данныхУстановка MS Visual C++
  7. Мастер установки PostgreSQL сообщает о прогрессе установки.Установка PostgreSQL
  8. Жмем «Завершить». На этом установка PostgreSQL на ваш компьютер завершена.
  9. Если вы хотите установить PostGIS сразу после завершения установки PostgreSQL, поставьте галочку на запуске Stack Builder.Установка PostgreSQL

PostGIS: установка 

Установку PostGIS можно осуществить полуавтоматически через Stack Builder и непосредственно скачав пакет PostGIS. Способы установки отличаются лишь методом получения установщика PostGIS. В первом случае Stack Builder запустится сам: «Пуск/PostgreSQL 8.4/Приложение Stack Builder». Рассмотрим подробнее именно этот вариант:

  1. Выберите установленный сервер:Установка PostGIS
  2. Из пункта Spatial Extensions выберите PostGIS 1.4:Установка PostGIS

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

Если вы решили скачать установщик PostGIS самостоятельно, то последнюю версию PostGIS можно скачать на сайте.

Ход установки:

  1. Запускаем файл postgis-pg84-setup-1.4.0-2.exe или более свежий и принимаем лицензионное соглашение:Установка PostGIS
  2. Снимаем отметку с пункта «Create spatial database».

«Create spatial database» позволяет создать пространственную базу данных автоматически. Далее мы будем рассматривать процесс создания такой базы данных вручную, не прибегая к услугам установщика PostGIS, поэтому здесь мы отметку с этого пункта снимем.Установка PostGIS

  1. Выбираем путь для установки.Установка PostGIS
  2. Заполняем представленные поля – порт, имя пользователя и пароль те же самые, что и были указаны выше:Установка PostGIS

Жмем «Next» для завершения установки. На этом установка PostGIS завершена!

PostGIS: настройка базы данных

  1. В меню Пуск находим PostgreSQL 3 и запускаем pgAdmin III.
  2. В браузере объектов дважды щелкаем на «PostgreSQL Database Server 8.3». Будет предложено ввести пароль суперпользователя для подключения к выбранному серверу, что мы и делаем.Настройка базы данных PostGIS
  3. В браузере объектов выбираем «Базы» и открываем «Правка/Новый объект/Новая база данных…». Устанавливаем имя новой базы данных – «postgis», владелец – «postgres».
  4. Откройте окно запросов SQL (щелкнув на кнопку с изображением карандаша):Настройка базы данных PostGIS
  5. Выберите «Файл/Открыть…» и откройте файл: C:\Program Files\PostgreSQL\[ваша версия]\share\contrib\postgis.sql
  6. Нажмите кнопку «Выполнить запрос» (кнопка с изображением зеленого треугольника). Файл lwpostgis.sql будет исполнен — функции и объекты PostGIS будут загружены в базу данных.
  7. Выберите «Файл/Открыть…» и откройте файл: C:\Program Files\PostgreSQL\[ваша версия]\share\contrib\spatial_ref_sys.sql
  8. Нажмите кнопку «Выполнить запрос» (кнопка с изображением зеленого треугольника). Файл spatial_ref_sys.sql будет исполнен и загрузит параметры систем координат в формате EPSG в таблицу базы данных.

Процесс создания пространственной базы данных без использования шаблона окончен. Таким образом, на данный момент времени мы имеем пространственную базу данных «postgis», готовую к наполнению данными.

PostGIS: наполнение базы данных

Чтобы наполнить базу данных нужно использовать утилиту PostGIS 2.0 Shapefile and DBF Loader Exporter (она установилась вместе с расширением Postgis, которое мы ставили через Stack Builder)

В нашем случае необходимо было экспортировать данные с сервера gis-lab.info, и залить их на наш сервер.

Экспорт

  1. Запускаем утилиту PostGIS0 Shapefile and DBF Loader Exporter (ее можно найти в пуске) и выбираем вкладку ExportНаполнение базы данных PostGIS
  2. Нажимаем кнопку ‘View connection details…’ и вводим реквизиты сервера
    gis-lab.infoНаполнение базы данных PostGIS
  3. Нажимаем “ОК”, и видим, что подключение было успешным.Наполнение базы данных PostGIS
  4. Далее нажимаем кнопку “Add table” и выбираем в всплывающем окне перечень таблиц для экспорта (в нашем случае это ru_adm3_federal и ru_adm4_region).Наполнение базы данных PostGIS
  5. Нажимаем “ОК”, теперь они отображаются в основном окне утилиты, далее нажимаем на кнопку “Export”.Наполнение базы данных PostGIS
  6. Выбираем путь, следим, чтобы выгрузка производилась в формате “.shp” (шейп-файлы):Наполнение базы данных PostGIS
  7. Появляется статус-бар, ждем окончания.Наполнение базы данных PostGIS
  8. Все выгрузилось успешно!Наполнение базы данных PostGIS

Импорт

Далее необходимо выполнить схожую процедуру, только во вкладке Import

  1. Выбираем вкладку Import
  2. Жмем View connection details и вводим реквизиты нашего локального сервераНаполнение базы данных PostGISНаполнение базы данных PostGIS
  3. Нажимаем ок, видим, что подключение прошло успешноНаполнение базы данных PostGIS
  4. Далее нажимаем на кнопку импорт и выбираем папку, в которой находятся наши шейп-файлы.
  5. В поле SRID вводим систему координат (в моем случае это стандартная проекция 4326) и нажимаем кнопку Import.Наполнение базы данных PostGIS
  6. После того, как процедура успешно завершится, об этом будет написано в логе

GeoQlik: проверка настроек

Теперь нужно проверить результат.

  1. Заходим в консоль GeoQlik и устанавливаем соединение с нашим локальным сервером.GeoQlik: проверка настроек
  2. Для этого заходим по адресу localhost/geoqlik/designer/index.html, далее как показано на рисунках: Вводим реквизиты сервера и нажимаем «Next»:GeoQlik: проверка настроек
  3. В появившемся окне видим наши экспортированные файлы. Нажимаем Validate и далее остается только проверить правильно ли мы указали проекцию (SRID):GeoQlik: проверка настроек
  4. Для этого заходим на вкладку Symbрlogy, ставим галочки напротив закаченных слоев, и видим их отображение на карте справа. В нашем случае все прошло успешно!GeoQlik: проверка настроек

Вот и все! Задача выполнена, можно приступать к настройке отчетов в GeoQlik.

В завершение хочу дать вам один полезный ресурс, на котором можно найти административные деления всех стран. 

Успехов Вам в геоаналитике!