当前位置:文档之家› 电子地图管理系统设计

电子地图管理系统设计

电子地图管理系统设计

口宫琳琳匾蛋蟊置圈201

1年第1o卷第17期

【摘要】本文开发了一个对电子地图数据进行管理的系统,原始数据按照地图数据格式存储在一个二进制文件中。每个道路都是被赋予了独一无二的缟号,这个编号叫做LinkID。在这个文件中存储着部分道路情况的数据。它们是无序存储

的(针对MnkID是无序的)。本文是在MicrosoftVisualC++6.0环境下,主要对道路数据进行整理分析,采用顺序查询和二分法查询对道路信息进行查询,分别采用冒泡排序和快速排序对道路信息进行排序,更新数据,并对不同的算法最终取得结果,进行比较分析。【关键词】电子地图;二进制文件;顺序查询;二分法查询;■泡排序;快速排序【作者单位1宫琳琳,山东协和学院

电子地图是传统地图与计算机技术、网络技术相融合的产物,是地理信息的符号化表现,是提供地理信息公共服务的重要渠道,突破了传统纸质地图时间和空间上的局限性,

具有更丰富的信息含量和更广阔的应用范围。一、读取模块该模块是实现从二进制文件中将原始数据读出,作为后边功能实现的数据,从下图中选择“1”将实现该功能,读取成功后形成新的文件。该功能的实现采用了移位运算,从二进制文件中提取了相关数据,包括:道路编号、道路名称、岔路数、道路番号等关键字信息。:、排序模块排序功能是对已加载成功的数据文件进行排序。这里采用了两种排序方法:冒泡排序和快速排序,每种排序又可

以选取不同的关键字进行排序,本文实现了按道路编号、道路名称、道路番号和岔路数进行冒泡排序和快速排序。并且

对每种排序加以记时(部分功能图略),对所有排序的结果与预测的进行比较,如图2。

WstRoadArray‘S—wpstBubbleSort(WstRoadArray‘as-tRA,INT32Sitag){代码省略}

电池接220V/50Hz的交流电使用,白天不亮,夜晚受声音控

制发光,发光时间约为lO秒。原理图如图2所示。驻极体话筒Ml通过偏置电阻接入电路,c6为信号耦合电容,S3为直接耦合放大器。M1未接收声音时。VT3饱和,当Ml接收到声音信号后。S3集电极电位上升,使运放A的同相端有声音时处于高电。光敏电阻在晚上时电阻变大,此时运放A的反向输入端电压降低,运放A输出高电,使C7电

容充电后通过R9慢慢放电。D3的作用是防止电流回流。R10和Rll作为分压电阻,调节Rll使运放B的反向输入端达到一定的电压,同相输入端接前级电容,当晚上有声音时运放B的同相处于高电,运放B输出高电,晶闸管导通,三个白色的LED亮。但电容放电小于反向时输出低电,晶闸管截至。LED灭。可见,要LED照明灯亮,必须同时具备两个条件。一是晚上。二是有声音传给驻极体话筒。(三)模拟充电电池模块。赛题中要求用LM317可调电源代替充电电池。图3是LM317的固定接法。(四)充电电池过克、过放保护电路。原理图如图4所示。白天,光敏三极管受光的照射时,继电器不动作,红色

LED亮,此时表示充电状态,R17、R20分压电阻,当317电源调到12V时,调整电位器使中间点电压为5.1V,运放A同向输入端接在5.1V稳压管,当317电源电压高于12V时,运放砌璐喇&sci明始T曲衄e宦丑翻姻A输出低电平,通过40106后输出高电,三极管导通,继电器闭合,蓝色LED亮,此时处于供电状态。晚上,光敏三极管无光照射时。继电器闭合。处于供电状态,R16、R19电源电压为8.5V时,调节电位器使中同点电压为5.1V。运放B的反相

端基准电压为5.1V,当317电压低于8.5时,运放B的同相输入端小于5.1V,运放输出低电,继电器释放,红色LED亮,表示充电状态。

【参考文献】1.KlausDietmayes,MarcusWeser.ContacflessAngleMeasure—mentusingKMZAI蛐dUZZ9000.AN000232.黄智伟主编.全国大学生电子设计竞赛电路设计【M].北京:航空航天大学出版社,20063.潘琢金译.C8051F020/I/2/3混合信号ISPFLASH微控制器数据手册Revl.420054.王新贤主煽.通用集成电路速壹手册[M].济南:山东科学技术出版社,20055.周惠潮等壕著.常用电子器件及典型应用[M].北京:电子工业出版社.20076.黄智伟主墒.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社。2005

