Как установить gdal ubuntu

Обновлено: 04.07.2024

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

Данное руководство поможет установить PostGIS, настроить PostgreSQL для поддержки пространственных данных, загрузить пространственные объекты в БД и выполнить базовый запрос.

  • Сервер Ubuntu 14.04 (о настройке такого сервера можно прочесть здесь).
  • Пользователь с доступом к sudo.
  • Предустановленная база данных PostgreSQL (руководство по установке можно найти по этой ссылке; в руководстве используется БД test1).

1: Установка PostGIS

PostGIS нет в репозитории Ubuntu. Пакеты PostGIS можно скачать с UbuntuGIS, стороннего репозитория, в котором хранятся открытые пакеты GIS. Конечно, UbuntuGIS не всегда содержит самые современные версии PostGIS, однако он хорошо поддерживается. Кроме того, благодаря этому репозиторию не придётся компилировать PostGIS из исходного кода.

В Ubuntu 14.04 добавьте нестабильную ветку репозитория UbuntuGIS:

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable

ubuntugis/+archive/ubunt/ubuntugis-unstable
Press [ENTER] to continue or ctrl-c to cancel adding it

Нажмите Enter, после чего код будет добавлен:

gpg: keyring `/tmp/tmpintg192h/secring.gpg' created
gpg: keyring `/tmp/tmpintg192h/pubring.gpg' created
gpg: requesting key 314DF160 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpintg192h/trustdb.gpg: trustdb created
gpg: key 314DF160: public key "Launchpad ubuntugis-stable" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

Обновите индекс пакетов:

sudo apt-get update

sudo apt-get install postgis

Подтвердите установку, нажав Y. Команда установит PostGIS и зависимости.

2: Настройка PostgreSQL для поддержки PostGIS

Функции PostGIS нужно включать для каждой БД индивидуально.

Примечание: Для демонстрации примеров используется БД test1 и пользователь postgres из руководства по установке PostgreSQL.

Перейдите в сессию пользователя postgres.

sudo -i -u postgres

Подключитесь к БД test1:

Включите расширение PostGIS для этой БД:

CREATE EXTENSION postgis;

Убедитесь, что расширение включено:

Теперь эта БД поддерживает пространственные данные. Закройте сессию SQL и вернитесь в терминал:

Вернитесь в сессию системного пользователя.

3: Оптимизация PostgreSQL для обработки объектов GIS

PostgreSQL может работать на любой платформе, но настройки СУБД «из коробки» слишком консервативны. Объекты GIS очень большие по сравнению с текстовыми данными. Оптимизируйте PostgreSQL для поддержки данных GIS.

Отредактируйте конфигурационный файл PostgreSQL, postgresql.conf.

sudo nano /etc/postgresql/9.3/main/postgresql.conf

В строке shared_buffers нужно указать около 75% оперативной памяти. На сервере в 512MB достаточно выделить 200MB.

Найдите checkpoint_segments, раскомментируйте её и укажите значение 6:

Сохраните и закройте файл (CTRL+X, Y и Enter).

Примечание: Больше о пространственных параметрах PostgreSQL можно узнать здесь.

sudo service postgresql restart

4: Загрузка пространственных данных

Добавьте в БД пространственные данные, чтобы ознакомиться с инструментарием и процессом обработки этих данных в PostgreSQL.

Сайт Natural Earth – отличный источник таких данных.

Перейдите в домашний каталог и создайте папку nedata, в которой будут храниться данные с Natural Earth.

Перейдите в этот каталог:

Загрузите пространственные данные с сайта:

Команда загрузит сжатый файл. Распакуйте его с помощью unzip.

Примечание: Чтобы установить unzip, введите:

sudo apt-get install unzip

Чтобы распаковать файл, введите:

На сервере появится шесть файлов:

  • ne_110m_admin_0_countries.README.html
  • ne_110m_admin_0_countries.VERSION.txt
  • ne_110m_admin_0_countries.dbf
  • ne_110m_admin_0_countries.prj
  • ne_110m_admin_0_countries.shp
  • ne_110m_admin_0_countries.shx

Файлы .dbf, .prj, .shp и .shx составляют ShapeFile, популярный формат геопространственных данных, используемый программным обеспечением GIS. Загрузите его в БД test1.

Для этого нужно установить GDAL (библиотеку Geospatial Data Abstraction Library). При установке GDAL устанавливается OGR (OpenGIS Simple Features Reference Implementation) и команда ogr2ogr. Это библиотека для перевода векторных данных, с помощью которой можно перевести Shapefile в формат, понятный PostGIS.

sudo apt-get install gdal-bin

Вернитесь в сессию пользователя postgres.

sudo -i -u postgres

