SpatiaLiteのインストール—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/contrib/gis/install/spatialite
移動先:案内検索

SpatiaLiteのインストール

SpatiaLite は、SQLiteに空間サポートを追加し、フル機能の空間データベースに変えます。

まず、システムパッケージまたはバイナリからSpatiaLiteをインストールできるかどうかを確認します。

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

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

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

いずれの場合も、いつでもソースからインストールできるはずです。

ソースからインストール

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

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'