·85·万方数据苎些童!!垫!竺!墨巨匿口口‘雷臣I团圆E苕EI匾

//对不同的关键字进行冒泡排序

WstRoadArray。S—wpstQuickSort(WstRoadArray‘as—

tRA,INT32SRag){代码省略I//对不同的关键字进行快速排序

voidaTimeOfQuiekSort(WstRoadArray‘astRA,INT32Sitag)//计算时间

{DP32dStart,dEnd,dTime;//Initializationthevariables

forcounttimedStart=clock();IITimestartS_wpstQuickSort(astRA,Rag);dEnd=clock();//TimeenddTime=(dEnd—dStart)/CLOCKS—PER—SEC;I

图I

圆2三、查询模块该功能模块是在排序的基础上进行的,按不同的关键字(道路编号、道路名称、岔路数、道路番号)进行顺序查找和二分法查找。对于已检索到的信息分两部分处理,一部分可以

作为界面显示,这部分内容一般数量较少,只有几条记录;另一部分数量比较大的可以写在一个文本文件中,这样有利于

查阅和校对。以下是部分主要代码,不是详细代码:(一)对不同的关键码进行顺序查找。INTl6USH—

wusSquenceSearch(WstRoadArrayastArray,INTl6UausKey-type,INTl6UausIscompare){for(auslndex=0;ausIndex<astArray.Wuslength;auflln—dex++)/·顺序检索·/lif(aulId==astArray.WpstRoadmsg[auslndex].WulL-

inkid){memcpy(&(astToarray.WpstRoadmsg[astToarray.Wus·length])。&(astArray.WpstRoadmsg[ausIndex]),sizeof(astAr—ray.WpstRoadmsg[auslndex]));/·将与所给道路编号相同的道路信息赋给输出结构体变量·/

astToarray.Wuslength++:break;}I

·86·(二)对不同的关键码进行二分法查找。INTl6USH—wusBinarySearch(WstRoadArrayastArray,INTl6UausKcytype,INTl6UausIscompare){while(ausLeft(=ausRight){if(aulld==astArray.WpstRoadmsg[ausMid].WulL·inkid){memepy(&(astToarray.WpstRoadmsg[astToarray.Wus—length]),&(astArray.WpstRoadmsg[ausMid]),sizeof(astAr.ray.WpstRoadmsg[ausMid]));/·将与所给道路编号相同的道路信息赋给输出结构体变量·/

astToarray.Wuslength++:break;/·找到与所给道路编号相等的记录即跳出循环(道路编号唯一)·/}

elseif(aulId<astArray.WpstRoadmsg[ausMid].WulL-

inkid)

if(O==ausMid)

break;

ausRight=ausMid一1:ausMid=(ausLeft+ausRight)/2;}else{

ausLeft=ausMid+1:

ausMid:(ausLeft+ausRight)/2;||

break;}四、更新模块该模块是对已排序好的二进制文件替换原来的文件,如果出现错误会作出提示,一旦成功后源文件就是新文件了。

INTl6UUPDATE—wusupdateToFile(INTSU幸pucfilename,WstRoadArray‘pucdata){FILE—wusreadToArray(SortPATH,pucdata);//将排序文件读到数组中

FILE—wuswriteFromArray(PATH,pucdata);//将数组中数据写回源文件

returnSUCCESS;}

五、结语随着计算机技术的发展,人们对网络的需求也与日俱增,网上购物、网上订票、网上订餐、网上查询等等,可以足不

出户就能满足日常所需。电子地图管理系统可以使普通用户从网上就能查询国家每条道路的信息,对于街道管理员可以从网上直接更新道路信息,对道路进行管理。

【参考文献】

1.邓文华.数据结构[M].北京:清华大学出版社,201l

2.量汉丽主煽.C语言程序设计.大连:大连理工大学出版社,

2009

万方数据电子地图管理系统设计

作者:宫琳琳作者单位:山东协和学院刊名:产业与科技论坛英文刊名:Estate and Science Tribune年,卷(期):2011,10(17)

1.董汉丽 C语言程序设计 2009

2.邓文华 数据结构 2011

本文链接:http://d.g.wanfangdata.com.cn/Periodical_cyykjlt201117044.aspx

相关主题