空間演算子(等しい、互いに素、接触、範囲内、重複、交差、交差、包含、関連)を定義していますか?
承知しなければなりません。以下の空間演算子リストのセマンティクスについてはあまり深く掘り下げていません。私はユーザーの方です。ほとんどの場合、SQLを駆動するソフトウェアを作成していて、あまり考えていません。それについては多すぎる。 ただし、優れたインデックスがあり、これまで問題を引き起こしたことのないテーブルで、実行している空間操作が非常に遅くなる状況があります。 その結果、私は次のどれが使用するのが最善の策であるかを見つけようとしています。これにより、最高のパフォーマンスが得られます。ただし、必要なことがわかっていても、検索が何も返さない場合があります彼らがすべきでないときにものを返します。 だから私は誰かが私に実際の定義を与えることができるかどうか尋ねるように頼んでいます、例えば、以下の各操作の完全に囲むジオメトリ内、または外輪内など、一致する基準など: Equals(Geom1, Geom2):int Disjoint(Geom1, Geom2):int Touches(Geom1, Geom2):int Within(Geom1, Geom2):int Overlaps(Geom1, Geom2):int Crosses(Geom1, Geom2):int Intersects(Geom1, Geom2):int Contains(Geom1, Geom2):int Relate(Geom1, Geom2):int それらが一致する場合と一致しない場合の具体的な例を示すことができれば、それは素晴らしいことです。 参考までに、長方形ポリゴンを使用し、回転方向を指すように回転させた折れ線のテーブルを検索しています(これは、交通管理アプリの一部です)。 参考までに、検索を実行するためにアプリが生成するSQLのサンプルを以下に示します。 SELECT recordID,AsBinary(geometry) AS geometry,Distance(GeomFromText('POINT(-1.84101 54.85078)',4326), geometry) AS distanceFromGps FROM linegrid WHERE Intersects(GeomFromText('POLYGON ((-1.8413149820810311 54.850782468607292, -1.8409507853094111 54.850952257034713, -1.8408279009723911 54.850864894077496, -1.8411920982612455 54.850695105650068, -1.8413149820810311 54.850782468607292))'), geometry) この例では、前述のように他のものを試す交差を使用しているので、期待した結果が得られないので、なぜ質問をしているのかがわかります。 現時点では、これを実際に高速化する方法や他の方法について特に気にする必要はありませんが、より良い方法を見つけたら、遠慮なく叫んでください:-) …