下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简单空间叠置和缓冲区分析实验软件开发实习报告实验目的和要求利用VC编程实现一个矢量数据空间分析的实验软件,实现缓冲区分析(点缓冲、线缓 冲、面缓冲)和叠置分析(叠置交、叠置并、叠置补)。通过本次实习,加深对于空间叠置类型和算法以及缓冲区生成算法的理解,提高动手编程能力,并初步了解 GIS底层开发的初步知识。实验环境本次实习我使用微软公司的Visual Studio 2010作为开发环境,使用VC+乍为开发语言,基于MFC框架和Ribbon界面开发了该实验软件,并在 Windows7 SP1系统上进行运行和测 试。如果没有安装 Visual Studio 2010,需要首先安装程序目录下的下面的
2、vcredist_x86.exe,该程序是VS2010的可在发行组件包,是本实验程序的运行环境必备组件。实验步骤软件框架搭建使用VS2010创建新的项目,选择项目类型为MFC应用程序,在“样式类型”选项中选择Ofice ,使应用程序具有 Ribbon风格外观。基本图形绘制使用MFC提供的GDI函数绘制基本图形,包括点,线,圆,多边形的框架绘制和填充。 在程序中具体实现方法为在视图类中定义基本图形的列表,包括点、直线、多边形的列表, 使用vector类型存储,然后在OnDraw()函数中依次绘制出所有的图形即完成基本图形绘制。缓冲区生成对于点缓冲区,读取用户输入的缓冲区半径后,绘制出以点为中心,
3、以缓冲区半径为半径的圆即完成点缓冲区的生成。对于线缓冲区,以每条线段的长为长,以缓冲区半径的两倍为宽,绘制一个矩形,在每一顶点绘制一个以缓冲区半径为半径的圆,即完成先缓冲区的生成。对于多边形缓冲区,将其视为闭合的线缓冲区,按照先缓冲区的生成方法产生。叠置分析对于点面叠置,主要的要算每一个点是否在多边形内,我才用的是从该点向左做一条射线,然后计算该射线与多边形的交点的个数,如果为奇数,那么该点在多边形内,否则该点 在多边形外。并且将该函数独立出来,方便其他函数调用。对于线面叠置,则是计算折线的每一条线段和多边形的交点,然后将使用这些交点将该线段分割为n个子线段,对于每一个子线段可以确定,该线段要
4、么全部在多边形外,要么全部在多边形内,这样只需要判断该线段的中点即可以知道该线段是否在多边形内,对于在多 边形内的线段,使用粗线段渲染出来。CRgn类来求对于面面叠置,由于算法过于复杂,我能力不够,没有实现出来,故使用 两个多边形的交、并、补,并且使用红色区域渲染出来。实习结果功能菜单栏,如下图所示,绘制点一画点缓冲区半径7的丐山区生成缓冲区锭?在篆中区画备边形 37 的一 固罢:口区点面叠置叠置并注面叠置苣置补叠叠分折叠置分析功能面板图1功能菜单栏清空屏幕在“视图”面板中的“清空屏幕”按钮能够清空所有的已绘制内容,如果感觉屏幕内容 过多,可以使用该按钮清空屏幕。点缓冲区生成首先点击“点缓冲区
5、面板”的“画点”按钮,此时鼠标进入画点状态,可以在主视图区 域点击绘制点要素(如图 2左),然后在半径的输入框中输入缓冲区半径,然后点击“点缓 冲区面板”的“生成”按钮,即可生成点缓冲区(如图 2右)。* * * * * . * 图2点缓冲区线缓冲区生成首先点击“线缓冲区面板”的“画线”按钮,此时鼠标进入画线状态,可以在主视图区 域点击绘制线要素(如图 3左),注意由于本程序主要目的是实现相关功能,因此为了简便 只能够绘制一条直线。然后在半径的输入框中输入缓冲区半径,然后点击“线缓冲区面板” 的“生成”按钮,即可生成线缓冲区(如图3右)。图3线缓冲区面缓冲区生成首先点击“面缓冲区面板”的“画多
6、边形”按钮,此时该按钮会变为“闭合”按钮,此 时鼠标进入画多边形状态,可以在主视图区域点击绘制多边形要素,在完成绘制有点击“闭合”按钮,闭合多边形,完成绘制(如图4左),注意由于本程序主要目的是实现相关功能, 因此为了简便只能够绘制一个多边形。然后在半径的输入框中输入缓冲区半径,然后点击“线缓冲区面板”的“生成”按钮,即可生成多边形缓冲区(如图 4右)。图4多边形缓冲区点面叠置分析本程序的点面叠置的要素是基于前面绘制的点和多变形,因此请根据4.2和4.4绘制点和面(如图5左),然后点击“叠置分析”面板中的“点面叠置”按钮,在多边形内的点会图5点面叠置线面叠置分析本程序的线面叠置的要素是基于前面绘制的线和多变形,因此请根据 4.3和4.4绘制点 和面(如图6左),然后点击“叠置分析”面板中的“线面叠置”按钮,在多边形内的线段 部分会被高亮绘制出来(如图 6右)。图6线面叠置面面叠置分析首先使用绘制多边形功能绘制多边形A,然后点击“叠置交”、“叠置并”、“叠置补”按钮,可以绘制多边形 B,绘制完成后点击完成, 既可以得到相应的交、 并、补集。(如图7)。实习总结通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版矿业工程承包及地质勘查技术服务合同3篇
- 二零二五年度存量房买卖合同范本模板(含合同解除与终止)4篇
- 二零二五年度窗帘产品展示展览服务合同3篇
- 【中学课件】人类社会及其发展规律2
- 二零二五年度国际教育培训课程开发合同4篇
- 《结肠透析相关介绍》课件
- 2024运营总监人力资源规划与招聘服务合同3篇
- 2025年新能源汽车充电站建设项目承包经营合同创新版2篇
- 二零二五年度大理石景观石采购与安装服务合同4篇
- 2025年美孚润滑油MSDS模板定制下载服务合同书4篇
- 2025年工程合作协议书
- 2025年山东省东营市东营区融媒体中心招聘全媒体采编播专业技术人员10人历年高频重点提升(共500题)附带答案详解
- 2025年宜宾人才限公司招聘高频重点提升(共500题)附带答案详解
- KAT1-2023井下探放水技术规范
- 垃圾处理厂工程施工组织设计
- 天疱疮患者护理
- 驾驶证学法减分(学法免分)题库及答案200题完整版
- 2024年四川省泸州市中考英语试题含解析
- 2025届河南省九师联盟商开大联考高一数学第一学期期末学业质量监测模拟试题含解析
- 抚养权起诉状(31篇)
- 2024年“一岗双责”制度(五篇)
评论
0/150
提交评论