java - 在 JTS 中,当我执行 geometry.buffer(1).buffer(-1) 时,生成的几何是否与原始几何相同?

标签 java geometry buffer jts

我在交叉两个几何图形时遇到问题,可能是由于操作期间的舍入错误导致 TopologyException,然后我阅读了 this fix并在两个输入几何上尝试了 buffer(0),但仍然没有成功。然后我尝试了 geo.buffer(1).buffer(-1) 并且成功了。

这些几何图形是否等同于原始几何图形?

最佳答案

我对JTS一无所知,但总的来说这不可能是真的。

假设您有两个形状:

 XXX      XXX
 X X      XXX
 XXX      XXX

根据我的理解,两者上的 buffer(1) 会导致大致如下:

XXXXX    XXXXX
XXXXX    XXXXX
XXXXX    XXXXX
XXXXX    XXXXX
XXXXX    XXXXX

现在 buffer(-1) 将无法从这两种形状产生两种不同的结果。

实际上,buffer() 操作会丢失信息,因此如果不从其他地方重新添加该信息,就无法撤消。

关于java - 在 JTS 中,当我执行 geometry.buffer(1).buffer(-1) 时,生成的几何是否与原始几何相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470135/

相关文章:

java - 将特定索引处的数组值复制到另一个数组

java - 如何通过值查找枚举

math - 坐标系手性如何与旋转方向和顶点排序相关?

wordpress - WP 短代码输出始终位于页面顶部

java - 如何在 Java 中执行无缓冲输入(如果可能的话)?

java - 如何导出 Eclipse GUI 设置?

java - 如何自定义自定义 http 错误代码返回的默认 html 文件

java - 在java中绘制一个三角形

c - 变换一个三角形并在 C 中对它们进行排序

java - sc.hasNextInt() 什么时候等待输入?