Postgis установка ubuntu. Поднимаем картографический сервер GeoQlik на базе PostgreSQL и PostGis

17.03.2019

Теплопроводная паста, или термопаста, – это очень пластичное вещество с большим коэффициентом теплопроводности, необходимое для улучшения обмена теплом радиатора и (либо другими электронными элементами, которые интенсивно выделяют тепло). Термопаста представляет собой однородную массу. Очень часто белого или серого цвета, гораздо реже серебристого либо голубого.

Несколько лет назад процессоры обходились и без теплопроводной пасты, но сейчас она неотъемлемый атрибут любого мощного либо средней мощности процессора. Ведь сейчас существует возможность разогнать процессор на 10-15%. Данная возможность предусмотрена производителем и весьма легко осуществляется программным путём, изменяя настройки в BIOS. Использование термопасты объясняется тем, что между процессором и радиатором из-за неровностей их поверхностей возникает воздушная прослойка. Следовательно, ухудшается теплоотвод на 15-20%. В наше время выпускаются очень мощные процессоры, которые работают на пределе и интенсивно выделяют тепло. Чтобы увеличить теплоотвод нельзя обойтись без термопасты.

Необходимые требования к термопасте:

  • сохранение консистенции при нагревании (использование невысыхающих материалов)
  • высокая теплопроводность
  • негорючесть
  • стойкость к коррозии
  • свойства диэлектрика
  • гидрофобность
  • устойчивость к окислению
  • отсутствие вреда для здоровья

Существует вид термопасты, который называется термоклей. Это термопаста, которая обладает клеющими свойствами. Его используют для прикрепления электронных компонентов друг к другу, когда отсутствует механический крепеж элементов, либо данный вид крепления не предусмотрен/затруднён.

Способ применения термопасты и термоклея

Поверхности компонентов очищаем от грязи и пыли и наносим пасту тонким слоем. Именно тонким. Убедиться в том, что элементы установлены правильно, убрать излишки термопасты с помощью нейтрального растворителя либо механическим путём.

Основной ошибкой неопытных сборщиков ПК является нанесение толстого слоя пасты. Слой должен быть минимально тонким и равномерным. Некоторые считают, что чем толще слой, тем лучше теплоотвод. Но это не так, а совсем наоборот. Термопаста сама по себе не имеет большой теплопроводности. Она лишь должна вытеснить весь воздух из неровностей поверхности электронных компонентов, например между процессором и радиатором. Если слой термопасты очень большой, то теплоотвод ухудшится на 20%. Теплоотдача элемента с таким слоем ничем не отличается от компонента без термопасты. Нагрев увеличится на 20 — 25°, по сравнению с этим же элементом, но с тонким слоем пасты.

При выборе теплопроводной пасты необходимо учитывать её основную характеристику – теплопроводность. У отечественных паст она колеблется в пределах 0,7 – 1 Вт/ (м·К). Например, КПТ-8. Существую и более продвинутые термопасты. У них теплопроводность может иметь значение 1.5 и более. Также при выборе необходимо обратить внимание на диапазон рабочих температур, т.е. температур, при которых термопаста сохраняет свои свойства – постоянную консистенцию, теплопроводность и диэлектрическую проницаемость. Очень важной характеристикой термопасты является фирма-изготовитель. Зарубежные пасты фирм Gigabyte, Fanner, Zalman встречаются очень редко. В Росси самая популярная термопаста КПТ-8, потому что она дешёвая и самая доступная. Также неплохо зарекомендовали себя термопасты НС-125 и Алсил-3.

Примечания. 1. Теплопроводностью является перенос тепла, или энергии, от более нагретых элементов к менее нагретым в результате взаимодействия молекул и их движения. 2. Говоря теплопроводность, имеется ввиду коэффициент теплопроводности.

  • Tutorial

Совсем недавно возникла задача создания программного обеспечения по генерации картографических тайлов. В качестве основы выбор пал на mapnik (альтернатив ему немного). Как оказалось, здесь на пути поджидало множество сложностей, непредвиденных ошибок, а более менее внятной документации по настройке всего «под ключ» найти не удалось. Повозившись какое-то время, мне удалось собрать множество граблей, которые могут возникнуть ну и довести дело до победного конца. Об этом и статья.

Установка производилась в Ubuntu и Debian. Скажу сразу, что лучше конечно использовать последние версии программных продуктов, которых иногда нет в репозитариях. Их можно скачать, при желании, вручную с официальных сайтов.