Конвертируйте Shapefile, загруженный с Natural Earth, в формат, который может прочитать PostGIS, с помощью команды ogr2ogr.

ogr2ogr -f PostgreSQL PG:dbname=test1 -progress -nlt PROMOTE_TO_MULTI /home/8host/nedata/ne_110m_admin_0_countries.shp

Рассмотрим эту команду по частям.

Примечание: Посетите сайт ogr2ogr, чтобы узнать об остальных опциях.

Вышеприведённая команда вернёт такой вывод:

0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - done.

Убедитесь, что данные были успешно импортированы, с помощью команды ogrinfo.

ogrinfo -so PG:dbname=test1 ne_110m_admin_0_countries

INFO: Open of `PG:dbname=test1'
using driver `PostgreSQL' successful.
Layer name: ne_110m_admin_0_countries
Geometry: Multi Polygon
Feature Count: 177
Extent: (-180.000000, -90.000000) - (180.000000, 83.645130)
Layer SRS WKT:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]] FID Column = ogc_fid
Geometry Column = wkb_geometry
scalerank: Integer (4.0)
featurecla: String (30.0)
.
region_wb: String (254.0)
name_len: Real (16.6)
long_len: Real (16.6)
abbrev_len: Real (16.6)
tiny: Real (16.6)
homepart: Real (16.6)

Теперь в БД добавлены пространственные данные.

5: Запрос пространственных данных

Для примера попробуйте найти десять самых северных стран в мире. С PostGIS это очень просто.

Вернитесь в БД test1.

Команда вернёт две таблицы:

List of relations
Schema | Name | Type | Owner
-------+---------------------------+-------+----------
public | ne_110m_admin_0_countries | table | postgres
public | spatial_ref_sys | table | postgres
(2 rows)

Используйте таблицу ne_110m_admin_0_countries, которая содержит необходимые данные. Столбец admin содержит название страны, столбец wkb_gemoetry – геометрические данные. Чтобы просмотреть столбцы ne_110m_admin_0_countries, выполните команду:

На экране появятся столбцы и их типы данных. Тип данных столбца wbk_geometry имеет такой вид:

Столбец wbk_geometry содержит многоугольники. В данном примере вы имеете дело со странами и их нерегулярными границами, следовательно, каждая страна в базе не имеет одного значения широты. Таким образом, чтобы получить широту для каждой страны, сначала нужно выяснить центроид каждой страны с помощью функции ST_Centroid. Извлеките значение Y центроида с помощью функции ST_Y; это значение можно использовать как широту.

Запрос выглядит так:

SELECT admin, ST_Y(ST_Centroid(wkb_geometry)) as lattitude
FROM ne_110m_admin_0_countries
ORDER BY latitude DESC
LIMIT 10;

Результаты будут выведены в порядке убывания, так как самая северная страна будет иметь самую высокую широту.

Данный запрос выведет десять самых северных стран мира:

admin | latitude
----------+------------------
Greenland | 74.7704876939899
Norway | 69.1568563971328
Iceland | 65.074276335291
Finland | 64.5040939185674
Sweden | 62.8114849680803
Russia | 61.9808407507127
Canada | 61.4690761453491
Estonia | 58.643695240707
Latvia | 56.8071751342793
Denmark | 56.0639344617945
(10 rows)

Чтобы закрыть БД, введите:

Примечание: Больше информации о функциях PostGIS можно найти в документации расширения.

Заключение

Теперь у вас есть таблица с поддержкой пространственных данных. более подробный мануал можно найти по этой ссылке.

GeoDjango использует и предоставляет интерфейсы для следующих бесплатных геопространственных библиотек:

программа Описание необходимые Поддерживаемые версии
GEOS Geometry Engine с открытым исходным кодом да 3.8, 3.7, 3.6, 3.5
proj.4 Библиотека картографических проекций Да (только PostgreSQL и SQLite) 6.3, 6.2, 6.1, 6.0, 5.x, 4.x
GDAL Библиотека да 3.1, 3.0, 2.4, 2.3, 2.2, 2.1, 2.0
GeoIP Библиотека геолокации на основе IP нет 2
PostGIS Пространственные расширения для PostgreSQL Да (только PostgreSQL) 3.0, 2.5, 2.4, 2.3, 2.2
SpatiaLite Пространственные расширения для SQLite Да (только SQLite) 4,3

Обратите внимание, что более старые или новые версии этих библиотек также могут очень хорошо работать с GeoDjango. Вам решать.

Интерфейсы GeoDjango с GEOS, GDAL и GeoIP могут использоваться независимо от Django. Другими словами, необязательно иметь базу данных или файл настроек, импортируйте их как обычный модуль из django.contrib.gis .

В Debian / Ubuntu рекомендуется установить следующие пакеты, которые будут устанавливать, напрямую или через зависимости, необходимые геопространственные библиотеки:

