Установка SpatiaLite
SpatiaLite добавляет пространственную поддержку в SQLite, превращая его в полнофункциональную пространственную базу данных.
Сначала проверьте, можно ли установить SpatiaLite из системных пакетов или библиотек.
Например, в дистрибутивах на основе Debian, где доступен SpatiaLite 4.2+, попробуйте установить пакет libsqlite3-mod-spatialite. Для более старых релизов установите spatialite-bin.
Для macOS следуйте инструкциям ниже.
Для Windows вы можете найти бинарные файлы на странице Gaia-SINS.
В любом случае, вы всегда сможете установить из исходного кода.
Установка из исходного кода
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.kyngchaos.com/files/software/frameworks/Spatialite_Tools-4.3.zip $ unzip Spatialite_Tools-4.3.zip $ cd Spatialite\ Tools/tools $ sudo cp spatialite /Library/Frameworks/SQLite3.framework/Programs
Наконец, для того, чтобы GeoDjango смог найти библиотеку SpatiaLite KyngChaos, добавьте следующее в вашу settings.py:
SPATIALITE_LIBRARY_PATH='/Library/Frameworks/SQLite3.framework/SQLite3'
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'
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/3.0/ref/contrib/gis/install/spatialite/