Не считая необходимых зависимостей, в общем случае нам понадобятся

  • PostgreSQL >= 8.4
  • PostGIS >= 1.5 < 2
  • Python 2.x
  • Mapnik >= 2
  • Osm2pgsql
  • Некоторые знания по работе с bash, Python и PostgreSQL

Установка PostgreSQL

Сперва проверем какая версия PostgreSQL у нас в репозитариях:
$ apt-cache show postgresql
Если версия 8.4 и более, то устанавливаем пакет.
$ sudo apt-get install postgresql
В противном случае, скачиваем пакет с официального сайта www.postgresql.org/download/linux и устанавливаем его. Далее нам надо настроить нашу базу данных. По умолчанию её пользователь - это postgres и авторизоваться можно только от него средствами самой OC. Однако мы поступим несколько по-другому, сперва откроем файл pg_hba.conf. Узнать его расположение можно утилитой locate

$ sudo updatedb $ sudo locate pg_hba.conf
Если у вас эта утилита не установлена, то ставим
$ sudo apt-get install findutils locate
и повторяем команды выше. У меня например этот файл расположен по адресу /etc/postgresql/8.4/main/pg_hba.conf. Открываем его и редактируем.

$ sudo vi "/etc/postgresql/8.4/main/pg_hba.conf"
Заменяем:
$ locate all all ident # Авторизация средствами ОС
На
$ locate all all password # Авторизация по паролю
Сохраняем файл и перезапускаем PostgreSQL.
$ sudo "/etc/init.d/postgresql-8.4 restart"
Теперь мы можем создать любого пользователя базы и заходить от него под обычным паролем без всякого шифрования (нам не критична супер безопасность). А также нам потребуется новая база данных для наших OSM данных.
Заходим в консоль управления PostgreSQL.
$ su postgres $ psql postgres=# CREATE ROLE osm WITH SUPERUSER PASSWORD ‘my_password’ LOGIN; CREATE ROLE postgres=# CREATE DATABASE osm; CREATE DATABASE postgres=# \q
Пользователь и база данных созданы.
Проверить работоспособность нового пользователя можно командой
$ psql -U osm -d osm -W
Если после ввода пароля Вы попадете в консоль PostgreSQL, то все прошло успешно.

Установка PostGIS

Нам потребуется PostGIS. В моем репозитарии была версия 1.4. Так как, после её установки мне почему-то не удалось найти файл postgis.sql, я снес эту версию и скачал с официального сайта версию 1.5. Поэтому в статье, мы поступим также.
$ wget "http://postgis.refractions.net/download/postgis-1.5.4.tar.gz"
Распаковываем архив, собираем и устанавливаем.
$ tar xvfz "./postgis-1.5.4.tar.gz" $ cd "./postgis-1.5.4" $ sudo ./configure $ sudo make install
В случае отсутствия необходимых библиотек, устанавливаем их.
Далее устанавливаем специальный язык в базу osm.
$ createlang plpgsql osm -U osm -W
Теперь необходимо в базу osm выполнить два SQL скрипта: postgis.sql и 900913.sql.
При помощи утилиты locate находим их расположение и выполняем их.
$ psql -U osm -d osm -W -f "/usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql" $ psql -U osm -d osm -W -f "/usr/share/osm2pgsql/900913.sql"
Обратите внимание, как показала практика данную команду необходимо выполнить именно от пользователя с привилегиями суперпользователя PostgreSQL. Если у вас возникли проблемы и ошибки плана ERROR: type «geometry» does not exist , то попробуйте перед выполнением sql файла выполнить:
$ sudo ldconfig
и повторите команду запуска sql файлов.
Все! С настройкой PostgreSQL мы закончили. Переходим к установке Mapnik.

Установка Mapnik

$ sudo add-apt-repository ppa:mapnik/nightly-trunk $ sudo apt-get update $ sudo apt-get install libmapnik mapnik-utils python-mapnik
Если система выдаст, что “add-apt-repository: command not found”, то
$ sudo apt-get install python-software-properties
И повторите три команды выше. Mapnik установлен. Я не стал писать о необходимости установки Python, так как в большинстве случаев он всегда уже стоит. Проверяем работу mapnik.
$ python >>> import mapnik
Если ошибок никаких не возникло, то все прошло успешно. Теперь перейдем к установке osm2pgsql

Установка Osm2pgsql