Также ознакомьтесь с конкретными инструкциями, если вы используете macOS или Windows .

Компиляция из исходников ¶

При установке из исходного кода в системах UNIX и GNU / Linux внимательно следуйте инструкциям по установке и устанавливайте библиотеки в указанном порядке. Если вы используете MySQL или Oracle в качестве пространственной базы данных, вам понадобится только GEOS.

На платформах Linux может потребоваться ввести команду ldconfig после установки каждой библиотеки. Например :

Пользователи MacOS должны установить Xcode , чтобы иметь возможность компилировать код из исходного кода.

GEOS - это библиотека C ++ для геометрических операций и внутреннее геометрическое представление по умолчанию, используемое GeoDjango (за «отложенными» геометрическими объектами). В частности, API библиотеки C (например libgeos_c.so ) вызывается непосредственно из Python с использованием ctypes.

Сначала загрузите GEOS с сайта GEOS и распакуйте исходный архив:

Затем перейдите в каталог, в который была разархивирована GEOS, и запустите сценарий «configure», скомпилируйте и установите:

Устранение неполадок ¶

Не удается найти библиотеку GEOS ¶

Когда GeoDjango не может найти GEOS, появляется эта ошибка:

Наиболее распространенное решение - правильно настроить параметры среды библиотеки или установить GEOS_LIBRARY_PATH в своих настройках.

Если вы используете двоичный пакет GEOS (например, в Ubuntu), может быть полезно установить binutils .

GEOS_LIBRARY_PATH ¶

Если ваша библиотека GEOS находится в нестандартном месте или вы не хотите изменять путь к системным библиотекам, вы можете добавить настройку GEOS_LIBRARY_PATH в свой файл настроек Django и указать там полный путь к библиотеке GEOS. в C. Например:

Параметр должен содержать полный путь к разделяемой библиотеке на C ; другими словами, это должно быть указано libgeos_c.so , а не libgeos.so .

PROJ.4 ¶

PROJ.4 - это библиотека для преобразования геопространственных данных в различные системы координат.

Сначала загрузите исходный код PROJ.4 и связанные файлы данных («файлы смещения датума») [1] :

Затем разархивируйте архив исходного кода и извлеките дополнительные файлы данных в подкаталог nad . Это необходимо сделать перед настройкой:

Наконец, запустите «configure» и «make» и установите PROJ.4:

GDAL - отличная бесплатная геопространственная библиотека, способная читать большинство векторных и растровых форматов пространственных данных. В настоящее время GeoDjango поддерживает только функции векторных данных GDAL [2] . Перед компиляцией GDAL необходимо установить GEOS и PROJ.4 .

Сначала загрузите последнюю выпущенную версию GDAL и распакуйте архив:

Выполните операции "configure", "make" и "install":

Поскольку GeoDjango имеет свои собственные интерфейсы Python, предыдущие инструкции не компилируют привязки Python, специфичные для GDAL. Привязки можно скомпилировать, добавив опцию --with-python при запуске configure . См. GDAL / OGR в Python для получения дополнительной информации о привязках GDAL.

Если у вас возникла проблема, ознакомьтесь с предложениями и решениями в разделе устранения неполадок ниже.

Устранение неполадок ¶

Не удается найти библиотеку GDAL ¶

Если GeoDjango не может найти библиотеку GDAL, настройте параметры среды библиотеки или установите GDAL_LIBRARY_PATH в своих настройках.

GDAL_LIBRARY_PATH ¶

Если ваша библиотека GDAL находится в нестандартном месте или вы не хотите изменять путь к системным библиотекам, вы можете добавить параметр GDAL_LIBRARY_PATH в свой файл настроек Django и указать там полный путь к библиотеке GDAL. , Например :

AnyDesk – лёгкий кроссплатформенный клиент для организации удалённого доступа между устройствами на различных платформах. При запущенном хост-приложении позволяет подключаться к компьютерам, ноутбукам через браузер, чтобы полноценно управлять ими. Из публикации узнаете об особенностях AnyDesk для Линукс: преимущества, недостатки программы, используемые технологии.

О программе

anydesk на linux

АниДеск при размере 5 МБ позволяет устанавливать связь между компьютерами и гаджетами, удалённо управлять ими, наблюдать за рабочим пространством. Утилита разработана осколками команды создателей TeamViewer, поэтому объединяет в себе её функциональность, универсальность и лёгкость. Технология Erlang, используемая в области телекоммуникаций, обеспечивает стабильность соединения на протяжении многих часов. Задержки при работе через локальную сеть не превышают 16 мс.

