• 3.1
  • 5.0
  • 6.1
  • Версия документации: 3.2

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

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

Программа

Описание

Необходимый

Поддерживаемые версии

GEOS

Геометрический движок с открытым исходным кодом

Да

3.9, 3.8, 3.7, 3.6, 3.5

ПРОЕКТ

Библиотека картографических проекций

Да (только PostgreSQL и SQLite)

7.x. 6.x, 5.x, 4.x

GDAL

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

Да

3.2, 3.1, 3.0, 2.4, 2.3, 2.2, 2.1, 2.0

GeoIP

Библиотека геолокации на основе IP

Нет

2

ПостГИС

Пространственные расширения для PostgreSQL

Да (только PostgreSQL)

3.0, 2.5, 2.4, 2.3

СпатиаЛайт

Пространственные расширения для SQLite

Да (только SQLite)

4.3

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

Примечание

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

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

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

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

Сборка из исходников

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

Примечание

On Linux platforms, it may be necessary to run the ldconfig command after installing each library. For example:

$ sudo make install
$ sudo ldconfig

Примечание

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

ГЕОС

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

First, download GEOS from the GEOS website and untar the source archive:

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

Next, change into the directory where GEOS was unpacked, run the configure script, compile, and install:

$ 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

If your GEOS library is in a non-standard location, or you don’t want to modify the system’s library path then the GEOS_LIBRARY_PATH setting may be added to your Django settings file with the full path to the GEOS C library. For example:

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

Примечание

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

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

ПРОДЖ

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

First, download the PROJ source code:

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

… and datum shifting files (download proj-datumgrid-X.Y.tar.gz for PROJ < 7.x) [1]:

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

Next, untar the source code archive, and extract the datum shifting files in the data subdirectory (use nad subdirectory for PROJ < 6.x). This must be done prior to configuration:

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

Finally, configure, make and install PROJ:

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

ГДАЛ

GDAL — отличная геопространственная библиотека с открытым исходным кодом, поддерживающая чтение большинства векторных и растровых форматов пространственных данных. В настоящее время GeoDjango поддерживает только возможности векторных данных GDAL <../gdal>` [2]. ГЕОС и ПРОДЖ должны быть установлены до сборки GDAL.

First download the latest GDAL release version and untar the archive:

$ 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 and install:

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

Примечание

Because GeoDjango has its own Python interface, the preceding instructions do not build GDAL’s own Python bindings. The bindings may be built by adding the --with-python flag when running configure. See GDAL/OGR In Python for more information on GDAL’s bindings.

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

Решение проблем

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

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

GDAL_LIBRARY_PATH

If your GDAL library is in a non-standard location, or you don’t want to modify the system’s library path then the GDAL_LIBRARY_PATH setting may be added to your Django settings file with the full path to the GDAL library. For example:

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

Сноски

Back to Top