GeoDjangoの使用


9

地図上に地理データを表示するWebサイトを作成しています(現在はGoogle Maps js APIを使用しています)。現在、postgres + postGIS + phpを使用しています。GeoDjangoの使用方法を調べることをお勧めします。PostGISですでに利用可能なもの(つまり、ポイント、ラインストリング、ポリゴン、距離計算、面積計算、「内部」ロジックなど)よりもGeoDjangoが提供する追加の地理機能を特定するのに問題があります。

GeoDjangoは追加機能を提供しますか、それとも既存の地理機能の使用を簡素化することを意図していますか?

ありがとう!

回答:


11

GeoDjangoには、付加価値のあるすぐに使える機能も多数用意されています。

  • Geospatially enabled admin site:これは、Djangoの私のお気に入り機能の1つです。Djangoはかなり見栄えの良い管理ページを自動的に作成します。GeoDjangoはこれをさらに一歩進め、Openlayersマップを使用して地理空間データを簡単に表示および編集する方法を提供します。
  • GeoRSS / GeoAtomフィード:GeoRSS / GeoAtomフィードの作成は比較的簡単です。
  • KML / GML / GeoJSONのサポート:GeoDjangoは、KML、GML、およびGeoJSONシリアル化をサポートしています。免責事項ですが、DjangoでいくつかのREST-APIを実行したところ、GeoDjangoの組み込み機能を使用していないことがわかりました。
  • サードパーティライブラリ:OLWidgetsは、インタラクティブマップの作成を容易にするGeoDjangoのサードパーティライブラリの例です。また、さまざまなPythonライブラリにアクセスできます。例として、全文検索機能を提供するHaystackというプロジェクトがあります。SolrやElasticsearchなどの外部検索インデックスを使用している場合は、Djangoを使用して地理空間対応の全文検索を実行できます。個人的には、Elasticsearchは空間検索用のPostGISの優れた代替品です。Postgisのすべての機能を備えているわけではありませんが、ほとんどのユースケースに適しています。
  • 異なるデータベース間を移動することが本当に簡単になります。私は個人的にGeoDjangoをSpatialiteおよびPostgisと一緒に使用しました。

私の全体的な評価では、DjangoとPythonはWeb開発にはるかに優れています。私たちには個人的な偏見がありますが、Pythonには地理空間ライブラリと数値ライブラリの膨大なコレクションがあります。これは、複雑な地理空間アルゴリズムを実装する必要がある場合に適しています。


3

はい。そうです。基本的な機能を備えた既存の地理機能の使用を簡素化することを目的としています。次の画像に示すように、いくつかのデータベースで多くの地理的機能を提供します。

空間的な

これに加えて、1つの段落関数でより満足できる結果を得るのは難しくありません。このコードは、半径5 kmのオブジェクトを提供します。

qs = Events.objects.filter(point__distance_lte(pnt, D(km=5)))

geodjangoに関する詳細情報が必要な場合は、同じトピックに関する私の答えをここで確認できます。

お役に立てば幸いです...


あなたが必要とするIの事=サイン:qs = Events.objects.filter(point__distance_lte=(pnt, D(km=5)))
フランシスYaconiello
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.