Spec-Zone.ru › Django 2.0

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

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

ПрограммаОписаниеТребуетсяПоддерживаемые версии
GEOSГеометрический движок с открытым исходным кодомДа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.4, 2.3, 2.2, 2.1
SpatiaLiteПространственные расширения для SQLiteДа (только SQLite)4.3, 4.2, 4.1, 4.0

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

Изменено в Django 1.11:

В более старых версиях GDAL требовался только для SQLite. Теперь он требуется для всех баз данных.

Примечание

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

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

%%%CODE_BLOCK_1%%>

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

  • 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 3.4.2 с веб-сайта GEOS и распакуйте архив исходного кода:

%%%CODE_BLOCK_7%%>

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

%%%CODE_BLOCK_8%%>

Отладка

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

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

%%%CODE_BLOCK_9%%>

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

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

GEOS_LIBRARY_PATH

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

%%%CODE_BLOCK_12%%>

Примечание

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

См. также Мои журналы заполнены ошибками, связанными с GEOS.

PROJ.4

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

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

%%%CODE_BLOCK_15%%>

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

%%%CODE_BLOCK_17%%>

Наконец, настройте, скомпилируйте и установите PROJ.4:

%%%CODE_BLOCK_18%%>

GDAL

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

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

%%%CODE_BLOCK_19%%>

Настройте, скомпилируйте и установите:

%%%CODE_BLOCK_20%%>

Примечание

Поскольку 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. Например:

%%%CODE_BLOCK_25%%>

Примечания

[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.0/ref/contrib/gis/install/geolibs/

Spec-Zone.ru

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