《地图设计与编绘》

《地图设计与编绘》

ID:10115972

大小:100.00 KB

页数:15页

时间:2018-06-10

《地图设计与编绘》_第1页
《地图设计与编绘》_第2页
《地图设计与编绘》_第3页
《地图设计与编绘》_第4页
《地图设计与编绘》_第5页
资源描述:

《《地图设计与编绘》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《地图设计与编绘》上机实习报告姓名:刘海岩学号:11400317中国地质大学(武汉)信息工程学院15实习一等高线的自动提取一、实习目的:了解空间数据文件的存储原理、读写方式、能自行设计程序,实现图形界面的缩放、移动等基本功能,并用户交互地完成等高线的自动提取。二、资料说明:文件数据等高距为10m。数据所描述的地区山体破碎、多丘沟、多斜坡其中斜坡多为凸形坡、谷地多为V形谷,等高距10m。文件内容:BEGIN1000//图幅比例尺//图幅左上角及右下角坐标值71011//等高线类型值110.000000//高程值4/

2、/等高线上含有的点数()//线上各点的坐标值()()()END三、实习工具:用C、VB、VC皆可。四、实习要求:1.显示文件中所有等高线,并用不同粗细的线显示不同类型的线型。2.调用对话框获取用户对新编图等高距的要求。3.符合要求的等高线用不同于原图的颜色显示。4.可在图形界面中实现显示区域的放大、缩小和移动,放大的范围以及移动的距离是好可以用鼠标确定。五、软件的设计过程:1.程序在Visual15C++环境下编码执行,调用MFC基本类库设计图形界面的基本框架,包括菜单、工具条、对话框等。并利用相应的事件处理机制

3、,如输入文本、点击按钮、拖放鼠标等动作实现用户与程序的交互。1.首先创建一个打开文件的对话框,设置所在文件的路径及文件名,用户确定后读取文件中的数据。文件的打开、读取操作用C语言语句实现,设定的指针*duqu按行读入数据,通过fscanf等语句读入缓冲区。2.数据读入完毕后,Invalidate()语句重新调用Ondraw()函数更新图形界面,完成等高线的初始化显示,在此设置一标志位a,读取完毕时赋值为0,提示系统更新窗口。3.创建一个新的对话框,inputdia,以获取用户新的等高距数值。通过触发IDOK(即点

4、击OK按钮),将文本框内输入的值传至w变量,依次将链表中各点高程值对w取作操作若余数0,则认为符合该高程距的要求,设置画笔peno,区别于原始色显示出来。4.完成缩放、移动等功能。首先Crectre获取当前设备的坐标,简单缩放即是在确定缩放比的前提下,将视口width&height值加以变化:PDCSetMapMode(MM_ISOTROPIC);PDCSetviewportOrg(rc.Left+re.right)/2mdx*fx,(rc.top+rc.bottom)/2+mdy*fy);鼠标的拖放区域放大则相

5、对困难。首先设置鼠标左键按下和左键按下和左键放开的事件处理函数,获得以上两事件发生时的设备坐标值m_nstartZ及mnStartY。并求其差的绝对值mdx、mdy、传值至Ondraw函数,重新设置设备坐标系参数:PDCSetViewportOrg(mnstartZ-mdx/2,m-ns.tarty-mdy/2);值得我们注意的是地理坐标系原点与设备坐标系原点并不在同一位置,需要加以转化,地理坐标的范围在窗口坐标PDCsetwindoworg及PDCSetWindowExt中定义即可。七、程序的不足由于程序需要较

6、好的交互式界面,故采用VC编程,而对Windows编程相关知识的局限性,想要达到得心应手的程度还需要很大的努力,程序中的众多不足也是令人非常遗憾的。1.变量设置多是public,虽然方便了值传递,但浪费了资源同时不能更好的体现面向对象的编程思想。2.15文件操作在View.h和View.cpp实现,没有很好的利用MFC框架中的Doc.h和Doc.cpp。3.拖放鼠标实现特定的区域的放大时,拖动鼠标的位置还不能用动态矩形加以显示,给用户操作增加了不便。八、实习心得空间数据的图形显示是地理信息系统软件的重要功能之一。

7、从大学二年级接触GIS软件开始,我们对图形转文件,文件转图形等功能都仅仅停留在含操作的层面,而存储原理、显示方式都相当模糊没有什么概念。我想作为GIS软件的设计人员,建立计算机处理的深层概念,从本质上把握程序是非常重要的。实习任务刚刚布置下来的时候,我们每个人都感觉“”的厉害,似乎完全无从下手,当问题一点点的展开又一点点的被突破时,我们才突然意识到简简单单一个实习却是综合了好几门课程的知识,真正踏下心来只有极个别问题超出了我们现有的知识水平。本次实习让我更多的体会到提取问题焦点的重要性,团队合作的重要性,确是受益

8、匪浅!(附程度部分源代码)源程序清单:db1View.cpp——//db1View.cpp:implementationoftheCDb1Viewclass//#include”stdafx.h”#include”db1.h”#defineMAX500#include”db1Doc.h”#include”db1View.h”#include”input.h”#includ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。