Установка 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'

Copyright ©2020 All rights reserved