- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GIS基本数据的读取和显示
GIS基本数据的读取和显示 作者:林星( GIS课程助教) 时间:2004年10月11日 Email: linx@ Website: 主要内容 介绍在VC++6.0中如何使用助教提供的代码模版完成第一次实习内容; Visual C++ 6.0 准备工作: 下载并安装Microsoft Visual Studio 6.0 (注意:不要下载那种解压缩版本的,可能会引起开发环境设置的一堆问题) 到上面下载VC6.0的示例程序GISPractise.rar以及实验数据china.dxf以及8933.dem Visual C++ 6.0 Visual C++ 6.0 Visual C++ 6.0 谢谢大家!请关注课程主页和论坛 * 运行Visual C++ 6.0 打开VC++工程GISPractise 察看工程中类视图:其中GISPractiseView是实现程序功能的主角,它由两个文件组成GISPractiseView.h和GISPractiseView.cpp 察看工程中的资源视图:菜单、图标等 察看工程中的文件视图:可以看到我们关心的GISPractiseView.h和.cpp文件 程序运行跟踪 1.用户点击一个菜单项(比如“显示矢量图”) 程序运行跟踪 2.这个点击请求最终由GISPractiseView类的OnEditDlg()函数来处理,在这个函数里面修改了GISPractiseView的成员变量m_nType,然后调用Invalidate函数,这个函数让窗口重新绘制; 程序运行跟踪 3.窗口重新绘制的时候,会调用GISPractiseView的OnDraw函数,我们在这个函数里面打开文件、读取数据、绘制地图。 程序运行跟踪 可以认为GISPractiseView对象代表红框区域的窗口 程序运行跟踪 设置m_nType可以改变绘制的类型(dxf或者dem); pDC可以认为是画板,可以调用相关的方法绘制线或者正方形 设置绘制类型为1,即绘制DEM栅格数据 设置绘制类型为2,即绘制DXF矢量数据 绘制一条起点在(10,10),途经(50,50),(10,90)的折线 pDC-MoveTo(10*m_dRatio,10*m_dRatio); pDC-LineTo(50*m_dRatio,50*m_dRatio); pDC-LineTo(10*m_dRatio,90*m_dRatio); 当m_dRatio大小变化的时候,就可以画出大小不同的地图,即实现了放大和缩小功能 绘制一条起点在(10,10),途经(50,50),(10,90)的折线 pDC-MoveTo(10+m_nX,10+m_nY); pDC-LineTo(50+m_nX,50+m_nY); pDC-LineTo(10+m_nX,90+m_nY); 当m_nX,m_nY变化的时候就可以实现地图的偏移 pDC-MoveTo(x1,y1); pDC-LineTo(x2,y2); pDC-LineTo(x3,y3); 如果把数据顺序读取出来后存储在变量x,y里面,用上面的方法可以画出整个地图; 绘制一个左上点坐标为(50,50),宽度和高度分别为(20,20)的矩形;用(red=128,green=128,blue=128)的颜色填充; 将从文件中读取的高程值映射到(0,255)的一个数C,然后使用GetColor可以得到一个ed=green=blue=C的灰度颜色,不同的高程就对应了不同的颜色 pDC-FillSolidRect(50,50,20,20,…) pDC-FillSolidRect(70,50,20,20,…) pDC-FillSolidRect(50,70,20,20,…) pDC-FillSolidRect(70,70,20,20,…) pDC-FillSolidRect( 50*m_dRatio+m_nX, 50*m_dRatio+m_nY, 20*m_dRatio, 20*m_dRatio, …); 改变m_dRatio,m_nX,m_nY可以实现栅格地图的放大、缩小和漫游 漫游 缩小 放大 *
您可能关注的文档
最近下载
- 2024NIHSS评分量表解读PPT.pptx VIP
- 跨文化交际――中西方文化差异PPT课件.ppt VIP
- 12J1工程做法图集标准.docx VIP
- 《跨文化交际》课件:探索不同国家的文化差异.ppt VIP
- 四法一纲.doc VIP
- 新人教版8年级上册物理全册教学课件(2024年秋季新版教材).pptx
- 领导力与管理沟通PPT课件(共19章)第9章 非语言表达.pptx VIP
- 领导力与管理沟通PPT课件(共19章)第8章 书面表达.pptx VIP
- 2025年农村公路路面改造以工代赈项目可行性研究报告-新大纲.docx VIP
- 江苏省化工和危险化学品生产企业安全审计表解读 2025年1月2日.pptx VIP
文档评论(0)