Spec-Zone.ru › Django 2.1

Установка геопространственных библиотек

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

Программа Описание Необходима Поддерживаемые версии
GEOS Geometry Engine Open Source Да 3.6, 3.5, 3.4
PROJ.4 Библиотека картографических проекций Да (только PostgreSQL и SQLite) 4.9, 4.8, 4.7, 4.6, 4.5, 4.4
GDAL Библиотека абстракции геопространственных данных Да 2.2, 2.1, 2.0, 1.11, 1.10, 1.9
GeoIP Библиотека геолокации по IP-адресу Нет 2
PostGIS Расширения пространственных данных для PostgreSQL Да (только PostgreSQL) 2.5, 2.4, 2.3, 2.2, 2.1
SpatiaLite Расширения пространственных данных для SQLite Да (только SQLite) 4.3, 4.2, 4.1

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

Примечание

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

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

$ sudo apt-get install binutils libproj-dev gdal-bin

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

  • libgeoip1: для поддержки GeoIP
  • python-gdal для собственных Python-связей GDAL — включает интерфейсы для обработки растровых данных

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

Компиляция из исходного кода

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

Примечание

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

$ sudo make install
$ sudo ldconfig

Примечание

Пользователям macOS необходимо установить Xcode для компиляции программного обеспечения из исходного кода.

GEOS

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

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

$ wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
$ tar xjf geos-X.Y.Z.tar.bz2

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

$ cd geos-X.Y.Z
$ ./configure
$ make
$ sudo make install
$ cd ..

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

Не могу найти библиотеку GEOS

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

ImportError: Could not find the GEOS library (tried "geos_c"). Try setting GEOS_LIBRARY_PATH in your settings.

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

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

GEOS_LIBRARY_PATH

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

GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'

Примечание

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

См. также В моих логах полно ошибок, связанных с GEOS.

PROJ.4

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

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

$ wget https://download.osgeo.org/proj/proj-X.Y.Z.tar.gz
$ wget https://download.osgeo.org/proj/proj-datumgrid-X.Y.tar.gz

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

$ tar xzf proj-X.Y.Z.tar.gz
$ cd proj-X.Y.Z/nad
$ tar xzf ../../proj-datumgrid-X.Y.tar.gz
$ cd ..

Наконец, выполните конфигурацию, сборку и установку PROJ.4:

$ ./configure
$ make
$ sudo make install
$ cd ..

GDAL

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

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

$ wget https://download.osgeo.org/gdal/X.Y.Z/gdal-X.Y.Z.tar.gz
$ tar xzf gdal-X.Y.Z.tar.gz
$ cd gdal-X.Y.Z

Выполните конфигурацию, сборку и установку:

$ ./configure
$ make # Go get some coffee, this takes a while.
$ sudo make install
$ cd ..

Примечание

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

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

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

Не могу найти библиотеку GDAL

Когда GeoDjango не может найти библиотеку GDAL, настройте Настройки среды библиотек или задайте GDAL_LIBRARY_PATH в файле настроек.

GDAL_LIBRARY_PATH

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

GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'

Примечания

[1] Файлы смещения датумов необходимы для преобразования данных в и из определённых проекций. Например, строка PROJ.4 для проекции Google (900913 или 3857) требует файла сетки null , который включён только в дополнительных файлах смещения датумов. Проще установить файлы смещения сейчас, чем потом разбираться с проблемой, возникшей из-за их отсутствия.
[2] В частности, GeoDjango предоставляет поддержку библиотеке OGR, компоненту GDAL.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.1/ref/contrib/gis/install/geolibs/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API