問題タブ [geodjango]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django:GeoDjangoは私のWebサイトに適していますか?
私はDjangoに不動産サイトを構築していて、住所を含むさまざまな情報を格納するHomeモデルを持っています。データベースバックエンドはMySQLを使用しています。
検索のようなYelpを作成したい。
ユーザーが郵便番号または都市名を入力して、その地域のホーム結果を取得できる検索。
ユーザーは、ポイントから半径(5 mi、10 mi ...)を選択して、より多くの/より少ない結果を取得することもできます。
検索結果はグーグルマップに表示され、ユーザーはズームイン/ズームアウトしてマップ内の新しい検索結果を取得できます。
Geo Djangoはここにぴったりですか?上記の問題を解決するためのドキュメントがあまり見つからないため、GeoDjangoを使用している人はそれほど多くないと思います。
公式ドキュメントを数時間見た後 、私の問題に関連する例を実際に見つけることができず、MySQLを使用して既存のWebサイトとどれだけうまく統合できるかわかりません。たぶん、私の単純な場所の使用には洗練されすぎていますか?
Geo Djangoが適しているかどうか、本当に興味があります。そうであれば、もっと積極的かつ深く調べていきます。そうでない場合は、自分で作成してみます。
GeoDjangoまたはシステムの構築方法に関するガイダンスやヒントは非常に役立ち、非常に高く評価されます。
database - GeoDjango を既存の Django プロジェクトに統合する
複数のアプリを含む Django プロジェクトがあります。それらはすべて とデータベースを共有しengine = django.db.backends.postgresql_psycopg2
ます。現在、いくつかの機能が必要でGeoDjango
あり、既存のプロジェクトに統合することにしました。チュートリアルを読んだところ、GeoDjango 用に別の空間データベースを作成する必要があるようです。とにかく周りにいるのだろうか。データベース設定を変更せずに、これをアプリのmodels.pyの1つに追加しようとしました:
しかし、syncdb を実行すると、このエラーが発生しました。
python - ジオ ジャンゴ Mac OS X
Mac OS で Geodjango を使用しようとしています。postgresql を使用し、GEOS をインストールしましたが、次のエラーが発生しました。
何か案が?
ありがとうございました
geometry - ジオメトリをジオメトリ フォーム フィールドの SRID に変換するときにエラーが発生しました
私はgeodjango、postgisに取り組んでおり、開いているストリートマップでOSMGeoAdminから場所を保存しているときに問題が見つかりました。マップはそれに応じて表示されますが、場所を保存したい場合、「ジオメトリをSRIDに変換するときにエラーが発生しました」という赤いエラーが表示されますジオメトリフォームフィールドの「....助けてください。
前もって感謝します
django - GeoDjango: GEOS の Geometry 操作をスピードアップ
GeoDjango + PostGIS を使用して空間ランキング アプリケーションを開発しています。基本的には、クエリのバウンディング ボックス内のすべてのジオメトリを取得し、作成したカスタム関数を使用して類似度スコアを計算し、スコアが最も高い形状を返します。
現在、各クエリの往復時間は非常に遅いです。プロファイラーを実行すると、類似度関数内の操作 (つまり、交差、結合、含むなど)threadsafe.py
によって呼び出されるボトルネックが示されます。単一のクエリからのプロファイラーの結果GEOSGeometry
の例を次に示します。のスレッドセーフな性質が、ここでパフォーマンスの問題を引き起こしているようです。個々に、40 ミリ秒かかる操作は大したことではないように見えますが、クエリと比較する形状の数は通常、1000 までの形状など、非常に多いため、40 ミリ秒の操作は合計で 40 秒になります。GEOSGeometry
したがって、私の質問は、ターンアラウンド タイムを最小限に抑えるために機能を最適化するにはどうすればよいかということです。私の最初のアイデアのいくつかは次のとおりです。
GEOSGeometry
これらのオブジェクトは一時的なものであり、他のスレッドと共有されないため、 の adsafety チェックをオフにするか、回避してください。可能であれば、これは理想的なケースです。現在費やされている時間の大部分はthreadsafe.py
- トレッドセーフではない別のジオメトリ API を使用してください。
オブジェクト レベルではなく、PostGIS レベルで空間操作を実行します。ただし、これによりコードが見苦しくなります。(更新:このオプションは機能しません。SQL クエリのオーバーヘッドだけで操作がさらに遅くなります。)
どう思いますか?
python - GeoDjango で座標系を変換する
django.contrib.gis
データベースに座標情報を追加して、アプリにサポートを追加しようとしています。データベースからアドレスを取得し、Google に座標を要求するsouth
データ移行を作成しています (これまでのところ、これを使用するのが最善の策だと思いますgeopy
)。
次に、返された座標をWGS84:4326
、Google の座標系からWGS84:22186
自分の座標系に変換する必要があります。
これを行う方法を見つけようとしているGeoDjangoドキュメントの中で迷っています。これまでのところ、私はこれを行う必要があると収集しています:
しかし、そのオブジェクトの使用方法がわかりませんCoordTransform
..GDALのデータオブジェクトで使用されているようですが、それは私がやりたいことにはやり過ぎです..
django - GeoDjango で distance() を使用した場合のデータベース エラー
次の (単純化された) モデルが与えられた場合:
その場所の緯度/経度を に移動する必要があることを一瞬忘れて、PointField()
すべてをPlaces
調べて最も近い都市を見つけようとしています。現在、私はやっています:
これにより、次のエラーが発生します。
SRID がデフォルトで 4326 に設定されていないと仮定してsrid=4326
、上記のコードに含め、すべての都市City.center
の SRID が 4326であることを確認しました。
これを引き起こしている可能性のあるアイデアはありますか?
アップデート:
SQL クエリの作成方法に問題があるようです。エラーがスローされた後、SQL を見ると次のように表示されます。
django がpoint
引数distance()
を Extended Well-Known Binary に変換しているようです。 その後、すべてに変更ST_GeomFromEWKB
すると正常にST_GeomFromText
動作します。 例:
GeoQuerySet.distance()
がどのように SQL に変換されるかについて説明しているドキュメントは見つかりません。確かにクエリで生の SQL を使用して動作させることができますが、Django フレームワークですべてを適切に保持することを好みます。
django - GeoDjango でネストされたクエリからのエラー
GeoDjango でin
フィールド ルックアップを使用してネストされたクエリを作成するのに問題があります。次のコードは、問題を示しています。
上記のコードでは、次の例外が発生します。
(ここに完全なスタック トレースがあります)
内部クエリに空間フィルターが含まれている場合は常にエラーが発生するようです。ただし、次のネストされたクエリは正常に機能します。
問題の原因は何ですか?
python - 不正確な結果を返す GeoDjango 距離クエリ
開発マシンで GeoDjango を起動して実行しました。問題は、距離クエリが正しく機能しないことです。どの SRID を使用しても、距離の結果は完全にずれています。これが例です。
問題は、これらの場所が から 1 メートル以上離れていることですpoint
。
私はそれで遊んでみましたが、あまり運がありませんでした。別の SRID の例を次に示します。
間違った SRID を選択しているだけのような気がしますが、オンラインで実行した SRID で機能したものは 1 つもありませんでした。
どんな助けでも大歓迎です!
python - Mysql座標/ポリゴン精度を備えたGeodjango
MySQL で動作する geodjango データベースを作成しました。
私の問題は、PolygonField を使用して新しいレコードを追加し、ポイントがこのポリゴン内にあるかどうかを確認すると、間違った結果が得られることです (より多くのポイントが必要です)。[Location.objects.filter(shape__contains='POINT(-0.058188 51.504289)')]
ポリゴン形状内のポイントを確認するために使用します。
私のモデルは次のとおりです。
使用したデータベースに形状を追加するには:
この画像を参照してくださいhttp://i.stack.imgur.com/qRSnX.png geodjango admin のマップでも、このポリゴンの境界が正しい位置にないことがわかります。
このような単純な python スクリプトを使用して、結果を geodjango と比較していました: http://geospatialpython.com/2011/01/point-in-polygon.html
ご協力ありがとうございました