shiyan001 发表于 2015-1-8 21:08:11

如何判断异常的高程

如图,如何找出EXCEL表格中B列的异常的高程,如涂红的部分。给个思路也行。


zzyong00 发表于 2015-1-8 21:22:11

思路:判断B列某行数值是滞合理时,可以用这行前行和后行的值的平均值,与这行的值比例,如果超过某一数值就标志

shiyan001 发表于 2015-1-8 21:38:04

谢了,我也是这样的思路,但是如果出现特殊情况,这种算法误判的可能性大,比如连续两个高程都异常。我还有这样的思路:比如取1-10行的高程计算平均值或中位数,或计算方差等进行判断,然后再取3-12行的进行判断,依次去5-14等,但这些数据不符合正态分布,觉得这样的算法不科学。

shiyan001 发表于 2015-1-8 21:50:54

本帖最后由 shiyan001 于 2015-1-9 07:20 编辑

还要避免这种情况:比如第10行和第12行数据异常,如果采用2楼所说的方法,会把第11行正常的高程误判为异常的高程。另外,也会有高程明显偏低的情况,或偏高与偏低连续出现的情况。怎样避免误判和漏判?

vormittag 发表于 2015-1-9 09:09:40

对“异常”要有一个严格的定义,才能用计算机解决。如果评判条件只在脑袋里,那就只能用眼睛看,让大脑判别。

shiyan001 发表于 2015-1-9 13:50:46

回楼上:判断条件自然是要有的,这在具体编程时考虑就可以了,现在的问题是,不论这个条件是什么,先要有解决问题的思路、方法。

鱼与熊掌 发表于 2015-1-9 14:50:18

思路.
(while
(x-ang p1 p2 p3);判断以p2为点的夹角的角度的方向和夹角大小.论坛有这个函数,高飞鸟有.G版也有
)
可以看到这个是非常尖的.
或者可以在加入点的判断.

shiyan001 发表于 2015-1-10 12:59:29

上面的几种方法结合起来,应该能解决我的问题,谢谢楼上。

llsheng_73 发表于 2015-1-12 14:52:53

本帖最后由 llsheng_73 于 2015-1-14 00:28 编辑

最直观的办法是把它画成图:一目了然
再一个办法就是按鱼与熊掌的办法的办法计算除非起止点外所有点的夹角,把尖锐的找出来标记上,当然这样其实只完成了第一步,接下来肉眼可以一眼看出到底哪里有问题

要全部实现自动判别,需要在前一步的基础上进一步进行排查:由pn-1,pn,pn+1三个点计算出来的pn角异常的情况下,可进一步计算pn-2,pn,pn+1的角,pn-1,pn,pn+2的角,三个角进行比较可进一步确定到底是哪一个点有问题

这个问题它其实也可以看作数学的离散性问题,先把前边计算出来的初步认为有问题的点去掉,其余点画一条曲线出来,再求被去掉的点到这条曲线的距离,距离过大而同时与之相关的子线段又较小的点属于问题点,也就是离曲线较远。。。然后到EXCEL里边把对应的单元格改成红色

eii 发表于 2015-1-13 09:42:47

异常高程的三个点距比较大,根据三点距来判断是不是比较简单
页: [1]
查看完整版本: 如何判断异常的高程