地理空間ライブラリのインストール—Djangoドキュメント

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

地理空間ライブラリのインストール

GeoDjangoは、次のオープンソース地理空間ライブラリのインターフェイスを使用および/または提供します。

プログラム 説明 必須 サポートされているバージョン
GEOS ジオメトリエンジンオープンソース はい 3.9, 3.8, 3.7, 3.6, 3.5
PROJ 地図投影投影ライブラリ はい(PostgreSQLとSQLiteのみ) 7.x. 6.x、5.x、4.x
GDAL 地理空間データ抽象化ライブラリ はい 3.2, 3.1, 3.0, 2.4, 2.3, 2.2, 2.1, 2.0
GeoIP IPベースのジオロケーションライブラリ 番号 2
PostGIS PostgreSQLの空間拡張 はい(PostgreSQLのみ) 3.0, 2.5, 2.4, 2.3
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

ノート

macOSユーザーは、ソースからソフトウェアをコンパイルするために Xcode をインストールする必要があります。


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

PROJ は、地理空間データをさまざまな座標参照系に変換するためのライブラリです。

まず、PROJソースコードをダウンロードします。

$ wget https://download.osgeo.org/proj/proj-X.Y.Z.tar.gz

…およびデータムシフトファイル(ダウンロードproj-datumgrid-X.Y.tar.gz PROJ <7.xの場合) 1

$ wget https://download.osgeo.org/proj/proj-data-X.Y.tar.gz

次に、ソースコードアーカイブを解凍し、データムシフトファイルを抽出します。data サブディレクトリ(使用nad PROJ <6.xのサブディレクトリ)。 これは、構成のに実行する必要があります。

$ tar xzf proj-X.Y.Z.tar.gz
$ cd proj-X.Y.Z/data
$ tar xzf ../../proj-data-X.Y.tar.gz
$ cd ..

最後に、PROJを構成、作成、およびインストールします。

$ ./configure
$ make
$ sudo make install
$ cd ..

GDAL

GDAL は、ほとんどのベクターおよびラスター空間データ形式の読み取りをサポートする優れたオープンソースの地理空間ライブラリです。 現在、GeoDjangoは GDALのベクターデータ機能 2 のみをサポートしています。 GEOS および PROJ は、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ライブラリが見つかりません

GeoDjangoがGDALライブラリを見つけられない場合は、ライブラリ環境設定 またはを構成して GDAL_LIBRARY_PATH を設定します。


GDAL_LIBRARY_PATH

GDALライブラリが非標準の場所にある場合、またはシステムのライブラリパスを変更したくない場合は、:setting: `GDAL_LIBRARY_PATH` 設定を完全な状態でDjango設定ファイルに追加できます。 GDALライブラリへのパス。 例えば:

GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'

脚注

1
データを特定の投影との間で変換するには、データムシフトファイルが必要です。 たとえば、 Googleプロジェクション(900913または3857)のPROJ文字列には、追加のデータムシフトファイルにのみ含まれるnullグリッドファイルが必要です。 今すぐシフトファイルをインストールしてから、後でファイルがないために発生した問題をデバッグする方が簡単です。
2
具体的には、GeoDjangoは、GDALのコンポーネントである OGR ライブラリのサポートを提供します。