Установка SpatiaLite

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

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

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

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

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

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

Установка из источника

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

SQLite

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

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

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

Для установки из исходных текстов загрузите последний архив с исходными текстами amalgamation с сайта SQLite download page и распакуйте его:

$ 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 с сайта download page:

$ 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, собирающих из исходных текстов, библиотека SpatiaLite и инструменты должны быть настроены target:

$ ./configure --target=macosx

инструкции, специфичные для macOS

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

Homebrew

Homebrew от вашего имени обрабатывает все пакеты, связанные с SpatiaLite, включая SQLite, 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"
Вернуться на верх