空间类型
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)