0

私のアプリでは、他のポイントに最も近いポイントを特定する必要があり、シンプルですが比較的高速な(パフォーマンスの点で)ソリューションを探しています。私はPostGISとGeoDjangoの使用を考えていましたが、私のアプリは実際にはそれほど「地理的」ではないと思います(それが何を意味するのかはまだわかりません)。地理的な部分(全体の約5%)は、オブジェクト(人と場所)の座標を保持する必要があるということです。次に、最も近いポイントを見つけるためにこのタスクがあります。簡単に言えば、PostGISとGeoDjangoはここではやり過ぎのようです。

また、SOLRまたはElasticsearchを使用したdjango-haystackについても考えていました。これは、強力で強力なテキスト検索機能が必要であり、これらのエンジンにもこれらの「地理的」機能があるためです。しかし、コアデータベース<->検索エンジンデータベースの同期とこれらのエンジンのハードウェア要件が怖いので、それについてもよくわかりません。現時点では、posgreSQLトリグラムと「ニアポイントの問題を見つける」ためのカスタム方法を使用することに似ています。良いものはありますか?

4

3 に答える 3

2

互いに近い点または境界ボックスを見つけるには、Rtree Python パッケージの使用を検討してください。これは PostGIS と同様の空間インデックス手法を使用しますが、データベース ソフトウェアではなく、ソフトウェアで使用できる点が異なります。何百万ものオブジェクトの近くのポイントを見つけるために、PostGIS よりも速い速度をテストしました。

チュートリアルの例を参照して、最も近いオブジェクトを見つけてください。

于 2013-03-24T07:38:38.127 に答える
0

あなたはおそらく正しいです、PostGIS / GeoDjangoはおそらくやり過ぎですが、あなた自身のDjangoアプリを作ることはあなたの単純な仕事にとってそれほど問題ではないでしょう。Djangoはテンプレート作成などの点で多くの機能を提供し、組み込みの管理機能を使用すると、単一のレコードを非常に簡単に入力できます。また、GeoDjangoはcontribの一部であるため、プロジェクトで必要になった場合はいつでも後で使用できます。

于 2013-03-24T00:15:52.747 に答える
0

スッキリチェック。オブジェクトのproject()メソッドが探しているものである可能性があります。

于 2013-03-24T00:25:07.537 に答える