WKT ジオメトリが別のジオメトリと交差しているかどうかを (Cypher 経由で) チェックすることはできますか?
たとえば、それらに対して空間検索を行って、特定の境界ボックスと交差するものを返すにはどうすればよいでしょうか?
たとえば、空間的にインデックス付けされたノードがある場合:
@NodeEntity
class Route {
@GraphId Long id;
@Indexed(indexType = IndexType.POINT, indexName = "routeSpatial") String wkt
}
およびそのような 2 つのインスタンス:
{ wkt: "LINESTRING (12 10, 14 12, 17 12, 18 10) }
と
{ wkt: LINESTRING (18 15, 18 12, 14 9, 14 6, 17 3, 20 3) }
次のように表示されます。
@Query("START n=node:routeSpatial('bbox:[15.000000, 20.000000, 9.000000, 16.000000]') RETURN n")
両方の行と交差しているにもかかわらず、何も返しません。
両方のジオメトリを完全に囲むバウンディング ボックスに対して、
@Query("START n=node:routeSpatial('bbox:[7.000000, 24.000000, 2.000000, 17.000000]') RETURN n")
両方を返します。
誰か助けてくれませんか?