问题标签 [jts]

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 回答
1206 浏览

hibernate - 当 hyperjaxb 将 JTS Point getter 标记为 @Transient 时,使用 jaxb、hyperjaxb3、jpa2、jts、hibernate-spatial、postgis 失败

我的同事对我坚持代码生成感到遗憾,但我决心证明这个特定的链是可以完成的。下面的示例是从我的项目中简化的(因此未经测试作为输入);我将很快创建一个测试工具。目前使用休眠 4.1.4、休眠空间 1.1.1、hyperjaxb3-ejb-plugin 0.5.6。

我从一个使用 Position 元素的模式开始,该元素的类型是一个简单的字符串扩展:

我使用 bindings.xjb 自定义将我的 xmlType wktPoint 映射到使用 jaxb:javaType 的 JTS Point javaType,因为我希望将 JTS Point 字段映射到 postgis 几何列:

稍后在 bindings.xjb 中,我开始使用 annox:annotation 自定义 Position 元素:

但是,这会在 MyType.java 中生成以下 getPosition 方法:

因此,当我启动我的应用程序并且 jpa/hibernate 开始初始化表时,它会完全跳过 POSITION 列(因为它被标记为@Transient)。

如何防止 @Transient 出现?看来我需要说服 Hyperjaxb 我们将能够将 JTS Point 类型直接写入数据库(这就是所有 @Type 的内容,表明我们希望 hibernatespatial 在读取和写入位置时使用 postgis 方言)。关于如何做到这一点的任何想法?

0 投票
1 回答
1291 浏览

c# - NetTopologySuite 如何使用 xxx 仪表制作缓冲区

我是 NetTopologySuite 的新手,我使用 lon/lat 的 WGS84 中的坐标系,使用 NetTopologySuite。我找到了 Buffer 函数来创建一个距离的缓冲区,但是我怎样才能以米为单位制作一个距离缓冲区?例如,做一个 200 米的缓冲点。

0 投票
6 回答
13931 浏览

spring - PostGIS 几何保存:“遇到无效的字节序标志值。”

我有一个 Spring Roo + Hibernate 项目,它从客户端应用程序获取 JTS 知名文本 (WKT) 字符串输入,将其转换为 JTS Geometry 对象,然后尝试将其写入 PostGIS 数据库。我在 JDBC 连接和类型方面遇到了一些问题,但这些问题似乎已通过以下方式解决:

并且转换确实:

但是现在当 Hibernate 尝试将我的 Geometry 对象写入数据库时​​,我得到一个错误:

很明显,该错误与二进制表示有关,该表示可能是作为具有某种字节顺序的众所周知的二进制 (WKB) 生成的。然而,由于 Hibernate 隐藏了所有的持久性,我真的无法判断事情的发展方向。

几天来我一直在与几何学的东西作斗争,关于这些错误的信息很少,所以有人有什么好主意吗?我可以在某处(Hibernate 或 PostGIS)指定字节顺序,或者以不同的格式(WKT)存储吗?

编辑:我还应该提到我正在使用最新的一切,这通常似乎是兼容的:

  • 春天 3.1.1,Roo 1.2.1
  • 休眠 3.6.9
  • 休眠空间 4.0-M1
  • 1.12
  • PostgreSQL 9.1
  • postgis-jdbc 1.5.3(不是最新的,但推荐用于 hibernate-spatial,从源代码编译)
  • postgis-jdbc 2.0.1(刚刚尝试了这个来匹配安装PostgreSQL的版本,同样的问题)

Hibernate Spatial 4 教程建议我将属性注释为:

...但是当我这样做时,我得到了另一个错误,当前注释解决了这个错误。

0 投票
2 回答
1012 浏览

java - 如何在 JTS 中使用 Delaunay 三角剖分为点插值 Z 值的示例

这是一个相当补救的问题。我一直在查看 JTS DelaunayTriangulationBuilder 的文档,我不知道如何做看起来应该很简单的事情。我希望获取一系列点,对它们进行三角剖分,然后在该网格中插入随机点的 Z 值。粗略阅读如何做到这一点并不明显。有任何想法吗?

0 投票
0 回答
1543 浏览

java - 如何从几何中获取 LineString s (Geotools JTS)

我有一个任意的线段列表,我想与视口相交。有什么方法可以从该视口中获取另一个线段列表。

假设视口是正方形。任何给定的线段都可以被丢弃(如果该线段不与视口相交)或如果它与视口相交至少 2 个点则被剪裁。

到目前为止我有这个:

如何LineStringsintersection几何中获得?

0 投票
1 回答
3639 浏览

geospatial - JTS 几何 - 应用缓冲区

我正在尝试将 1000 米的缓冲区应用于 JTS 拓扑套件中的多边形形状。我已经确定了执行此操作的方法(请参见下面的链接),但我不确定缓冲区方法中距离参数的单位是什么。

JTS几何缓冲法

感谢您查看这个。

0 投票
1 回答
204 浏览

gis - 相交并包含空间数据库中所有内容的“无限大”几何

我有一个可以相互包含区域的数据库表,从而形成树/森林结构。每个区域都有一个父指针,顶层区域有一个父指针null

我想改变这一点,所以有一个顶级区域,其中包含简化查询的所有内容。然后我不需要处理顶级区域的特殊情况,因为区域总是有父级。

有没有办法(在 PostGIS 和 Oracle Spatial 中)插入一个具有“无限大”几何形状的区域,以便始终通过相交查询找到它?

具体来说,我想要一个几何,无论 G 是什么,以下都是正确的:

0 投票
3 回答
1025 浏览

java - 查找相邻的多边形 Java

我有一系列使用 JTS 拓扑套件创建的多边形。每个多边形是一组点、经度和纬度,形成一个形状,如下图所示。

我想找到这些多边形邻居中的每一个,以及物理上靠近它们的其他形状。我曾想过寻找匹配点,但显然这并不适用于所有情况。我想知道是否有任何软件包可以检查多边形是否共享我可以在这种情况下使用的相同边缘?或者,如果不是,那么在 Java 中执行此操作的另一种方法。

谢谢。

0 投票
2 回答
2851 浏览

solr - 如何在 Solr 4 中安装 JTS?

使用 Solr 4 空间字段类型似乎需要一个外部库Java Topology Suite。如何在带有 Java 1.6.0_24 的 Ubuntu Server 12.04 上安装此套件以与 Solr 4.1.0 一起使用?

谢谢你。

0 投票
3 回答
7338 浏览

java - Geotools - 创建一个点

我正在使用 GeoTools Java 库进行一些几何计算。就我而言,我使用的是一个包含某个城市的所有邻域多面体的形状文件。我想知道该城市中每个可能的坐标,它对应于哪个社区。所以我的方法是简单地循环整个邻域多面体并检查给定点是否在其中。这是一段提到的代码:

邻域是先前从形状文件中读取的所有特征。问题是在这一行:

我正进入(状态org.geotools.factory.FactoryNotFoundException: No factory of kind "PrimitiveFactory" found.

我只是简单地遵循了文档,但没有取得多大成功(这种方法也不起作用)。请注意,我使用的是 9-SNAPSHOT 版本的 GeoTools。

关于如何摆脱这个问题的任何建议?