Достижение авторов – реализация продвинутого видеокодека, написанного для оптимизации передачи пользовательских интерфейсов. Кроме достойного уровня сжатия картинки он отправляет доминантному ПК только изменяющиеся участки изображения на дисплее, экономя трафик и снижая нагрузку на «железо», интернет-канал. Работает по беспроводному интернету со скоростью 100 кбит/с.

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

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

Поддерживаемые ОС Linux

  • openSUSE 15;
  • CentOS 7;
  • RedHat Enterprise 7;
  • Generic Linux;
  • Fedore;
  • Debian.

Безопасность подключения

Для подключения необходимо сообщить идентификатор компьютера (AnyDesk ID) и предоставить доступ. Этим пользуются злоумышленники, из-за чего программа запрещена рядом провайдеров по всей планете. Здесь нужно быть внимательным – не предоставлять ID и разрешения незнакомцам. В остальном приложение характеризуется беспрецедентной безопасностью. Соединение шифруется с применением TLS 1.2 (используется в банковской сфере) при помощи технологии ассиметричного обмена ключами.

Для снижения задержек и повышения конфиденциальности трафик не проходит через серверы AnyDesk.

Получить подробную информацию о коммерческих тарифах, помощь в вопросах использования и настроек можно на официальном сайте программы. Загрузить русскую версию AnyDesk для любой ОС семейства Линукс можно ниже.

Инструкция по установке

Для инсталляции приложения (на примере Ubuntu) на компьютер в терминале выполните команды:

Добавьте репозитарий AnyDesk в Ubuntu:

Обновление apt cache и непосредственно установка приложения:

sudo apt updatesudo apt install anydesk

установка anydesk на linux

Далее можно запускать и работать.

Для удаления приложения с компьютера выполните:

sudo apt purge anydesk

Вопросы и ответы

Откройте настройки приложения через главное меню, выберите в списке «Русский» и перезапустите AnyDesk.

настройка на linux

Если появились проблемы в установке или работе программы на Линукс, пишите, поможем решить проблему.

У меня установлена версия Ubuntu 17.04, и я хочу установить GDAL. Я пробовал несколько способов его установки, но всегда получал ошибку. Я установил Python 2.7 и Python 3.6, но я хочу сделать установку для Python 2.7

Я попытался выполнить установку, выполнив следующие действия:

И у меня есть эта ошибка:

Если я выполню последнюю команду withs sudo: sudo pip install GDAL. У меня есть еще одна ошибка .

Как я могу установить GDAL в Ubuntu?

3 ответа

возможно, у вас будет больше вариантов, если вы загрузите пакет и прочтете readme.txt. страница загрузки

я не настолько уверен во всех этих параметрах команды самостоятельно.

надеюсь, это поможет^^

Возможно, проблема в том, что версия Ubuntu больше, чем Python. Я не нашел много информации о ubuntu 17, поэтому вам следует попробовать то, что доступно для более старых и стабильных версий.

У меня есть Ubuntu 18.04, и этот ответ , кажется, тоже помогает ей. Согласно комментариям, он также работал на Ubuntu 16.04 и 14.04:

Если у вас не установлена предыдущая версия gdal

Откройте свой terminal и введите

Если у вас установлена предыдущая версия установлена

Откройте свой terminal и введите

Похожие вопросы:

Я пытаюсь экспортировать GeoTiff с помощью Blender с помощью Blender Python API (на основе Python 3), поэтому я решил установить GDAL на Ubuntu (14.04). Что бы я хотел, так это получить модуль в.

Я пытаюсь установить GDAL-1.9.0 под Ubuntu 10.04 через buildout и, к сожалению, получаю очень странную ошибку. python setup.py build 'import site' failed; use -v for traceback Traceback (most recent.

Моя ошибка в том, что __main__.gdal_config_error: [Errno 2] No such file or directory Я получаю это при попытке установить GDAL с помощью pip и easy_install с Python2.7 на Ubuntu 12.10.

Я использовал gdal api в Windows, но теперь мне нужно использовать его в Linux (Ubuntu). Я не знаю, как установить библиотеку для c++ и как построить программу gdal с помощью g++ или другого.

Я изо всех сил пытаюсь установить GDAL на ubuntu 16.04, чтобы работать с GeoDjango (Django 2.1, python3), поэтому мне нужно понять, что я на самом деле устанавливаю. Какова роль каждого.

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

Я пытаюсь установить пакет GDAL на кластер Azure Databricks. Я никак не могу заставить его работать. Подходы, которые я пробовал, но не сработали: Через вкладку Библиотека соответствующего кластера.

Я пытаюсь установить геопанды. Для этого мне нужно установить зависимость GDAL. Я не могу ни ввести геопанды, ни установить GDAL. Окружающая среда Anaconda 4, Python 3.6 Методы, которые я пробовал.

Читайте также: