程序员:左正康 完成时间:2013/12/3

系统开发背景:

原始的DEM精度评价方法:采用ArcGIS结合Excel的方式完成DEM的精度评价。具体操作是:利用ArcGIS工具箱中的创建TIN,TIN转DEM,坡度分析等工具将等高线的坡度图生成,然后在坡度图上选择坡度大的地方人工矢量28个检查点,然后再返回到矢量图层,人工判断计算每个检查点的高程值并依次手动填写完成属性表。然后利用ArcGIS的ExtractMultiValuesToPoints工具以检查点和DEM为录入数据,算出DEM上对应检查点的表面Z值,然后将2列属性信息导入到EXCEL中,利用EXCEL的数学工具算出高程差,中误差,然后根据2者之间的关系评价DEM的精度。

缺点:在生成检查点的这个环节中,工作量不仅大,而且由于人为的矢量和判读误差,造成评价的2次误差,最后得出的结果不精确。一般来说,检查点采集的越多,评价的结果越精确,这样就会造成工作量的增大,工作量增大就容易出错。

基于目前的现状和原始DEM精度评价的缺点,开发一款全自动的DEM评价系统很必要。

DEM精度评价自动化系统的开发思路与实现要点:

此系统将DEM评价的一整套流程集成在了此系统中。主要包括以下几个流程:DEM的自动生成,检查点的自动生成,DEM表面Z值的计算,中误差的计算以及评价结果图的生成。

此系统中较为核心的突破是检查点的自动生成。其它的环节都是基于AE的2次开发,检查点的自动生成是通过设计一套算法来实现的,该环节的自动化有效的解决了原始方法的不足,提高了评价结果的精度,全自动化大大降低了人类的工作量。以下具体展示该环节的设计与实现过程。

自动生成检查点的算法设计与实现:

由于对地形图的矢量化工作比较庞大,所以不同的人的数据质量有差异,数据风格也各不相同,所以第一步就是对数据的预处理。

1.预处理包括以下内容:

将等高线根据高程信息从大到小排序。

将相同高程的等高线归组。

这2项预处理保证了我们每遍历的2条等高线空间位置相邻并相差一个等高距。

接下来就是两两相邻等高线间坡度最大的点的自动选择。
 2.主要包括以下内容:

计算2相邻等高线之间的最短距离。

在最短距离上选择中间点。

最后一步就是生成点图层了。

3.主要包括以下内容:

空间点的生成。

属性数据的生成。

系统测试成果展示:

通过以下的前2个等高线放大图我们可以清楚的看到检查点精确的生成在了2相邻等高线最靠近的地方,也就是坡度最大的地方,测试结果说明:自动生成检查点的算法是准确的。






 
  附:原始方法评价的结果,经过比较,此系统的评价结果是正确的,此DEM不合格。

DEM精度评价自动化系统的成果展示的更多相关文章

  1. 【软件需求工程与建模 - 小组项目】第6周 - 成果展示3 - 软件设计规格说明书V4.1

    成果展示3 - 软件设计规格说明书V4.1

  2. 【软件需求工程与建模 - 小组项目】第6周 - 成果展示2 - 软件需求规格说明书V4.3

    成果展示2 - 软件需求规格说明书V4.3

  3. Kivy 中文教程 实例入门 简易画板 (Simple Paint App):0. 项目简介 & 成果展示

    本教程咪博士将带领大家学习创建自己的窗口部件 (widget).最终,我们完成的作品是一个简易的画板程序. 当用 kivy 创建应用时,我们需要仔细思考以下 3 个问题: 我们创建的应用需要处理什么数 ...

  4. Python关于PIL库的学习总结与成果展示

    一.关于PIL库的学习总结 PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装.安装PIL库的方法如下,需要注意,安装库的名字是pillow. : ...

  5. FivePlus——成果展示

    思路描述:描述对于自己此次任务是如何思考的 这次作业没能帮上什么忙,刚开始还对这次作业有所期待,然而,第一次听他们讨论的时候就??? 之后又去查了一些诸如贪吃蛇类的小游戏,知道大概可以达成什么效果,但 ...

  6. iOS 微信消息拦截插件系列教程-附录(服务端成果展示)

    微信iOS消息拦截插件教程 标签: 越狱开发 背景介绍 本教程所有内容免费 本教程来源于一次知识分享,如果有需要了解更多的 请联系QQ:480071411 iOS逆向高级开发群:375024882 服 ...

  7. 【Alpha阶段汇总】成果展示与体验总结

    一.燃尽图 二.软件截图 三.代码与图片.音乐素材仓库 git仓库 四.问题与总结 1.git提交问题 之前创建的仓库地址是http://git.oschina.net/8265559926/grou ...

  8. 成果展示-RSA算法工具

  9. Python之虚拟机操作:利用VIX二次开发,实现自己的pyvix(系列一)成果展示和python实例

    在日常工作中,需要使用python脚本去自动化控制VMware虚拟机,现有的pyvix功能较少,而且不适合个人编程习惯,故萌发了开发一个berlin版本pyvix的想法,暂且叫其OpenPyVix.O ...

随机推荐

  1. js css 点亮 星级评分

    利用css 和 js 实现星级评分 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  2. day 007 深浅拷贝

    今日内容: 1.字符串操作补充: join # 遍历列表 例: lst = ['汪峰','吴君如','章子怡'] s = '*-/@'.join(lst) prints(s) 结果为汪峰*-/@吴君如 ...

  3. Dev GridView RowCellClick事件与MouseDown事件

    GridView处于可编辑状态,左键点击默认为“进入编辑”. 将GridView的OptionsColumn.AllowEdit设置为false后左键可触发RowCellClick.但有时候,既希望G ...

  4. mc03_IntelliJ IDEA配置github

    配置本地git仓库 首先配置一个本地的git仓库,熟悉一下git上传文件到github的过程,具体操作参考 mc02_配置本地git仓库并上传到github IntelliJ IDEA与github的 ...

  5. apply,call,bind

    /*apply和call都是为了改变某个函数运行时的上下文而存在的(就是为了改变函数内部this的指向): 如果使用apply或call方法,那么this指向他们的第一个参数,apply的第二个参数是 ...

  6. 8-----BBS论坛

    BBS论坛(八) 8.1.发送邮箱验证码功能 (1)cms/resetemail.html {% from 'common/_macros.html' import static %} {% bloc ...

  7. STL 部分学习 未整理

    https://www.cnblogs.com/pugang/archive/2012/02/10/2345942.html

  8. matlab 摘要

    matlab中的向量与矩阵 如果定义一个A = [1, 2, 3]; 则A为一个行向量 但是A(:)返回的是一个列向量 关于函数的返回值 在function [a, b, c] = fit_quadr ...

  9. Linux Bird

    o / : 2GB o /boot: 200MB o /usr : 4GB o /var : 2GB o /tmp : 1GB o swap : 1GB o /home: 5GB,并且使用 LVM 模 ...

  10. angularJS ui router 多视图单独刷新问题

    场景:视图层级如下 view1 --view11 --view111 需求:view11的一个动作过后,单独刷新view12 解决方式:修改层级设计 view1 --view11 --view111 ...