Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何在多边形内找到点?_Hibernate_Hibernate Search_Hibernate Spatial - Fatal编程技术网

Hibernate 如何在多边形内找到点?

Hibernate 如何在多边形内找到点?,hibernate,hibernate-search,hibernate-spatial,Hibernate,Hibernate Search,Hibernate Spatial,我最近与hibernate spatial合作,我有这样一个问题。我想得到多边形内的所有点。我该怎么做 例如,我的距离查询如下所示: final Coordinates coordinates = Point.fromDegrees(searchDistanceParameters.getLatitude(), searchDistanceParameters.getLongitude()); final Query fromCoordinates = SpatialQueryB

我最近与hibernate spatial合作,我有这样一个问题。我想得到多边形内的所有点。我该怎么做

例如,我的距离查询如下所示:

    final Coordinates coordinates = Point.fromDegrees(searchDistanceParameters.getLatitude(), searchDistanceParameters.getLongitude());
    final Query fromCoordinates = SpatialQueryBuilderFromCoordinates.buildDistanceQuery(coordinates, searchDistanceParameters.getDistance(), "location");
    final FullTextSession fullTextSession = Search.getFullTextSession(session);
    final FullTextQuery textQuery = fullTextSession.createFullTextQuery(fromCoordinates, GeoPointModel.class);
我创建一个多边形,如下所示:

        GeometryFactory geometryFactory = new GeometryFactory();
        Polygon polygon = geometryFactory.createPolygon(coordinates);

但是我可以使用什么来获取多边形内的点呢?

Hibernate Search 5的空间支持仅包括距离查询。不支持多边形内的匹配点

HibernateSearch6确实提供了API,但HibernateSearch6中的API与Search5中的API不同。 如果您不介意,可以使用最新的测试版:。您可能希望先看一看,以便在迁移之前了解新的API

如果您需要继续使用Hibernate Search 5,则必须使用
lucene spatial
:按照
lucene spatial
的预期实现索引点的桥接,并直接使用lucene spatial API生成lucene spatial查询