地理空間ライブラリのインストール—Djangoドキュメント
地理空間ライブラリのインストール
GeoDjangoは、次のオープンソース地理空間ライブラリのインターフェイスを使用および/または提供します。
プログラム | 説明 | 必須 | サポートされているバージョン |
---|---|---|---|
GEOS | ジオメトリエンジンオープンソース | はい | 3.7, 3.6, 3.5 |
PROJ.4 | 地図投影投影ライブラリ | はい(PostgreSQLとSQLiteのみ) | 5.2、5.1、5.0、4.x |
GDAL | 地理空間データ抽象化ライブラリ | はい | 2.4, 2.3, 2.2, 2.1, 2.0 |
GeoIP | IPベースのジオロケーションライブラリ | 番号 | 2 |
PostGIS | PostgreSQLの空間拡張 | はい(PostgreSQLのみ) | 2.5, 2.4, 2.3, 2.2 |
SpatiaLite | SQLiteの空間拡張 | はい(SQLiteのみ) | 4.3 |
これらのライブラリの古いバージョンまたは最近のバージョン may も、GeoDjangoで完全に正常に機能することに注意してください。 あなたのマイレージは異なる場合があります。
ノート
GEOS、GDAL、GeoIPへのGeoDjangoインターフェースは、Djangoとは独立して使用できます。 つまり、データベースや設定ファイルは必要ありません。通常どおり django.contrib.gis からインポートしてください。
Debian / Ubuntuでは、必要な地理空間ライブラリを直接または依存関係でインストールする次のパッケージをインストールすることをお勧めします。
$ sudo apt-get install binutils libproj-dev gdal-bin
macOS または Windows を使用している場合は、プラットフォーム固有の手順も参照してください。
ソースからの構築
UNIXおよびGNU / Linuxシステムにソースからインストールする場合は、インストール手順に注意深く従って、指定された順序でライブラリをインストールしてください。 MySQLまたはOracleを空間データベースとして使用する場合、GEOSのみが必要です。
ノート
Linuxプラットフォームでは、各ライブラリをインストールした後にldconfig
コマンドを実行する必要がある場合があります。 例えば:
$ sudo make install
$ sudo ldconfig
GEOS
GEOSは、ジオメトリ操作を実行するためのC ++ライブラリであり、GeoDjangoによって使用されるデフォルトの内部ジオメトリ表現です(「レイジー」ジオメトリの背後にあります)。 具体的には、C APIライブラリはctypesを使用してPythonから直接呼び出されます(libgeos_c.so
など)。
まず、GEOS WebサイトからGEOSをダウンロードし、ソースアーカイブを解凍します。
$ wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
$ tar xjf geos-X.Y.Z.tar.bz2
次に、GEOSが解凍されたディレクトリに移動し、configureスクリプトを実行して、コンパイルし、インストールします。
$ cd geos-X.Y.Z
$ ./configure
$ make
$ sudo make install
$ cd ..
トラブルシューティング
GEOSライブラリが見つかりません
GeoDjangoがGEOSを見つけられない場合、次のエラーが発生します。
ImportError: Could not find the GEOS library (tried "geos_c"). Try setting GEOS_LIBRARY_PATH in your settings.
最も一般的な解決策は、ライブラリ環境設定 またはセット GEOS_LIBRARY_PATH を適切に構成することです。
GEOSのバイナリパッケージを使用している場合(Ubuntuなど)、 binutils をインストールする必要がある場合があります。
GEOS_LIBRARY_PATH
GEOSライブラリが非標準の場所にある場合、またはシステムのライブラリパスを変更したくない場合は、:setting: `GEOS_LIBRARY_PATH` 設定を完全な状態でDjango設定ファイルに追加できます。 GEOSCライブラリへのパス。 例えば:
GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'
ノート
設定は、 C 共有ライブラリへのフルパスである必要があります。 つまり、libgeos.so
ではなく、libgeos_c.so
を使用します。
ログがGEOS関連のエラーでいっぱいになっているも参照してください。
PROJ.4
PROJ.4 は、地理空間データをさまざまな座標参照系に変換するためのライブラリです。
まず、PROJ.4ソースコードとデータムシフトファイル 1 をダウンロードします。
$ wget https://download.osgeo.org/proj/proj-X.Y.Z.tar.gz
$ wget https://download.osgeo.org/proj/proj-datumgrid-X.Y.tar.gz
次に、ソースコードアーカイブを解凍し、nad
サブディレクトリにあるデータムシフトファイルを抽出します。 これは、構成の前に実行する必要があります。
$ tar xzf proj-X.Y.Z.tar.gz
$ cd proj-X.Y.Z/nad
$ tar xzf ../../proj-datumgrid-X.Y.tar.gz
$ cd ..
最後に、PROJ.4を構成、作成、およびインストールします。
$ ./configure
$ make
$ sudo make install
$ cd ..
GDAL
GDAL は、ほとんどのベクターおよびラスター空間データ形式の読み取りをサポートする優れたオープンソースの地理空間ライブラリです。 現在、GeoDjangoは GDALのベクターデータ機能 2 のみをサポートしています。 GEOS および PROJ.4 は、GDALをビルドする前にインストールする必要があります。
まず、最新のGDALリリースバージョンをダウンロードし、アーカイブを解凍します。
$ wget https://download.osgeo.org/gdal/X.Y.Z/gdal-X.Y.Z.tar.gz
$ tar xzf gdal-X.Y.Z.tar.gz
$ cd gdal-X.Y.Z
構成、作成、およびインストール:
$ ./configure
$ make # Go get some coffee, this takes a while.
$ sudo make install
$ cd ..
ノート
GeoDjangoには独自のPythonインターフェースがあるため、前述の手順ではGDAL独自のPythonバインディングを構築しません。 バインディングは、configure
の実行時に--with-python
フラグを追加することで構築できます。 GDALのバインディングの詳細については、 GDAL / OGR In Python を参照してください。
問題がある場合は、以下のトラブルシューティングのセクションで提案と解決策を確認してください。
トラブルシューティング
GDAL_LIBRARY_PATH
GDALライブラリが非標準の場所にある場合、またはシステムのライブラリパスを変更したくない場合は、:setting: `GDAL_LIBRARY_PATH` 設定を完全な状態でDjango設定ファイルに追加できます。 GDALライブラリへのパス。 例えば:
GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'
脚注
- 1
- データを特定の投影との間で変換するには、データムシフトファイルが必要です。 たとえば、 Googleプロジェクション(900913または3857)のPROJ.4文字列には、追加のデータムシフトファイルにのみ含まれる
null
グリッドファイルが必要です。 今すぐシフトファイルをインストールしてから、後でファイルがないために発生した問題をデバッグする方が簡単です。 - 2
- 具体的には、GeoDjangoは、GDALのコンポーネントである OGR ライブラリのサポートを提供します。