SpatiaLite のインストールLink to this heading

SpatiaLite はSQLiteに空間データのサポートを追加し、それを完全な機能を持つ空間データベースに変えます。

まず、システムパッケージやバイナリから SpatiaLiteを インストールできるかどうかを確認してください。

例えば、SpatiaLite 4.3 以上をパッケージ化している Debian ベースのディストリビューションでは、 libsqlite3-mod-spatialite パッケージをインストールしてみてください。古いリリースの場合は spatialite-bin をインストールしてください。

macOS の場合は、次の 手順 に従ってください。

Windowsの場合は、 Gaia-SINS ホームページにバイナリがあります。

いずれの場合も、常に ソースコードからのインストール が可能です。

ソースコードからのインストールLink to this heading

GEOSとPROJ は、 SpatiaLite をビルドする前にインストールする必要があります。

SQLiteLink to this heading

まず最初に、SQLite が R*Tree module でコンパイルされているかどうかを確認してください。sqlite3 コマンドラインインターフェースを起動し、以下のクエリを入力してください:

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

エラーが発生した場合は、SQLite をソースから再コンパイルする必要があります。それ以外の場合は、このセクションをスキップしてください。

ソースからインストールするには、SQLite download page から最新の amalgamation ソースアーカイブをダウンロードし、展開してください:

Shell
$ wget https://www.sqlite.org/YYYY/sqlite-amalgamation-XXX0000.zip
$ unzip sqlite-amalgamation-XXX0000.zip
$ cd sqlite-amalgamation-XXX0000

次に、 configure スクリプトを実行します。ただし、SQLite が R*Tree モジュールをビルドすることを認識できるように、CFLAGS 環境変数をカスタマイズする必要があります:

Shell
$ CFLAGS="-DSQLITE_ENABLE_RTREE=1" ./configure
$ make
$ sudo make install
$ cd ..

SpatiaLite ライブラリ (libspatialite)Link to this heading

download page から最新の SpatiaLite ライブラリのソースバンドルを入手してください。

Shell
$ 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 固有の手順Link to this heading

SpatiaLite ライブラリとツールをインストールする場合、macOS ユーザーは Homebrew を使用できます。

HomebrewLink to this heading

Homebrew は、SQLite、SpatiaLite、PROJ、GEOSを含む全ての SpatiaLite 関連パッケージをあなたに代わって処理します。以下のようにインストールしてください:

Shell
$ brew update
$ brew install spatialite-tools
$ brew install gdal

最後に、GeoDjango が SpatiaLite ライブラリを見つけられるように、そのパスを SPATIALITE_LIBRARY_PATH に設定してください。これは brew のインストールパスの中にあるはずです。下記で確認できます:

Shell
$ brew --prefix
/opt/homebrew

このbrewインストールパスを使うと、フルパスは次のようになります:

Code
SPATIALITE_LIBRARY_PATH = "/opt/homebrew/lib/mod_spatialite.dylib"