问题标签 [hibernate-spatial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
672 浏览

hibernate - 使用 Hibernate 和 PostGIS 在同一查询中获取距离和域属性

我正在使用 Hibernate、Postgre、PostGIS 和 Grails。

要搜索给定半径内的所有用户,我正在使用 HibernnateSpetial 并且一切正常。

现在,我还希望在相同标准执行中所有用户与给定点的距离。

它返回存储在数据库中的几何(点)与 SQL 中提供的点之间的距离,但忽略了用户域的属性。我得到了这样的东西 - [0.0, 0.20430178027717, 0.0] 在标准执行后。

我想知道我是否可以从给定的纬度/经度获得每个用户的所有用户 + 距离。我可以使用 Groovy/Java 代码来计算结果的距离,但我需要标准执行的排序结果,以便我也可以应用分页。

0 投票
1 回答
2530 浏览

mysql - 如何从 HibernateSpatial API 中的多边形对象数据类型更改几何对象数据类型?

尝试使用 HibernateSpatial API 将多边形形状存储在数据库中。我已按照本教程存储值。我使用 Mysql 作为我的数据库服务器。所以对我的场景做了一些改变。获取以下错误以将其存储在数据库中。

: :错误: :

错误 [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-/192.168.5.244:8080-1) 数据截断:无法从您发送到 GEOMETRY 字段的数据中获取几何对象

错误 [com.service.HibernateSaveService] (http-/192.168.5.244:8080-1) 异常:_: 无法执行语句

暗示

我收到此错误,因为试图直接在几何数据类型中传递多边形(这是我的假设)。请帮助我解决此问题并帮助我将值存储在数据库中。

我的代码如下。

实体类 :_:

坚持类:_:

数据库架构

问候,阿伦拉吉。

0 投票
1 回答
294 浏览

java - Hibernate search (4.5) @Spatial as @IndexedEmbedded

I have an entity "Message" which has a @OneToMany relationship to a list (Set) of "Locations" - a Spatial entity (A message might have many locations --see below the classes). The index is created correctly, as seen with Luke. When i try to create a composite query, having two "must" rules, the query returns the requested message only when one of the correct locations is given. It's like the onDefaultCoordinates() takes only one of the locations in the list. It makes sense, but I cannot use onCoordinates(String arg) because the list cannot be created having names for each set of coordinates. Here is the query:

Here are the classes:

and the location class:

When I query the message class with .must(a given title) and .must the second set of coordinates, i get the class as a response (even though i would like only the specific location, but this is a different question). If i make the same thing with a different location (also present in the index) i get an empty response. Any ideas??

0 投票
1 回答
182 浏览

geocoding - 为什么 Spatial Datatype 不能保持超过 15 位的精度,因为它使用 Double 来保存数据?

我正在尝试将 Geo CoOrdinates 存储在 mysql 数据库服务器中。如果我的坐标精度值超过 15 位,则该值会四舍五入并存储在数据库中。我相信这是因为这个文档而发生的。

但有趣的信息是 当我尝试使用双数据类型存储相同的坐标时。我可以存储高达 17 位的精度。

空间数据类型还将每个坐标存储为内部的双精度值。那么为什么 Spatial 数据类型不能存储超过 15 位的精度呢?我必须存储高达 20 位的精度现在该怎么办?

0 投票
1 回答
348 浏览

hibernate-spatial - HibernateSpatial API 中的 inside() 方法正在检查几何的一种方式,如何使其成为两种方式?

我正在使用 Hibernate Spatial API 检查多边形内部\外部的一个点。但这对我的用例没有帮助。

根据我的用例,我的数据库中有一个多边形形状。*需要检查一个点是否在存储的多边形内部/外部*

  • 点(几何)是我的输入。
  • 多边形(几何)存储在我的数据库中。
  • 每次我必须用我的存储多边形检查输入。

    通过 inside() 方法(HibernateSpatial API - NOT MySQL 方法),我可以通过点(几何)。但是该方法正在检查我的用例。


within 方法检查是否包含多边形的点。所以我在我的用例中得到了错误的结果。请参阅他们的文档以供参考。


如何使用 HibernateSpatial API 中的 Point 检查内部或外部的多边形。任何帮助深表感谢。

0 投票
1 回答
4496 浏览

hibernate - 无法转换 org.postgresql.util.PGobject 类型的对象

我在使用 Hibernate Spatial 和 PostGIS 时遇到问题。我有一个具有如下字段的实体:

我遇到的问题是我无法从数据库中加载任何这些实体,除非该实体的位置为空。如果它不为空,我会收到以下错误:

奇怪的是我可以很好地坚持它们,但不能加载它们。例如,如果我执行以下操作:

该点已正确存储在 Postgresql 数据库中并且查询它有效。只有当我加载它时,它才不起作用。

除了位置字段之外,我还可以从类中加载其他字段。例如:

会工作,但是:

不会。

这些是我的 pom.xml 中的依赖项:

有什么我可以尝试的想法吗?我目前有一个解决方案,我只使用持久化的 GeometryType 进行查询,但从来没有将它加载到 java 对象中,但我对该解决方案不满意。谢谢!

0 投票
1 回答
3027 浏览

hibernate - PostgisDialect vs PostgreSQLDialect 还是两者兼而有之?

我的应用程序将使用以下技术:

  • PostgreSQL
  • 邮政地理信息系统
  • JPA/休眠
  • 春天
  • 春季数据 JPA

我了解(来自 Hibernate Spatial 文档)必须使用以下方言:org.hibernate.spatial.dialect.postgis.PostgisDialect

我不明白的是上述方言与标准 Posgresql 方言有何关系,即org.hibernate.dialect.PostgreSQLDialect......

Postgis 方言是标准 Posgresql 方言的超集吗?

最新标准 Posgresql 方言的所有功能都可以在 Postgis 方言中使用吗?

我想我不能在同一个 entityManager 工厂上使用几种/多种方言......那么最好的做法是什么是最好的两种方言?

0 投票
1 回答
2282 浏览

hibernate - 使用 WildFly 8 休眠空间和 PostGIS

我正在从 Glassfish4 迁移到 WildFly8 应用程序服务器并收到以下错误:

我正在使用 Hibernate Spatial 和 PostGIS。对于 Glassfish 服务器,我将 postgis jar 添加到 /lib/ext 文件夹以修复该错误。

我按照本教程中的步骤操作:https ://gist.github.com/bjornharrtell/3054462 ,但它对我不起作用,即我将这些模块添加到 /org/hibernate/main :

以及 modules.xml 的这些条目:

并到 /org/postgresql/main:

完整的modules.xml:

我还尝试将罐子添加到 WEB-INF/lib,但是当我将“依赖项:org.postgresql 导出”添加到 MANIFEST.MF 时,我得到:

有什么想法可以让 postgis、hibernate-spatial 等类都正确加载吗?

干杯,多米尼克

0 投票
1 回答
793 浏览

querydsl - 如何在 Querydsl Spatial 中使用 INTERSECTS 操作

我正在尝试对 Querydsl 使用 INTERSECTS 操作:

当生成 BooleanExpression 我收到以下消息:

unknown operation with operator com.mysema.query.spatial.SpatialOps#INTERSECTS and args [entity.location, POLYGON((30 10,40 40,20 40,10 20,30 10))]

我正在使用 HibernateSpatial.. 然后我正在尝试执行以下操作:

根据您的 HibernateSpatialSupport 创建我自己的类,以创建有效的相交操作以在 HibernateSpatial 上使用。

我创建了一个 HibernateSpatialOps:

private static final String NS = HibernateSpatialOps.class.getName(); public static final Operator<Object> INTERSECTS = new OperatorImpl<Object>( NS, "intersects({0}, {1})");

当我使用相交操作生成 BooleanExpression 时,会出现以下消息:

unknown operation with operator org.project1.querydsl.HibernateSpatialOps#intersects({0}, {1}) and args [entity.location, POLYGON ((-0.948944091796875 39.49052944781087, -0.4988479614257812 39.49052944781087, -0.4988479614257812 39.39030533696812, -0.948944091796875 39.39030533696812, -0.948944091796875 39.49052944781087))]

你能帮助我吗?

此致,

0 投票
1 回答
511 浏览

hibernate - Hibernate 搜索空间嵌入索引查询

我有两节课。用户和地址。

用户:

地址:

我可以得到直接地址查询的结果,如下所示:

但是当我尝试使用 User.class 进行相同的查询时,它不会返回任何结果。嵌入索引后,我应该直接获取它还是需要更改任何内容?