数据检查模块:
1.数值检查功能。
使用的是libxl库,输入是Excel文件。第一步复制生成临时文件,加载临时文件,读取行列数以及表头元素名,初始化窗口上的控件以及GridCtrl,依次读取每一个单元格内容,检查单元格数据的合法性。
列表控件列出非法字符的行列号,用户点击列表中的某一行,GridCtrl自动调整焦点对焦。
允许用户进行编辑修改操作,操作结束之后再次检查合法性,如果合法则写入临时文件并从非法字符列表中删除对应的行列号,否则恢复原值。
退出时提示用户是否保存编辑修改操作,如果选择保存则弹出另存为窗口,否则删除临时文件。
2.特异值检查功能。
迭代筛选一组数据中的异常值。使用表驱动法,分别将大于上界、小于下界、大于上界或者小于下届3个动作(函数指针实现)存入数组中,根据用户的选择调用相应的函数实现迭代筛选过程。
3.飞点检查功能。
输入是Excel文件(划定范围使用区则还需要输入区文件),难点在于用户界面和视图界面之间的交互操作,???????????以后再表述。
4.重复点检查功能。
输入是Excel文件,读取横纵坐标数据,根据用户选择的精度相应地放大横纵坐标然后取整数部分。维护一个没有重复坐标的坐标数组sole,向其中加入新的坐标时记录其在Excel文件中的行号,初始化时默认加入第一个坐标并记录其行号为2(第一个坐标加入sole时一定是独一无二的)。维护一个二维数组sameCoordRownum2DArray,第一维是重复坐标的分组号,第二维是每个分组内重复坐标在Excel文件中的行号。
遍历横纵坐标,每次取一个坐标dot,与sole数组中的坐标依次比较:
1. 如果没有找到相同的坐标,则将取出的坐标加入sole中并记录其行号;
2. 如果找到了相同的坐标,取出sole数组中坐标dotOfSole的行号,首先遍历sameCoordRownum2DArray, a. 如果找到则将dot在Excel文件中的行号插入sameCoordRownum2DArray中相应分组的末尾;b. 如果没有找到则产生新的分组,依次将坐标dotOfSole的行号和坐标dot在Excel文件中的行号加入分组。
经过以上过程,sameCoordRownum2DArray中就收集齐了全部重复点分组的行号。
5.数据初览功能。
离散数据网格化的精简版。
数据处理模块:
1.离散数据网格化功能。
按照数据特征划分为五种网格化方式:常规网格化、混合网格化、分区网格化、普通三角剖分和异质同构三角剖分。
按照网格化方法又分为:IDW、RBF、泛克里格和最近临近点。
以上网格化方式和网格化方法通过向导引导用户进行使用,向导使用链表进行管理。
补充:所有功能当中的打开文件、另存为文件、选择文件夹、保存路径等都具有记忆功能,实现原理:针对不同的功能当中不同的操作定义唯一的宏定义,首次操作则将路径写入本地数据库;非首次操作则首先根据唯一的宏定义查询本地数据库当中是否存在对应的路径,查询成功打开对应的窗口路径,查询失败则打开系统默认的窗口路径。