他のフレームワークの使用にどの程度関心があるか、またはすでに解決済みかどうかはわかりませんが、Geodjangoプロジェクトは、PostGISバインディングがインストールされたpostgresを含む、さまざまなGIS対応データベースのために、GISデータモデルに本当にすばらしいORM機能を追加します。
Geodjangoリンクはこちらです:http ://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#overview
DjangoはPythonのWebフレームワークであり、geodjangoはバックエンドWeb開発用のGISデータを編集および表示するようになりましたが、直接OGR Pythonバインディングよりもはるかに直感的で強力なクラスセットを提供します(より多くの 'pythonic'よりも直接「C構文から変換」。たとえば、コンストラクターでwkbLineString定数を使用してogr.Geometryクラスを作成するのではなく、django.contrib.gis.geos.linestring.LineStringクラスを直接作成できます)。
次の場所にあるgeodjangoチュートリアル:http ://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/
Postgresデータベースからの読み取り/書き込みを構成するために必要な手順は、他のdjango pythonモデルを使用するのと同じくらい簡単で、頭痛の種は地理空間データベースのセットアップです。したがって、データをpostgresデータベースにロードするには、上のチュートリアルのアンカー#layermappingリンクを参照してください。これは、シェープファイルで使用可能なデータと、データモデル用に設定されたデータベース列との間のフィールドマッピングです。
少なくとも、チュートリアルを実行してPostGISバインディングをセットアップし、このGISツールが探しているものかどうかを確認するには、2〜3時間かかります。
また、GIS対応データベース(たとえば、pgsqlのPostGISバインディング)がある場合、データベースに格納された関数を使用して、データベースジオメトリ(ライン/ポリゴン)データを直接「内に」「含む」ことができます(例ST_Contains(...)
:サンプルSQLを参照)ここでpostgis / pgsqlの場合:http : //postgis.refractions.net/docs/ch04.html#id2639062 ...そしてGeodjangoの最も優れた点は、これらの空間ルックアップを実行するように最適化されていることです!。