问题描述
- c# datagridview 筛选数据 算法
-
先从 照片中提取拍摄时间的 exif信息,提取后格式化下,
DSC00508.JPG 2016-01-08 10:11:12 0
DSC00509.JPG 2016-01-08 10:11:21 9
DSC00510.JPG 2016-01-08 10:11:30 9
DSC00511.JPG 2016-01-08 10:11:38 8
DSC00512.JPG 2016-01-08 10:11:46 8
DSC00513.JPG 2016-01-08 10:11:55 9
DSC00514.JPG 2016-01-08 10:12:22 27
DSC00515.JPG 2016-01-08 10:12:31 9
DSC00516.JPG 2016-01-08 10:12:39 8
DSC00517.JPG 2016-01-08 10:12:48 9
DSC00518.JPG 2016-01-08 10:12:56 8
DSC00519.JPG 2016-01-08 10:13:06 10
DSC00520.JPG 2016-01-08 10:13:28 22第一列是 照片名字 ,第二列是 拍摄的日期 第三列是拍摄时间,第四列是两次拍摄 时间间隔 2016-1-8 10:11:39 0 2016-1-8 10:11:48 9 2016-1-8 10:11:57 9 2016-1-8 10:12:05 8 2016-1-8 10:12:13 8 2016-1-8 10:12:21 8 2016-1-8 10:12:49 28 2016-1-8 10:12:58 9 2016-1-8 10:13:06 8 2016-1-8 10:13:14 8 2016-1-8 10:13:23 9 2016-1-8 10:13:33 10 2016-1-8 10:13:54 21 2016-1-8 10:14:03 9 2016-1-8 10:14:11 8 2016-1-8 10:14:20 9 2016-1-8 10:14:29 9 2016-1-8 10:14:54 25 2016-1-8 10:15:02 8 2016-1-8 10:15:11 9 2016-1-8 10:15:19 8 以上是一个设备的 本机时间,间隔 也是拍摄时间。实际上两个设备是,一个触发另外一个设备的,所以两个时间的 一对一的 列索引,间隔 几乎是一致的,就是所谓触发设备的物理时间,经过计算是,27秒, 现在要做的就是当第二个datagridview 不会出错的情况下,当 第一个出现丢失,如何去判断 丢失的是那个列,并继续做比较,找出所有丢失的列值
解决方案
http://blog.sina.com.cn/s/blog_5c9288aa0100tdck.html
解决方案二:
SqlServer 根据字段分类汇总信息
解决方案三:
参考上面的代码,你修改下
string filter = "第三列 > 11";
解决方案四:
我想的方法是 分组 ,因为每5个 时间数据后,会 出现一个大的时间间隔,以这为分界线,显示求平均,再去按照分组后的数据,查找,丢失的数据。因为 照片数据,是 不确定丢失位置的
解决方案五:
用 for 循环 我可以找出 所有 节点的 数值,已这个节点再去分组 就蒙圈了
解决方案六:
又想出一种新方法,本身第二组数据是触发第一组数据的 ,我用第二组数据 重新构建一个虚拟的第一组数据,生成第三组数据,然后对比第一组数据和第三组数据,如果差值能在 正负1 之间,就算是数据可以 一对一了,依次类推。差值很大的,说明这个第一组数据,是有问题的,所以舍弃当前对应比较的第三组数据,索引增加1 ,继续对比
时间: 2024-10-31 06:00:28