Spec-Zone.ru › Django 2.1

Установка SpatiaLite

SpatiaLite добавляет пространственную поддержку в SQLite, превращая его в полноценную пространственную базу данных.

Сначала проверьте, можно ли установить SpatiaLite из системных пакетов или библиотек.

Например, в дистрибутивах на основе Debian попробуйте установить пакет spatialite-bin. Для дистрибутивов, которые упаковывают SpatiaLite 4.2+, установите libsqlite3-mod-spatialite.

Для macOS следуйте инструкциям ниже.

Для Windows вы можете найти двоичные файлы на странице Gaia-SINS.

В любом случае, вы всегда сможете установить из исходного кода.

SPATIALITE_LIBRARY_PATH настройка, необходимая для SpatiaLite 4.2+

Если вы используете SpatiaLite 4.2+, вы должны добавить это в свой settings.py:

SPATIALITE_LIBRARY_PATH = 'mod_spatialite'

Вашей операционной системе может потребоваться другой вариант, например mod_spatialite.so (замечено в Debian Buster и Ubuntu 18.04).

Установка из исходного кода

GEOS и PROJ.4 должны быть установлены перед построением SpatiaLite.

SQLite

Сначала проверьте, скомпилирован ли SQLite с модулем R*Tree. Запустите командную строку sqlite3 и введите следующую команду:

sqlite> CREATE VIRTUAL TABLE testrtree USING rtree(id,minX,maxX,minY,maxY);

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

Чтобы установить из исходных кодов, загрузите последнюю архивированную версию исходного кода с страницы загрузки SQLite и распакуйте:

$ wget https://www.sqlite.org/YYYY/sqlite-amalgamation-XXX0000.zip
$ unzip sqlite-amalgamation-XXX0000.zip
$ cd sqlite-amalgamation-XXX0000

Далее, запустите скрипт configure – но переменная среды CFLAGS должна быть настроена, чтобы SQLite знал, как скомпилировать модуль R*Tree:

$ CFLAGS="-DSQLITE_ENABLE_RTREE=1" ./configure
$ make
$ sudo make install
$ cd ..

Библиотека SpatiaLite (libspatialite)

Получите последнюю сборку исходного кода библиотеки SpatiaLite с страницы загрузки:

$ wget https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-X.Y.Z.tar.gz
$ tar xaf libspatialite-X.Y.Z.tar.gz
$ cd libspatialite-X.Y.Z
$ ./configure
$ make
$ sudo make install

Примечание

Для пользователей macOS, компилирующих из исходного кода, необходимо настроить target библиотеки и инструментов SpatiaLite:

$ ./configure --target=macosx

Инструкции для macOS

Для установки библиотеки и инструментов SpatiaLite пользователи macOS могут выбрать между пакетами KyngChaos и Homebrew.

KyngChaos

Сначала следуйте инструкциям в разделе пакетов KyngChaos.

При создании базы данных SpatiaLite требуется программа spatialite. Однако вместо попытки компилировать инструменты SpatiaLite из исходного кода скачайте двоичные файлы SpatiaLite для macOS и установите spatialite в расположение, доступное в вашей PATH. Например:

$ curl -O https://www.gaia-gis.it/spatialite/spatialite-tools-osx-x86-2.3.1.tar.gz
$ tar xzf spatialite-tools-osx-x86-2.3.1.tar.gz
$ cd spatialite-tools-osx-x86-2.3.1/bin
$ sudo cp spatialite /Library/Frameworks/SQLite3.framework/Programs

Наконец, для того, чтобы GeoDjango смог найти библиотеку SpatiaLite KyngChaos, добавьте следующее в свой settings.py:

SPATIALITE_LIBRARY_PATH='/Library/Frameworks/SQLite3.framework/SQLite3'

Homebrew

Homebrew обрабатывает все пакеты, связанные с SpatiaLite, за вас, включая SQLite3, SpatiaLite, PROJ и GEOS. Установите их так:

$ brew update
$ brew install spatialite-tools
$ brew install gdal

Наконец, для того, чтобы GeoDjango смог найти библиотеку SpatiaLite, добавьте следующее в свой settings.py:

SPATIALITE_LIBRARY_PATH='/usr/local/lib/mod_spatialite.dylib'

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

Spec-Zone.ru

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