$ sudo apt-get install osm2pgsql
Остался один важный штрих. Дело в том, что файл default.style, поставляемый osm2pgsql для экспорта osm данных в базу данных, по какой-то причине не соответствует последнему формату OSM. (Может быть кто знает почему?). Скачиваем файл правильного формата.
$ wget "http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/default.style"
Далее заменяем, тот что шел по умолчанию с osm2pgsql
$ sudo cp "./default.style" "/usr/share/osm2pgsql/default.style"

Установка скриптов от OpenStreetMap для генерации тайлов

Репозитарий OpenStreetMap содержит немало скриптов и утилит по картографической тематике. Нам понадобится одно из приложений, написанное на python, которое уже содержит все необходимые нам скрипты по работе с mapnik. Чтобы его скачать требуется установить Subversion.
$ sudo apt-get install subversion
Теперь смело можно загрузить OSM Application. Создайте папку для его расположения. например, у меня это /home/osm/mapnik и выполните checkout.
$ mkdir "/home/osm/mapnik" $ svn co "http://svn.openstreetmap.org/applications/rendering/mapnik" "/home/osm/mapnik"
Теперь запускаем скрипт находящийся в приложении.
$ bash /home/osm/mapnik/get-coastlines.sh
Он скачает нам необходимые файлы с шейпами мира.
Теперь необходимо создать XML файл стилей. Делается это следующей командой:
$ python /home/osm/mapnik/generate_xml.py osm.xml my_osm.xml --dbname osm --user osm --password my_password --accept-none
Будет создан файл my_osm.xml с данными для подключения к PostgreSQL.

Проба пера

Вот и настал момент, когда можно качать любой OSM файл и генерировать на его основе тайлы. Файлы OSM можно скачать с сайтов представленных на веб-странице wiki.openstreetmap.org/wiki/Planet.osm
Можно, конечно, скачать весь файл Planet.osm, но нужно ли оно вам? В распакованном виде он весит более 250 Гб.

Предположим мы хотим сгенерировать тайлы Москвы на 17 масштабе.
Качаем необходимый OSM файл.
$ wget "http://download.bbbike.org/osm/bbbike/Moscow/Moscow.osm.gz"
Теперь мы можем его экспортировать в базу данных.
$ sudo osm2pgsql -U osm -d osm Moscow.osm.gz
Все! Осталось лишь запустить скрипт по генерации тайлов. Но перед этим, нам нужно его слегка отредактировать, дабы указать нужный масштаб и координаты каких тайлов мы хотим получить. Открываем файл /home/osm/mapnik/generate_tiles.py. Устанавливаем переменную mapfile, чтобы она указывала на наш my_osm.xml.
mapfile = "/home/osm/mapnik/my_osm.xml"
Далее переопределите переменную, которая указывает куда Вы желаете складывать тайлы.
tile_dir = "/home/osm/mapnik/all_tiles"
Файл Moscow.osm который мы скачали имеет координаты векторных данных
xMin = 37.32000 yMin = 55.57000 xMax = 37.88000 yMax = 55.92000
Находим в скрипте такие строки
bbox = (-180.0,-90.0, 180.0,90.0) render_tiles(bbox, mapfile, tile_dir, 0, 5, "World")
И перед ними (дабы не затирать существующий код) пишем:
bbox = (37.32000, 55.57000, 37.88000, 55.92000) render_tiles(bbox, mapfile, tile_dir, 17, 17, "Moscow") exit()
Желательно написать exit(), дабы скрипт после генерации тайлов Москвы не преступил к генерации всего мира.
4 и 5 параметры функции render_tiles задают масштаб с какого по какой мы будем генерировать тайлы. В данном случае мы выбрали только 17 масштаб.

Сохраняем и запускаем.
$ python /home/osm/mapnik/generate_tiles.py
Пойдет процесс генерации тайлов.

Также можно найти прекрасный мануал здесь

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

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

PostgreSQL: установка

PostGIS: установка

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


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

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


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


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

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


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

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

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

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

Экспорт

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

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


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

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

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

