




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连海事大学装订线毕 业 论 文二一三年六月基于地理信息系统的模拟雷达目标显示专业班级: 电子信息工程3班 姓 名: 信息科学技术学院摘 要地理信息系统是以采集、储存、管理、显示和分析地球表面与空间、地理分布有关的数据的综合计算机信息系统,是一种分析和处理海量空间数据的技术,它在航运事业中有很多重要的应用。本文以地理信息系统为研究背景,针对大连海事大学周围的区域,制作了一个经度从121.413007到121.790000,纬度从38.700000到38.974000的电子地图。系统具有地图浏览,地图编辑等功能,在此基础上,实现模拟雷达目标在地图上的显示。本次毕业设计主要完成以下工作:首先,利用谷歌地球进行地理信息采集,经过坐标变换后绘制矢量地图;其次,开发程序,设计用户界面,使该系统能够实现地图浏览,缩放,漫游,查看地区坐标等功能;然后,利用开发软件中的定时器来实现模拟雷达目标显示功能,模拟船舶在海中的航行并在地图中实时动态显示。本文在Visual Studio 2010开发环境下,采用基于MFC的C+语言,设计并实现了基于地理信息系统的模拟雷达目标显示,得到了较好的演示效果。关键词:地理信息采集;矢量地图;模拟雷达目标IABSTRACTGeographic information system is based on collection, storage, management, display and analysis of the Earths surface and space, geographical distribution of data related to integrated computer information systems, is a massive spatial data analysis and processing technology, it is in the shipping industry, there are many important application. In this paper, geographic information system for the study of the background for the area around Dalian Maritime University, produced a simple geographic information system. System has a map browsing, map editing functions, on this basis, analog radar target displayed on the map.First, using the current mature Google Earth geographical information gathering, through coordinate transformation drawn vector map; secondly, the development program, user interface design, can open draw vector map and browsing, zooming, roaming and other operations; Then, using development software timer to implement simulated radar target display function to simulate a ship sailing in the sea and on the map in real-time dynamic display.This article in Visual Studio 2010 development environment, based on the MFC C + + language, designed and implemented based on Geographic Information System simulated radar target display, get better detection results.Keywords: geographic information collection; vector map; simulated radar targetIV目 录第1章 绪论11.1 课题研究的背景及意义11.1.1 地理信息系统的定义11.1.2 国内外研究历史及现状21.1.3 本课题主要工作31.2 本文结构安排41.3 本章小结5第2章 地理信息采集62.1 Google Earth功能简介62.2 地理坐标的采集72.3 地理坐标的数据形式82.4 本章小结9第3章 坐标变换 103.1 墨卡托投影103.2 墨卡托变换103.3 墨卡托坐标系与屏幕坐标系的转换123.4 本章小结14第4章 软件主体设计与用户界面介绍154.1 系统构架设计154.2 系统模块设计164.2.1 系统模块划分164.2.2 地图视图浏览模块164.2.3 地图图层管理模块174.2.4 雷达目标显示模块174.3 用户界面设计174.3.1 开发工具介绍184.3.2 用户界面介绍194.4 本章小结20第5章 软件基本功能及其实现215.1 系统总体流程及其分块215.2 地图显示的实现215.2.1 读取用户自定义文件215.2.2 显示地图255.3 地图视图浏览的实现285.3.1 缩放操作285.3.2 漫游操作295.3.3 状态栏动态显示315.4 地图图层管理的实现325.4.1 地图编辑操作325.4.2 保存地图操作335.5 模拟雷达目标显示的实现335.6 本章小结36结论37 参 考 文 献38致 谢39基于地理信息系统的模拟雷达目标显示基于地理信息系统的模拟雷达目标显示第1章 绪论地理信息系统(Geographic Information System,GIS)是以采集、储存、管理、显示和分析地球表面与空间、地理分布有关的数据的综合计算机信息系统,是一种分析和处理海量空间数据的技术1。随着经济发展和技术进步,科技主导发展的时代已经来临,信息便成了人类社会财富的源泉,这不但促进了社会进步,方便了人民生活,更是加快了地理信息系统(GIS)技术的应用水平,随之带来了巨大的社会效益和经济效益 地图学、测绘学、地理学、遥感技术以及全球定位系统(GPS)等相关技术领域的发展,地理信息系统与之融合并形成了一门传统科学与现代技术结合于一体的多跨学科、多方向的研究领域。同时,这些学科的发展也为GIS产业的进步提供了更好的方法和更可靠的技术。作为一种综合的信息系统,地理信息系统(GIS)如今已经在许多行业中崭露头角。随着地理信息系统与网络技术、数据库技术等相结合,它的空间分析和辅助决策功能在未来必将发挥越来越大的作用。1.1 课题研究的背景及意义人们对地理信息系统的理解分为广义和狭义两种。广义的地理信息系统是由地理客体,包括人体感官的技术中介和人脑、电脑的思维推理过程所组成的系统。狭义的地理信息系统则是由高新技术来替代人体的感官及由电脑代替人脑的思维过程。因此狭义的地理信息系统可以理解为在计算机软、硬件支持下,对客观地理信息进行分析和综合处理的技术系统2。本文提到的地理信息系统都是定义在狭义的理解上。1.1.1 地理信息系统的定义地理信息系统(GIS)是近期发展起来的地学新技术,是很多学科交叉后的产物,已经成为一门新兴学科。它主要涉及地理学、地图学、测量学、摄影测量与遥感、计算机与信息科学、数学、统计学及空间科学等其他科学。通过相互沟通、融合和影响,地理信息系统已经成为能融合这些学科和技术的综合性边缘学科。如果简单的理解地理信息系统,我们可以把它定义为具备采集、存储、管理、模拟、分析等功能的计算机系统。从技术的角度看,地理信息系统就是以地理空间数据为基础,通过地理模型分析方法,为人们提供有关空间的动态地理信息。1.1.2 国内外研究历史及现状国外在城市基础设施上利用计算机进行信息管理比较普遍,一些发达国家在地理信息的发展上已取得很大进展,许多城市建立了地下管网地理信息系统,且已进入了专业化应用,或者商品化生产阶段3。地理信息系统即GIS概念的提出,可以追寻到上世纪50年代由于电子计算机科学技术的发展以及它在地图制图学与测量学中的应用,这使人们开始有了用电子计算机来收集、存储和处理各种各样的空间及地理分布相关的图形和属性数据的可能,人们也希望能通过计算机对数据的分析来直接进行管理决策和服务。奥地利测绘部门在1956年首先利用了电子计算机来建立了一个地籍数据库,随后各个国家的土地测绘和管理部门也开始渐渐发展起土地信息系统(LIS),它可以用来管理地籍。60年代,地理信息系统进入开拓期。加拿大测量学家R.F.Tomlinson在1963年首先提出了地理信息系统这一术语,他还同时建立了世界上第一个地理信息系统加拿大地理信息系统(CGIS),用来实现自然资源的规划与管理4。到了70年代,由于计算机软硬件技术的飞速发展,地理信息系统技术开始向实用化方向发展,许多发达国家开始筹建一些专业的土地管理信息系统以及地理信息系统。同时,地理信息系统软件市场逐渐活跃,地理信息系统技术也开始受到政府,商业公司以及大学的普遍重视,成为一个新生的引人注目的焦点领域。国外自上世纪80年代开始就开始把地理信息系统技术应用到许多领域,例如城市供水系统、电力系统、城市维护系统、煤气系统等等。图1.1 谷歌地球三维GIS(引自谷歌地球软件)进入90年代后,随着地理信息系统的产业化,以及数字化的信息产品在全世界范围内的普及,地理信息系统技术已经不仅仅用于生产领域,甚至深入到千家万户,成为人们生产、生活、学习和工作中不可或缺的使用工具和助手。例如由谷歌公司开发的谷歌地球软件,人们可以从网络上免费下载免费版的软件并且免费使用。本课题所开发的软件就是用谷歌地球软件进行数据采集的,本文后面会详细介绍谷歌地球的详细功能和使用方法。我国地理信息系统行业的起步比较落后,经历了四个阶段:起步阶段(l970年1980年);准备阶段(1980年1985年);发展阶段(1985年1995年);产业化阶段(1996年以后)。地理信息系统技术的研究已经引起了政府部门的高度重视,同时也在许多部门和领域得到应用。从应用方面来看,地理信息系统技术已经在资源开发、城市规划建设、交通运输、土地管理、环境保护、通讯、房地产开发、地图测绘、自然灾害的监测与评估、林牧业、金融、保险、军事等方面得到了具体应用。一批高等院校也已经开设了一些与地理信息系统相关的专业学科,一批批专业从事地理信息系统 技术的高新技术产业相继建成。地理信息系统方面的工作在我国自上世纪80年代初开始,1980年,全国第一个地理信息系统研究室在中国科学院遥感应用研究所建成,这标志着我国的地理信息系统开始发展。我国的地理信息系统研究进入发展阶段起始于第七个五年计划,当时地理信息系的统研究被政府正式列入了国家科技攻关计划,我国开始了有组织,有计划,有目标的地理信息系统科学研究和工程建设工作。同时,一些部门也展开了地理信息系统研究与开发的工作。尽管我国在地理信息系统的研究与应用起步较晚,但是经过地理信息系统工作者的多年的努力,我国在地理信息系统发展方面依然取得了长足的进步。随着互联网技术的普及,地理信息系统技术成为我国发展和经济建设的一种共同需要和常用的工具。预计在不久的将来,我国的地理信息系统事业将会有更迅速的发展,并逐步形成产业、进入市场。1.1.3 本课题的主要工作本课题采集了大连海事大学周围的大连市部分地区及其周边海域的地理信息,在此基础上,在VC+平台上制作了一个具有模拟雷达目标显示功能的地理信息系统程序。该程序具备如下功能:(1)地图功能:绘制了大连海事大学周边的大连市局部地区的陆地、海域、岛屿、主要道路以及大连海事大学校园内的建筑。用户可以通过鼠标浏览地图,并且可以进行放大缩小、拖拽等功能,同时也能够显示当前的时间以及地图的比例尺。(2)查看地理坐标功能:本软件可以查看所画区域内的任一点的经纬坐标。具体方法是将鼠标移动到所要查看点的位置,程序下方的信息栏便会显示该点的经纬度信息。(3)模拟动态目标显示功能:该软件可以通过地图刷新的形式在地图上模拟显示多个动态目标。通过点击菜单栏“时间”中的“Timer”便可实现该功能。具体在本文后续将会提到。(4)修改、保存地图功能:本软件可以直接在地图上进行编辑,添加或删除建筑区域,目标,公路并能够保存生成新的地图,新的地图会以“txt”文本形式储存,可以通过本软件直接打开。程序效果图如下:图1.2 程序效果图1.2 本文结构安排本课题的研究是基于地理信息系统,并在地理信息系统的平台上进行动态目标显示。本人所做的主要工作是利用谷歌地球(Google Earth)软件进行数据采集,在VC+平台上利用采集到的数据绘图,模拟动态目标并将动态目标信息表达到地图上。本论文共分为五章:第一章为绪论,介绍了地理信息系统的定义和当前的国内外研究现状,简单概括了本课题的研究内容。第二章介绍了地理信息的采集,采集到的数据用来进行地理信息系统中的地图的绘制。第三章介绍了坐标变换,用来把采集到的球面坐标变换成平面坐标并在电脑屏幕上显示。第四章介绍了本系统的设计思路,各个模块的设计以及用户界面的设计。第五章详细介绍了本系统的基本功能及实现方法。1.3本章小结 本章主要介绍了本课题的研究背景、研究目的以及研究意义,探讨了国内外的研究历史、研究现状,同时也阐述了各章节的具体安排。第2章 地理信息采集 由于本课题的软件是基于大连海事大学周围的大连市部分地域和海域的地理信息系统,制作软件时首先要绘出该区域的地图作为软件的基础。为了保证地图的精准度,地图采用矢量图的画法,由点的地理坐标确定点的具体位置。所以,地理信息的采集就成了首要的任务。2.1 Google Earth功能简介目前常用的可以提供地理信息数据的平台主要有ArcGIS,SuperMap,MapInfo,Google Earth等。从易用性、成本等多方面因素考虑,本系统采用Google Earth作为数据采集的平台。Google Earth即谷歌地球是由谷歌公司制作的一款虚拟地球仪软件,它能够把卫星拍摄的照片布置在一个虚拟的地球三维模型上。通过下载一个客户端 软件,用户们便可以免费观看全球各地的高清晰度的卫星图片。谷歌地球 针对windows推出了三种不同的版本:谷歌地球,谷歌地球专业版和谷歌地球企业版。截至目前,谷歌地球免费版已经更新到7.1.1,它的功能和界面都得到了更稳定,更完善的优化。相比以前的版本,性能也增强了许多,它的主要功能有:结合地图,卫星图片以及强大的谷歌搜索技术,让全球地理信息就在眼前;能够实现全球各地的漫游,从太空漫游到邻居一瞥;目的地输入,直接放大;搜索学校,公园,餐馆,酒店;获取驾车指南;提供3D地形和建筑物,其浏览视角支持倾斜或旋转;保存和共享搜索和收藏夹;添加自己的注释;测量长度,高度等等。另外,谷歌公司还有两款提高版的谷歌地球专业版和谷歌地球企业版,这两个版本是需要付费使用的,它们可以向用户提供了更多、更高级的服务。本系统使用的是谷歌地球的免费版,利用它提供的功能,我们可以简单地获得地球上任何一点的经纬度坐标信息,能够满足本系统对地理信息方面的需求,大大方便了地理信息的采集。图2.1 谷歌地球免费版软件界面2.2 地理坐标的采集为了能画出比较完整的地图,需要采集的坐标主要有以下几种:海岸线,岛屿,主要道路以及校园内主要建筑。具体方法如下:打开谷歌地球软件,此时应确保电脑连接网络,将鼠标放到所要采集数据的地方,该点的经纬度信息就会在软件的底端的信息栏显示。如图2.2,采集的电航楼右上角的坐标,底下显示的经度、维度就是该点的坐标。图2.2 谷歌地球采集地理坐标示例2.3 地理坐标的数据形式采集好的地理坐标,要写成txt文档的形式被软件读取。绘制的地图有三种要素,即面、线、点。海洋、岛屿、建筑都以面的形式绘制,以建筑为例,采集地理坐标时按照相同的时针顺序采集建筑的棱角和拐点,这些点就会围城一个封闭的区域,也就得到了所绘制的面。同理,公路以线的形式绘制,只需采集一条公路的起点,中间的拐弯点以及终点,将这些点按顺序连接到一起,就是所需的线。点的采集只需要一个点的经纬度坐标即可。地图以txt文档的形式储存,首先记录的是面,以“area”作为开头,另起一行写上面的个数,接下来写每个面的数据,最后以“endarea”结尾,当读取地图时读到“endarea”时,程序会认为面读取结束。一个面的数据除了采集的绘制面所需的各个点的坐标,还要有面的类型,本程序设置了三种不同的面的类型,分别代表建筑、岛屿以及海洋。三种类型分别用数字“1”,“2”,“3”来表示。例如画一个类型“1”的四点平面和一个类型“2”的五点平面共两个面,数据如下:area24138.867615,121.52029238.867495,121.52060438.866538,121.51998638.866652,121.5196765238.866529,121.52036938.866349,121.52090138.866479,121.52097838.866403,121.52117038.866121,121.521022endarea绘制完面后绘制的是线,线的绘制方法与面的类似,以“line”开头,第二行线的个数,后面是每条线的数据,最后是以“endline”结尾。和绘制面相似,线也分不同的种类,本程序用“1”,“2”,“3”,“4”代表四种不同级别的道路,等级“1”最宽,等级“4”最窄,例如:line13438.869961,121.52056938.870619,121.51845638.871228,121.515611endline代表一条由三个点连接成的等级“4”的线。最后是绘制地图中的点,点也分为几类,方法和面以及线十分类似,这里就不另说明。当程序读取数据读到“endpoint”时,地图的数据全部读取完毕。图2.3是本程序地图的部分区域,图中的建筑和公路就是用面和点绘制的。图2.3 面和线的绘制效果2.4 本章小结在本章,阐述了绘制地图时所需的地理信息的采集方法,介绍了谷歌地球软件的功能,说明了地图中三个要素面、线、点的画法和储存的数据类型。第3章 坐标变换通过谷歌地球,我们已经采集了所需的点的经纬度坐标。但是,经纬度坐标是基于地球这个球体表面的,而我们绘制的地图是一个平面图形,所以在绘图之前,先要进行坐标变换。3.1 墨卡托投影墨卡托投影是等角正圆柱投影,具有以下特点5:(1)经线是等间隔平行的直线;(2)纬线是平行的直线,但是其间隔从赤道开始,随纬度的增加向两极逐渐伸长,至极地为无穷大;(3)经线和纬线构成正交网格;(4)大地线或大圆弧(地球为球体时)在投影面上是凸向极地的的曲线6。 这些性质使墨卡托投影成为地图的主要投影方式。墨卡托投影效果如图3.1。图3.1 墨卡托投影3.2 墨卡托变换墨卡托投影与地理坐标系的转换公式如式(3.1)所示7 (3.1)地图投影中q被称作等量纬度,如式(3.2) (3.2)r0是常数,称为基准纬度的纬线圈半径,如式(3.3) (3.3)N0的物理意义为墨卡托基准纬度卯酉圈曲率半径,如式(3.4) (3.4)上述式中:为墨卡托投影的基准纬度;为墨卡托变换的输入:地理坐标系的纬度和经度;为墨卡托变换的输出:墨卡托直角坐标系坐标;a是地球等效椭球的长半径,WGS一84坐标系中值为6378137.0m;e是地球等效椭球的第一偏心率,WGS一84坐标系中值为0.0515191908。在VC+编程开发环境中实现这种变换,相关代码如下:/ 计算墨卡托等量纬度,地理坐标系转换到墨卡托坐标系MECATORPOINT CMecator:GeoToMecator(GEOPOINT gPt) double dEqLat = gPt.dLat;/地理纬度 double dAbsLat = fabs(dEqLat*PI/180.0); double dTemp = BJ54_E1 * sin(dAbsLat); double dLatTemp = log(tan(PI_DIV_4 + dAbsLat / 2) * pow(1 - dTemp) / (1 + dTemp), (BJ54_E1 / 2);/等量纬度 if(dEqLat = 0)/ 北纬 dEqLat = dLatTemp; else/南纬 dEqLat = -dLatTemp; MECATORPOINT mPt=0.0,0.0; mPt.dLat = m_dR0 * dEqLat;/m_dR0是基准纬度的纬圈半径 mPt.dLon = m_dR0 * gPt.dLon*PI/180.0;/墨卡托直角坐标系的Y坐标 return mPt;3.3 墨卡托坐标系与屏幕坐标系的转换墨卡托坐标系已经是一种平面直角坐标系,但要将地图绘制在屏幕上,必须将墨卡托坐标系单位转换成屏幕坐标系的逻辑单位,转换过程如下:(1)获取乘数因子COMF。乘数因子对应的是经纬度的信息,为了适应C+库函数参数需求,向乘数因子添加角度制向弧度制转换常量,得到因子。(2)获取地图比例尺M即Seale(在DSPM字段)。(3)获得整个地图中心点的墨卡托坐标,以地图图幅中心控制地图的显示位置,也便于实现地图的视点漫游操作。在读取地图的SG2D和SG3D子字段时,代码已经使用最值法获取了地图的边界,现在只需要取横纵坐标的最大和最小值的均值即可获得地图中心的墨卡托坐标。(4)计算显示器每米像素个数,通过调用函数GetsystemMetries()可以获得本地计算机的水平或垂直(由传递给函数的参数决定)分辨率,从显示器铭牌可读取显示器尺寸,该尺寸一般指对角线长度,以英寸(1inch=2.54cm)为单位给出。已知水平和垂直分辨率,通过解三角函数得到屏幕水平物理长度求解水平分辨率和水平物理长度比值即可获得每米像素个数m_dPixpm。(5)可以获得地图墨卡托坐标与屏幕坐标的转换方法,转换公式由式(3.5)给出,该式可以实现墨卡托坐标向屏幕坐标的转换。 (3.5)相关代码如下:CMecator:CMecator() m_gpCenter.dLat = 38.816996; m_gpCenter.dLon = 121.620037; / 基准经纬度 double dTemp = sin(m_gpCenter.dLat*PI/180); m_dR0 = BJ54_A * cos(m_gpCenter.dLat*PI/180.0) / sqrt(1.0 - BJ54_E1_POW2 * dTemp * dTemp); /墨卡托坐标 m_mpCenter.dLon = .0; m_mpCenter.dLat = .0; /GetSystemMetrics用于得到被定义的系统数据或者系统配置信息 double nResolvingX = GetSystemMetrics(SM_CXFULLSCREEN);/19寸屏幕窗口的窗口区域的宽度 double nResolvingY = GetSystemMetrics(SM_CYFULLSCREEN);/19寸屏幕窗口的窗口区域的高度 / 19(1英寸=25.4mm)显示器横纵分辨率由以上函数获得 double dHyp = sqrt(nResolvingX * nResolvingX + nResolvingY * nResolvingY); m_dPixpm = nResolvingX / (19 * 0.0254 * (nResolvingX / dHyp);/每米像素个数/ 墨卡托坐标系转换到屏幕坐标系POINT CMecator:MecatorToScreen(MECATORPOINT mPt) POINT pt; m_mpCenter = GeoToMecator(m_gpCenter);/把中心点的地理坐标转换为墨卡托坐标 pt.x = static_cast(mPt.dLon - m_mpCenter.dLon) * m_dPixpm / m_unMapScale); / 屏幕坐标系y轴式自上而下的 pt.y = -static_cast(mPt.dLat - m_mpCenter.dLat) * m_dPixpm / m_unMapScale); return pt;POINT CMecator:GeoToScreen(GEOPOINT gPt) MECATORPOINT mPt; mPt = GeoToMecator(gPt); POINT pt= MecatorToScreen(mPt); return pt; 3.4 本章小结在本章,首先介绍了墨卡托变换,通过墨卡托变换可以使采集到的地球上的经纬度坐标转化成平面坐标。为了能让地图在电脑显示器上显示,还要将墨卡托坐标系转换成电脑屏幕上的坐标系。通过本章所讲到的,我们可以在VC+上用采集到的经纬度坐标绘制所需要的地图。第4章 软件主体设计与用户界面介绍本软件的编写是在VC+的开发环境下完成的,选择了Visual Studio 2010作为开发平台,采用了C+语言进行编写。本章将介绍本软件的系统结构以及用户界面的制作。4.1 系统构架设计本软件系统构架如图4.1所示程序开始运行读取绘图数据绘制地图 软件具体功能操作雷达目标显示地图图层管理地图视图浏览图4.1 系统构架结构图 其中,读取绘图数据与绘制地图是本软件的底层,也是最基础的部分,这些都是由系统自动运行的。具体功能操作部分是该软件的应用扩展层,具体功能的实现要由用户的操作来完成。4.2 系统功能模块设计4.2.1 系统功能模块划分 本系统的主要目标是:实现综合地理信息的地图视图浏览、地图图层管理、雷达动态目标模拟。所以本系统也依照这三个目标设计了三个功能模块。系统功能结构图如图4.2所示。地理信息系统雷达目标显示模块地图图层管理模块地图视图浏览模块图4.2 系统功能结构图4.2.2地图视图浏览模块 地图视图浏览模块主要用来实现本软件在读取地图后,用户浏览地图时需要的基本操作,该模块需要实现以下9个功能。 (1)放大:在地图视图中拖出一个范围,放开鼠标,系统自动的将用户所画范围的内容充满整个地图视图,使得用户可以更深入地查看地图窗口中的某一区域。用户还可以用这个工具在地图视图中点击需要查看的位置,系统自动放大。(2)缩小:在地图视图中拖出一个范围,放幵鼠标,系统自动的将整个地图视图的内容充满用户所画范围,使得用户可获得更大范围的地图视图。在浏览地图时,可以点击某一个位置,系统自动缩小地图,使得地图视图中可视范围逐渐增大。(3)漫游:用户点击地图视图中任意一个位置,然后按住鼠标,进行拖动,系统自动根据拖动的范围将地图进行显示。(4)全图: 系统自动将整个地图全貌显示在地图视图窗口中。 (5)前一视图: 窗口图形回到最近一次的放缩状态。 (6)后一视图: 窗口图形重新回到最近一次执行“前一视图”命令时的放缩状态。 (7)鼠标滚轮缩放: 通过鼠标在地图窗口滚动滚轮来放大缩小地图,将该功能设置为默认功能,当鼠标空置时,处于该功能状态。 (8)刷新: 将整个地图视图中的所有显示的内容进行刷新。(9)地图比例: 在对图形进行浏览的过程中,可显示地图比例尺。4.2.3 地图图层管理模块地图图层管理模块主要用来实现地理信息数据的组织、地图修改、编辑等常用功能,是用户对地理信息数据进行管理的交互界面。该模块能够实现对地理信息数据的创建、增加、删除、插入编辑等功能,具体包括:区域(建筑、岛屿、海洋)的添加与删除;道路的添加与删除;点的添加与删除。4.2.4 雷达目标显示模块 该模块能够实现模拟雷达动态目标在地图上的显示,包括模拟雷达目标运动的启动、停止,以及修改模拟雷达的扫描频率。 4.3 用户界面设计信息系统的界面设计是系统重要工作之一。界面布局合理、美观大方、操作方便,决定了系统被用户接受的程度,体现程序开发员的水平,方便用操作和系统功能实现。本系统采用了Visual Studio 2010作为界面开发工具,其设计界面如图 4.3所示。图4.3 Visual Studio 2010设计界面4.3.1开发工具介绍本论文中所制作的地理信息系统运行环境是 Windows XP/7/8。选用的开发工具是Visual Studio 2010。Visual Studio是美国Microsoft公司提供的一套软件开发集成环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。它为开发者提供高性能的应用程序界面。本系统使用Visual Studio 2010开发,它可以满足用户不同方面的需求。其具有以下一些特点:(1)Visual Studio 2010提供了用于开发Windows应用程序的开发环境。由于Visual Studio 2010的开发环境具有简捷、快速、实用的特点,因此利用其开发Windows应用程序具有很高的效率。(2)Visual Studio 2010提供了开发Microsoft Windows(R)应用程序的最迅速、最简捷的方法,编程人员只需做少量工作,即可以实现功能齐全的Windows 应用程序。与使用其他工具开发Windows应用程序相比,使用Visual Studio 2010编制的Windows应用程序所花费的时间要少得多。(3)Visual Studio 2010提供了一个高度集成的工具集,以保证在开发应用程序的过程中的高效率。集成的工具集便于程序开发,编程人员可以同时在编辑、建立、调试等不同任务之间快速切换,甚至可以同时执行。(4)Visual Studio 2010图形化的可视特性,使编程人员易于学习并掌握。同时它具有Windows的一致性运算、多任务、多线程以及可嵌入字体等特性,编程人员使用方便。(5)Visual Studio 2010具有丰富的文档、样本代码、联机信息等可以帮助不同层次的编程人员使用。4.3.2 用户界面介绍 如图4.4就是使用Visual Studio 2010创建的本系统主窗体。图4.4 本系统主窗体如图所示,主窗体下端是信息栏,可动态显示三种信息。左边的是系统的当前时间,中间的是地图的当前比例尺,右边的是鼠标在地图所处位置的经纬度坐标。中间的地图区域是主窗体的显示区,用鼠标可在上面进行一些操作。主窗体上方是菜单栏,本系统的许多功能都是通过菜单栏来实现的。菜单栏如图3.4所示图4.5 菜单栏组成通过菜单栏中的“view”选项,用户可以调用出地图编辑子菜单对地图进行编辑,编辑子菜单如图3.5所示图4.6 地图编辑子菜单通过该菜单,我们可以对地图进行简单的编辑,具体包括添加删除模拟目标,添加删除道路以及添加删除建筑、岛屿。同时通过该菜单还能对添加的报警区进行修改。修改过的地图,可以用菜单栏中的“保存当前地图”进行保存,地图会保存成“txt”数据形式,可用软件直接打开。菜单栏中的“时间”选项是模拟雷达目标显示的开关,通过点击它可以进行在本系统中的模拟雷达动态目标显示。4.4 本章小结在本章,介绍了本软件的大体结构设计。具体包括系统构架设计,系统模块设计,用户界面设计。系统构架设计概括了本系统的整体结构,设计的层次;系统模块设计中分类介绍了系统的各个模块及其功能;用户界面设计中阐述了本软件的操作窗体界面,结构及其操作方法。第5章 软件基本功能及其实现 第2章和第3章讲述了制作该软件前期需要的准备工作,即地理信息采集与坐标变换;第4章介绍了本软件的设计思路以及用户界面的设计样式;本章将分块详细介绍本软件的基本功能及其实现方法。5.1 系统总体流程及其分块系统总体流程图如图5.1所示读取绘图数据绘制地图软件具体功能操作雷达目标显示地图图层管理地图视图浏览图5.1 系统总体流程图其中,读取绘图数据和绘制地图可以归类为地图显示一个模块,软件具体功能操作的三个功能各自独立成块。所以,本章将分成地图显示的实现,地图视图浏览的实现,地图图层管理的实现,雷达目标显示的实现四大块来详细说明本系统的功能实现。5.2 地图显示的实现5.2.1读取用户自定义文件在第二章,我们重点讨论了本系统中的电子地图的文件存储格式和用户自定义的矢量数据存储方式,为了显示之前所绘制的电子地图,代码首先要读取自定义的*.txt文件,其程序流程见图5.2。打开用户自定义文件读取地图信息 特征面特征线特征点读取特征线信息 是 是 是读取特征面信息读取特征点信息图5.2 读取用户自定义数据流程图读取特征线信息时,首先遍历*txt文件存储的所有特征线,读取构成特征线的每一个拐点,然后根据种类字段对应值判断特征线种类(道路等级),给出颜色表和画笔画刷类型填写POLYLINE结构体。相关代码如下:POLYLINE pl;ZeroMemory(&pl,sizeof(pl);File.ReadString(strTemp);str = strTemp.GetString();while(str.Compare(_T(endline)File.ReadString(strTemp);int nLineNum = _wtoi(strTemp.GetString();for(int l=0; lnLineNum;l+)File.ReadString(strTemp);pl.nPtNum = _wtoi(strTemp.GetString();File.ReadString(strTemp);pl.nPenWidth = _wtoi(strTemp.GetString();pl.pGeoPt = new GEOPOINTpl.nPtNum;for(int j=0; jm_aPolyline.Add(pl);File.ReadString(strTemp);str = strTemp.GetString();TRACE(strTemp);同理,读取特征面信息时,首先遍历*.txt文件存储的所有特征面,读取构成特征面的每一个点,然后根据种类字段对应值判断特征面种类(包括建筑、岛屿、海洋),给出颜色表和画笔画刷类型,填写POLYGON结构体。相关代码如下:POLYGON pg;ZeroMemory(&pg,sizeof(pg);File.ReadString(strTemp);CString str = strTemp.GetString();while(str.Compare(_T(endarea)File.ReadString(strTemp);int nAeraNum = _wtoi(strTemp.GetString();for(int a=0; anAeraNum;a+)File.ReadString(strTemp);pg.nPtNum = _wtoi(strTemp.GetString();File.ReadString(strTemp);pg.nColor = _wtoi(strTemp.GetString();pg.pGeoPt = new GEOPOINTpg.nPtNum;for(int i=0; im_aPolygon.Add(pg);File.ReadString(strTemp);str = strTemp.GetString();TRACE(strTemp);读取特征点信息时,首先遍历*.txt文件存储的所有特线点,然后根据种类字段对应值判断特征点种类,给出颜色表,显示类型和图标标记,填写POLYPOINT结构体。先关代码如下:POLYPOINT pp;ZeroMemory(&pp,sizeof(pp);File.ReadString(strTemp);str = str
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 万顷之陂-【2022年暑假预习】云名著《世说新语》之“德行”卷
- 九年级历史上册 第二单元 第5课 中古时代的东亚和西亚教学设计 华东师大版
- 2024中智集团政企服务部公开招聘笔试参考题库附带答案详解
- 防伪产品经理培训总结
- 人教A版(2019)高一数学必修第二册-正弦定理、余弦定理的综合应用-1教案
- 七年级生物下册 第四单元 第三章 第二节 发生在肺内的气体交换教学设计2 (新版)新人教版
- 六年级语文上册 第三单元 习作:-让生活更美好教学设计 新人教版
- 初中语文人教部编版(2024)七年级上册(2024)第三单元教案及反思
- 初中语文-第三单元《小石潭记》教学设计-2024-2025学年统编版语文八年级下册
- 初中心理健康课教学设计-我的责任
- 国际标准《风险管理指南》(ISO31000)的中文版
- 学习兴税-税收基础知识考试参考题库及答案
- 印刷服务投标方案(技术方案)
- 2024年爱国知识竞赛考试题库400题(供参考)
- (高清版)DZT 0004-2015 重力调查技术规范(150 000)
- 数学教育研究导引
- 永磁同步电机直接转矩控制
- 第6课《求助电话》课件
- 小学课后服务阅读教学设计
- 生物的种群动态与物种演变
- GB 4351-2023手提式灭火器
评论
0/150
提交评论