Arcgis Engine二次开发实验报告 下载本文

6 实验总结

比起以往的编程实习,这次的实习确实收获良多。从一开始的一头雾水,到后面终于看出点名堂,从知其然到知其所以然,其中的感受只有自己能体会。都说搞开发很枯燥,原先自己也这么觉得,但是通过这一学期的学习:二次开发和网络gis,让我重拾了对编程的兴趣。

实习最大的收获并不是成功运行了每个实验,而是对二次开发有了一个系统的理解,是对ArcEngine提供的类库和其接口的了解,是在实习过程中学会了自己调试,是从只知道照着代码敲到也能看懂网上朋友发的程序并帮助找出错误,是从完成任务到真正求知的过程。

其实真正的实习的开始可以说是在答辩前一天,因为要准备答辩,所以在课余时间才仔细的将书和程序都看了一遍,将注释打了一遍并琢磨,才开始拨云见日。之后,是为了写实习报告,别人都很快写完了,照着同学的、百度的、学长的,只有我慢慢吞吞,现在才写完。虽然可能也并不是很好,但至少对每个实习的实验有了清楚的脉络,对其中函数的调用、参数的传递、结果的显示等等都了解了,比如说事件响应函数里,将结果添加至图层,在之前敲代码的时候是完全没有注意这个事的,也没有想过为什么成功运行后会被显示,而现在我知道了,有的是将图层添加到地图,有的是在原有地图上刷新,有的是通过对话框显示,这在代码中都有迹可循;再比如最简单的一个实验:创建AOI书签。它有三个事件响应函数,但一开始我并没有注意它们各自的功能,如果您问我是“创建书签”的点击事件有什么用时,我肯定会想当然:调用创建书签函数。但其实调用创建书签函数是通过“确认”控件的点击事件响应函数,而“创建书签”的点击事件的作用是打开一个“书签名称设置窗体”。二次开发里的函数并不像以前学的写程序的调用,比如说通过主函数调用,在实习中的这些实验函数,都是通过事件响应函数来调用的,每个函数都具有一定的功能,通过事件响应函数去调用并采用一定的方法将结果显示。

不得不说,实习学到了很多,但我明白这不过是冰山一角,需要学的还有很多,也需要通过实际的例子来锻炼。比如要用到哪个接口,什么类库包含了这个接口,这还只能通过猜测,昨天找了很久也没发现哪里可以查,书上也写的不全。

还有就是效率问题,我们现在实现的功能在ArcMap中能够更精确更好的实现,效率更高,但是通过二次开发实现的功能处理小数据还可以,如果是大数据,处理时间比较长,比如说一份站点文件.txt,用ArcMap加载很快就可以导成一个点图层,但是写出来的二次开发程序却要跑几个小时。虽然知道问题所在,却不知如何改进,这也是我还要学的。还有比如涉及到了投影和参考坐标系的数据,又该怎么处理,怎样进行坐标系之间的转换,这些都是需要学的。

另外一个就是高级实验,其实网上有很多的程序,许多还是拿过来就能用的,虽然明白它里面的每条代码的含义,但如果要自己完整的写一个程序出来,还是很困难。总而言之,最大的不足就是连问题都不知道,本次实习真的收获很多,可惜大学的课都修完了,真觉得从前光阴虚度。今后一定要像这次实习一样,迎难而上,学习更多的知识和技能,提高自己解决问题的能力!