Недавно столкнулся с интересной технической задачей при работе с геоаналитикой GeoQlik. На моем проекте было необходимо интегрировать огромное количество картографических данных, которые при этом постоянно обновлялись.
Решать задачу с помощью постоянной перезаливки данных на сервер GeoQlik, естественно, нерационально. А если серверов несколько, то сложность задачи растет экспоненциально. Сегодня расскажу, как можно быстро справиться с такой задачей. А именно – как поднять небольшой картографический сервер на базе PostgreSQL и PostGIS для его последующего использования сервером GeoQlik.
PostgreSQL: установка
- Скачиваем дистрибутив PostgreSQL с официального сайта.
- Запускаем файл установщик. Первым делом устанавливается Microsoft Visual C++ 2005 Redistributable – рабочие модули библиотек Visual C++, необходимые для запуска созданных при помощи этого языка программирования приложений.
- Выбираем куда устанавливать программу и расположение данных:
- Указываем администраторский пароль для базы данных:
- Выбираем порт подключения:
- Выбираем локаль, которая будет использоваться новым кластером базы данных
- Мастер установки PostgreSQL сообщает о прогрессе установки.
- Жмем «Завершить». На этом установка PostgreSQL на ваш компьютер завершена.
- Если вы хотите установить PostGIS сразу после завершения установки PostgreSQL, поставьте галочку на запуске Stack Builder.
PostGIS: установка
Установку PostGIS можно осуществить полуавтоматически через Stack Builder и непосредственно скачав пакет PostGIS. Способы установки отличаются лишь методом получения установщика PostGIS. В первом случае Stack Builder запустится сам: «Пуск/PostgreSQL 8.4/Приложение Stack Builder». Рассмотрим подробнее именно этот вариант:
Далее вам осталось только выбрать зеркало загрузки во временную папку, в которую будет загружен дистрибутив.
Если вы решили скачать установщик PostGIS самостоятельно, то последнюю версию PostGIS можно скачать на сайте.
Ход установки:
- Запускаем файл postgis-pg84-setup-1.4.0-2.exe или более свежий и принимаем лицензионное соглашение:
- Снимаем отметку с пункта «Create spatial database».
«Create spatial database» позволяет создать пространственную базу данных автоматически. Далее мы будем рассматривать процесс создания такой базы данных вручную, не прибегая к услугам установщика PostGIS, поэтому здесь мы отметку с этого пункта снимем.
- Выбираем путь для установки.
- Заполняем представленные поля – порт, имя пользователя и пароль те же самые, что и были указаны выше:
Жмем «Next» для завершения установки. На этом установка PostGIS завершена!
PostGIS: настройка базы данных
- В меню Пуск находим PostgreSQL 3 и запускаем pgAdmin III.
- В браузере объектов дважды щелкаем на «PostgreSQL Database Server 8.3». Будет предложено ввести пароль суперпользователя для подключения к выбранному серверу, что мы и делаем.
- В браузере объектов выбираем «Базы» и открываем «Правка/Новый объект/Новая база данных…». Устанавливаем имя новой базы данных – «postgis», владелец – «postgres».
- Откройте окно запросов SQL (щелкнув на кнопку с изображением карандаша):
- Выберите «Файл/Открыть…» и откройте файл: C:\Program Files\PostgreSQL\[ваша версия]\share\contrib\postgis.sql
- Нажмите кнопку «Выполнить запрос» (кнопка с изображением зеленого треугольника). Файл lwpostgis.sql будет исполнен — функции и объекты PostGIS будут загружены в базу данных.
- Выберите «Файл/Открыть…» и откройте файл: C:\Program Files\PostgreSQL\[ваша версия]\share\contrib\spatial_ref_sys.sql
- Нажмите кнопку «Выполнить запрос» (кнопка с изображением зеленого треугольника). Файл spatial_ref_sys.sql будет исполнен и загрузит параметры систем координат в формате EPSG в таблицу базы данных.
Процесс создания пространственной базы данных без использования шаблона окончен. Таким образом, на данный момент времени мы имеем пространственную базу данных «postgis», готовую к наполнению данными.
PostGIS: наполнение базы данных
Чтобы наполнить базу данных нужно использовать утилиту PostGIS 2.0 Shapefile and DBF Loader Exporter (она установилась вместе с расширением Postgis, которое мы ставили через Stack Builder)
В нашем случае необходимо было экспортировать данные с сервера gis-lab.info, и залить их на наш сервер.
Экспорт
- Запускаем утилиту PostGIS0 Shapefile and DBF Loader Exporter (ее можно найти в пуске) и выбираем вкладку Export
- Нажимаем кнопку ‘View connection details…’ и вводим реквизиты сервера
gis-lab.info - Нажимаем “ОК”, и видим, что подключение было успешным.
- Далее нажимаем кнопку “Add table” и выбираем в всплывающем окне перечень таблиц для экспорта (в нашем случае это ru_adm3_federal и ru_adm4_region).
- Нажимаем “ОК”, теперь они отображаются в основном окне утилиты, далее нажимаем на кнопку “Export”.
- Выбираем путь, следим, чтобы выгрузка производилась в формате “.shp” (шейп-файлы):
- Появляется статус-бар, ждем окончания.
- Все выгрузилось успешно!
Импорт
Далее необходимо выполнить схожую процедуру, только во вкладке Import
- Выбираем вкладку Import
- Жмем View connection details и вводим реквизиты нашего локального сервера
- Нажимаем ок, видим, что подключение прошло успешно
- Далее нажимаем на кнопку импорт и выбираем папку, в которой находятся наши шейп-файлы.
- В поле SRID вводим систему координат (в моем случае это стандартная проекция 4326) и нажимаем кнопку Import.
- После того, как процедура успешно завершится, об этом будет написано в логе
GeoQlik: проверка настроек
Теперь нужно проверить результат.
- Заходим в консоль GeoQlik и устанавливаем соединение с нашим локальным сервером.
- Для этого заходим по адресу localhost/geoqlik/designer/index.html, далее как показано на рисунках: Вводим реквизиты сервера и нажимаем «Next»:
- В появившемся окне видим наши экспортированные файлы. Нажимаем Validate и далее остается только проверить правильно ли мы указали проекцию (SRID):
- Для этого заходим на вкладку Symbрlogy, ставим галочки напротив закаченных слоев, и видим их отображение на карте справа. В нашем случае все прошло успешно!
Вот и все! Задача выполнена, можно приступать к настройке отчетов в GeoQlik.
В завершение хочу дать вам один полезный ресурс, на котором можно найти административные деления всех стран.
Успехов Вам в геоаналитике!
Свежие комментарии