Делали в универе командный курсовик и нужно было использовать PostGIS. Дело в том, что курсовик был взят не из списка стандартных заданий, а являлся частью одного разрабатываемого мной проекта. Так как курсовик командный, то не удивительно, что у членов команды ОС отличались. Я, конечно, не говорю, что в случае командной работы у всех должны быть разные ОС, но в нашем случае вышло именно так. В конечный список ОС попали следующие: Windows XP, Windows 7, Ubuntu и LinuxMint. Принципиальных различий в процессе установки нет. Что XP - винда, что семерка - винда. Что Ubuntu - GNU/Linux, что LinuxMint - GNU/Linux, еще и основанная на Ubuntu. И там, и там можно ставить как с бинарников, так и с исходников. К тому же в unix-подобных системах есть репозитории. В процессе работы я еще мучил с десяток дистрибутивов GNU/Linux в ознакомительных целях и как-то решил поставить PostGIS на Mandriva. Не помню почему, но почему-то пришлось повозиться несколько дольше, чем при работе с другими дистрибутивами. Исходя из этого писать про Mandriva не буду. Хотел еще поставить на Gentoo и написать об этом, но пока что совсем нет времени колупаться с ней.
Итак, заканчивая лирическое вступление, скажу, в каких ОС будет рассмотрена установка PostGIS:


Windows XP

С виндой дела обстоят достаточно просто. Скачиваем 2 бинарника и запускаем их по очереди. Первый бинарник - это сам сервер постгрес. Его можно скачать на официальном сайте . Второй бинарник - это, как подсказывает Капитан Очевидность, сама примочка PostGIS. Её можно взять . В случае с виндой разработчики PostgreSQL всё сделали на удивление хорошо. Устанавливая сам сервер, Вам еще прикрутят PgAdmin, дадут каких-то пряников и сверху положат StackBuilder. Эта штука позволяет не рыться в недрах интернета и не искать всякие другие штуки, типа PostGIS и Slony-I. Так что, возможно, Вы захотите скачать только инсталлятор сервера, а дальше заставить StackBuilder делать своё грязное дело. Вам так же никто не запрещал устанавливать всё из исходников:).
О том, как всё это дело установить, разработчики уже написали и, как в детской книжке, все проиллюстрировали. Посмотреть на это можно прямо . Единственное, что хочу заметить, так это то, что в процессе установки PostGIS галочку "Create spatial database" лучше не снимать, если Вам нравится, когда кто-то за Вас делает какую-то работу. Лично мне нравится, когда инсталлятор устанавливает за меня необходимые функции и прочее, а потом еще и делает шаблон, на основании которого можно в будущем создавать базы данных двумя-тремя щелчками мыши.
Следует заметить, что установщик содержит версию 1.5 PostGIS (или свежее). Если после его установки необходимо обеспечить поддержку баз данных с более ранними версиями PostGIS, то скачать отсюда бинарники (архив) и добавить содежимое каталогов "lib" и "share" в одноимённые каталоги Postgres (например, C:\Program Files\PostgreSQL\8.4\)


Ubuntu 11.04
В убунте далеко ходить не надо. Открыли терминал, ввели указанные ниже команды и получили то, что нам нужно, а именно: сервер, клиент, библиотеки, документацию, постгис, графическое приложение для администрирования.
sudo apt-get install postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4 postgresql-doc-8.4 postgresql-8.4-postgis sudo apt-get install pgadmin3 Как видно из команд, версия сервера у нас выйдет 8.4. Если быть точнее, то выполнив sql-запрос
SELECT version(); в моём случае версия определилась как 8.4.8.
Дальше необходимо настроить сам сервер БД. Не желая заниматься копипастом, просто приведу ниже пару ссылок, где об этом написано вполне доходчиво.
  1. Англоязычная статья на hocuspokus.net .
  2. Её русскоязычный перевод с примечаниями на welinux.ru .

Кое-что хочу добавить от себя. Во-первых, прописывая пути каталогов, будьте внимательны к версии сервера (у Вас же необязательно версия 8.3, как в примере)
Во-вторых, в файле "pg_hba.conf" строка
# Database administrative login by UNIX sockets local all postgres ident sameuser не понравилась серверу и пришлось заменить её на эту:
local all postgres md5 Это то, что касалось установки и настройки самого сервера.

Теперь нужно настроить PostGIS (вернее даже не настроить, а прикрутить к серверу).
Создадим новый шаблон и зарегистрируем диалект на сервере:
sudo su postgres createdb postgistemplate createlang plpgsql postgistemplate При этом нас попросят ввести пароль пользователя.
Далее необходимо наполнить шаблон функциями и информацией о типах данных.
psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis-comments.sql Хочу заметить, что расположение скриптов может несколько отличаться, но обычно не больее, чем на 1-2 ветки. Теперь осталось перезапустить сервер и можно приступать к работе. Для наглядности создадим через pgAdmin новый сервер. Пример того, что получилось, представлен на рисунке ниже. Как видно, присутствуют два шаблона: postgres и созданный нами postgistemplate.