sql-server - 查找一组 3d 点的相关子集

标签 sql-server database math 3d statistics

在我的sql server 数据库中,我有一组数据值“A”。它有大约 6000 奇数行和 3 列作为 x 轴、y 轴和 z 轴上的点。

我必须推断出只有 100 个点的子集“B”,它最类似于集合“A”的数据,最接近地删除了异常值(例如,如果 3d 空间中某处只有 2 个点,它们应该被忽略但是如果某处有一组点,则应根据适用情况用一两个点表示)。

所以请大家帮我创建一个程序或函数。 我也在网上和我自己上进行了尝试,但没有找到我可以实现的正确解决方案。

最佳答案

您需要一种折线简化算法。也许最受欢迎的是 Douglas-Peucker algorithm

The purpose of the algorithm is, given a curve composed of line segments, to find a similar curve with fewer points.

目前还不清楚 - 如何处理异常值 - 可能你需要一些平滑或其他过滤(因为 D_P 算法试图保留它们)

关于sql-server - 查找一组 3d 点的相关子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42084548/

相关文章:

sql-server - 将 600MB 文件作为文件流数据插入 SQL Server Express 时出现内存不足错误

sql-server - 需要在 TFS 上数据库项目的每个更改的每次构建中生成 SQL 脚本文件

sql-server - SQL Server R Services 错误 'utf8towcs' 中的输入无效

java - JDBC 预处理语句 select from table where

c# - 有效地找到给定点所在的 Delaunay 三角剖分面

sql-server - 如何在 SQL Server Management Studio 中创建映射表?

php - 将动态创建的复选框值存储在 Laravel 的另一个表中

php - 更新查询不起作用

获取 3d 矩阵所有唯一阶乘组合的 Pythonic 方法

math - 生成一定范围内的随机数