首页 / 浏览问题 / 组件GIS / 问题详情
iObjects.Java中如何查询一个点周围最近的5个点
283EXP 2025年09月11日
现在我这边有一个点数据集,每个点都有坐标和一个属性数据

现在我想用iObjects.java给点数据集新增5条属性数据,分别是最近的5个点的属性数据

请问iObjects.java里有没有就近检索的功能,有的话请问是什么

1个回答

您好,可以通过邻近分析方法ProximityAnalyst.computeMinDistance(Recordset sourceRecordset, Recordset referenceRecordset, double minDistance, double maxDistance)得出每个点和参考点的最近距离;

得到结果后,按照距离大小排序即可,距离最小的5个就是您要的结果

希望能帮助到您
1,475EXP 2025年09月11日
感谢解答,如果需要进行分析的点有4,50万个左右,每个都需要查询最近的5个点的话,

实际操作时是否先对每个点进行一定范围的空间索引,然后只用查出来的点进行计算比较有效率
是的,数据量过大时,可以做个缓冲区查询,这样就会通过空间索引过滤绝大部分数据。
您好,我尝试了一下以上方法,这个computeMinDistance功能似乎只能返回最短的一个距离

请问应该如何返回最短的5个点

还是说如果我知道点数据的xy值就可以不需要使用上述功能,直接计算便可
每个都要计算一次,然后需要你排序获取最近的5个元素
...