空间类型
Spring Data Neo4j 支持以下空间类型
支持的转换
-
Spring Data 通用的
Point(必须是数据库中的 WGS 84-2D/SRID 4326 点) -
GeographicPoint2d(WGS84 2D/SRID 4326) -
GeographicPoint3d(WGS84 3D/SRID 4979) -
CartesianPoint2d(笛卡尔 2D/SRID 7203) -
CartesianPoint3d(笛卡尔 3D/SRID 9157)
派生查找器关键字
如果你使用的是原生的 Neo4j Java 驱动 org.neo4j.driver.types.Point 类型,你可以在派生的查找器方法中使用以下关键字和参数类型。
在某个区域内查询:
-
findBy[…]Within(org.springframework.data.geo.Circle circle)
在给定的圆形区域内查找。 -
findBy[…]Within(org.springframework.data.geo.Box box)
在给定的矩形区域内查找。 -
findBy[…]Within(org.springframework.data.neo4j.repository.query.BoundingBox boundingBox)
在给定的边界框区域内查找。
你也可以使用 org.springframework.data.geo.Polygon,但需要通过调用 BoundingBox#of 将其传递到 BoundingBox 中。
查询某点附近:
-
findBy[…]Near(org.neo4j.driver.types.Point point)- 返回按与给定点的距离升序排序的结果 -
findBy[…]Near(Point point, org.springframework.data.geo.Distance max) -
findBy[…]Near(Point point, org.springframework.data.domain.Range<Distance> between) -
findBy[…]Near(Range<Distance> between, Point p)