私はPostGISでGeoDjangoを使用しており、ポリゴンを使用してデータベースからレコードを取得しようとしています。
地球の面積の半分よりも大きいポリゴンを定義すると、ポリゴンの「内側」が「外側」として意図したより小さい領域であると想定され、その外側にある結果のみが返されます。
この小さく間違った領域を使用して、結果を除外することができます。Polygon.area は私の意図を知っているように見えるので、これを使用して検索をいつ包括的または排他的にするかを判断できます。この問題はおそらく一般的だと思いますが、それを解決するより良い方法はありますか?
更新: 180 度の経度がポリゴン内にある場合、これはまったく機能しません。今回は GEOS のせいのようです。この画像は、私が信じている理由を示しています。緑は私が定義した多角形で、赤はそれをどのように解釈しているように見えるかです。繰り返しになりますが、これは頻繁に発生する問題のようであり、GEOS のようなライブラリが対処するように作られています。方法はありますか?