SpatiaLiteのインストール—Djangoドキュメント
SpatiaLiteのインストール
SpatiaLite は、SQLiteに空間サポートを追加し、フル機能の空間データベースに変えます。
まず、システムパッケージまたはバイナリからSpatiaLiteをインストールできるかどうかを確認します。
たとえば、SpatiaLite 4.2以降をパッケージ化するDebianベースのディストリビューションでは、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
スクリプトを実行します。ただし、SQLiteがR * Treeモジュールをビルドすることを認識できるように、CFLAGS
環境変数をカスタマイズする必要があります。
$ 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ユーザーの場合、SpatiaLiteライブラリおよびツールでtarget
を構成する必要があります。
$ ./configure --target=macosx
macOS固有の手順
SpatiaLiteライブラリとツールをインストールするには、macOSユーザーは KyngChaosパッケージと Homebrew のどちらかを選択できます。
KyngChaos
まず、 KyngChaosパッケージセクションの指示に従います。
SpatiaLiteデータベースを作成するときは、spatialite
プログラムが必要です。 ただし、ソースからSpatiaLiteツールをコンパイルする代わりに、macOS用の SpatiaLite Tools パッケージをダウンロードし、PATH
で利用可能な場所にspatialite
をインストールします。 例えば:
$ 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 は、SQLite、SpatiaLite、PROJ、GEOSなど、SpatiaLiteに関連するすべてのパッケージをユーザーに代わって処理します。 次のようにインストールします。
$ brew update
$ brew install spatialite-tools
$ brew install gdal
最後に、GeoDjangoがSpatiaLiteライブラリを見つけられるようにするには、settings.py
に以下を追加します。
SPATIALITE_LIBRARY_PATH='/usr/local/lib/mod_spatialite.dylib'