Установка 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 могут выбрать между Пакеты KyngChaos и Homebrew.
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 смог найти библиотеку KyngChaos SpatiaLite, добавьте следующее к вашему 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'