Установка SpatiaLite ¶
SpatiaLite добавляет пространственную поддержку SQLite, что делает его полностью функциональной пространственной базой данных.
Сначала проверьте, можете ли вы установить SpatiaLite из системных пакетов или из двоичных файлов.
Например, в дистрибутивах на основе Debian, содержащих пакеты SpatiaLite 4.2+, попробуйте установить пакет libsqlite3-mod-spatialite
. Для более старых дистрибутивов установите spatialite-bin
.
Для macOS следуйте инструкциям ниже .
Для Windows вы можете найти двоичные файлы на домашней странице Gaia-SINS .
В любом случае, установка из исходного кода все равно будет возможна .
Установка из исходников ¶
Перед компиляцией SpatiaLite необходимо установить GEOS и PROJ.4 .
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 Packages .
KyngChaos ¶
Сначала следуйте инструкциям в разделе Пакеты KyngChaos .
При создании базы данных Spatialite spatialite
требуется программа . Однако вместо того, чтобы пытаться скомпилировать инструменты SpatiaLite из источника, загрузите пакет SpatiaLite Tools для 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 позаботится об установке всех пакетов, связанных со 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'