java - 如何从高程栅格近似 vector 等高线?

标签 java math vector 2d gis

我有一个存储为栅格的高程图。我想将平滑的“vector ”曲线拟合到恒定高度的轮廓。在我的应用程序中,数据实际上是地理海拔,但问题可以推广到两个变量的任何函数。

如果有帮助,我可以生成另一个具有抗锯齿等高线的栅格,并将其用作 vector 拟合过程的输入。

This question类似,但我正在寻找一个可以在我的 Java 应用程序中使用的免费库,或者我(非数学家)可以自己实现的算法的解释。此外,就我而言,我已经找到了我关心的所有“边”——我只需要对它们进行矢量化。

Another question触及我的,但张贴者再也没有回来解释他是如何实现最后一步的,这是我遗漏的部分。

最佳答案

您可能想要拟合封闭的贝塞尔样条曲线(曲线)。

有一个page with a Java applet这样做很合适。看看他们的(未注释的,糟糕的)PSegment.java

如果这还不够好,Fitting B-Spline Curves to Point Clouds by Squared Distance Minimization对于这项任务来说应该是矫枉过正。

有关更多信息,Google(学术搜索)搜索“b-spline fitting”和“closed bezier spline”应该会有帮助。

关于java - 如何从高程栅格近似 vector 等高线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/533467/

相关文章:

java - Web 应用程序 DAL 中的 JDBC 数据库连接

python - 如何在 Python 的 SciPy 中删除稀疏矩阵中的小元素?

java - Java 如何往返 String -> float -> String 甚至对于(某些)不能表示为 float 的值?

math - 根据 Google 的 Jeff Dean 的请求延迟

C++ vector 插入排序算法方法——将 vector 传给方法

java - ebay ordersAPI - API 请求中的身份验证 token 验证失败

java - 是否建议序列化和反序列化存储在 arrayList 中的对象?

java - 动态绑定(bind)数组

java - java 中的 Push_back 和 pop_back

c++ - 将一个函数的 vector + map 版本合并为一个兼容的版本