基于PocketPC的GIS.NET框架分析与研究

基于PocketPC的GIS.NET框架分析与研究

ID:37419714

大小:422.75 KB

页数:4页

时间:2019-05-23

上传者:U-145848
基于PocketPC的GIS.NET框架分析与研究_第1页
基于PocketPC的GIS.NET框架分析与研究_第2页
基于PocketPC的GIS.NET框架分析与研究_第3页
基于PocketPC的GIS.NET框架分析与研究_第4页
资源描述:

《基于PocketPC的GIS.NET框架分析与研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

维普资讯http://www.cqvip.com陈万通等:基于PocketPC的GIS.NET框架分析与研究基于PocketPC的GIS.NET框架分析与研究陈万通,孙波,何琚(北京师范大学信息科学与技术学院北京100875)摘要:嵌入式地理信息系统是导航、定位、地图查询和空间数据管理的一种理想解决方案,WindowsMobile则为基于PocketPC上的应用程序的开发提供了一个坚实的平台。随着Microsoft.NETCompactFramework2.0的出现,美国Geo—frameworks公司搭建了基于PocketPC的GIS.NET框架,从而使WindowsMobile平台上地理信息系统的实现更加高效。分析了GIS.NET的框架设计,并对该框架的功能进行扩展研究,指出了该框架的应用价值。关键词:嵌入式地理信息系统;GIS.NET;WindowsMobile;PocketPC中图分类号:TP393.03文献标识码:A文章编号:1004—373X(2007)20—094一O3AnalysisandResearchofGIS.NETFrameworkBasedonPocketPCCHENWantong,SUNBo,HEJun(DepartmentofInfomationScienceandTechnology,BeijingNormalUniversity,Beijing,100875,China)Abstract:Theembeddedgeographicinformationsystemisanidealsolutionfornavigation,positioning,map—inquiryandspatialdatamanagement,WindowsMobileprovidesaperfectplatformforthedevelopmentofapplicationsbasedonthePocketPC.WiththebirthofMicrosoft.NETCompactFramework20,U.S.GeoframeworksCompanyrealizedtheGIS.NETforPocketPCandSOtheWindowsMobilecanachievethegeographicinformationsystemmoreeffective.ThispaperanalyzesthedesignofGIS.NETandresearchesthefunctionalextensionofthisframework,atlastitgivesthevalueofapplication.Keywords:embeddedGIS;GIS.NET;WindowsMobile;PocketPC的出现缩短了应用程序的开发效率,并且保证了程序的健1引言壮性和稳定性,而GIS.NET的出现,则提高了嵌入式地理嵌入式地理信息系统是集成了GIS功能的嵌入式产信息系统的开发效率,同时也减少了开发人员对专业地理品,是实现导航、定位、地图查询和空间数据管理的一种理知识的要求。想解决方案。他通过软硬件结合,完成对地理空间数据的2相关技术简介采集、模拟、处理、检索、分析和表达]。目前,嵌入式地理信息系统已经被很多领域所广泛应用,如军事、智能交通、2.1Microsoft.NETCompactFramework野外作业、旅游、自然资源调查、环境研究等。Microsoft.NETCompactFramework是桌面和服务WindowsMobile是一个开放的移动设备操作系统,器版的.NetFramework的子集,为PocketPC,Smart—同时也是最佳的行业应用平台之一,具有良好的平台扩展Phone,WindowsCE以及WindowsMobile操作系统而设性和友好的用户界面,因此成为实现嵌入式地理信息系统计,是建立在CII(通用语言基础)、EMCA和IS()标准之的最佳平台之一∞j。目前,运行WindowsMobile操作系上的CLR(通用语言运行时间)L3]。他主要由以下2部分统的主要有PocketPC和SmartPhone,PocketPC,即掌上组成:电脑,侧重于进行数据处理和移动办公,SmartPhone则侧(1)核心本机代码引擎;重于提供一个将电话、短信息、E—mail和MSN等通信方(2)一系列托管类库。式绑定在一起的平台。2.2GIS.NET在Microsoft.NETCompactFramework未出现之前,GIS.NET是美国GeoFrameworks公司基于.net平嵌入式地理信息系统的实现通常使用EVC开发并且需要台的GIS类库,支持桌面和PocketPC两种运行平台,其大量的地理专业知识,不仅开发效率低,而且对编程人员中的地图组件可以加载ESRI的Shape标准格式的地图,的要求也非常高。Microsoft.NETCompactFramework即后缀名为.shp与.dbf文件,其中.shp文件存储空间位置信息,.dbf存储相关的地图属性信息,此外还支持多种收稿日期:2007—05—09辅助信息图层的加载和显示。94 维普资讯http://www.cqvip.com《现代电子技术}2007年第2O期总第259期嵌入式与单片机Z.3GPS.NEl//GIS.NETESRIPlug—In2.0LicenseKey”1U5FD1一X1B254一XAB1Y1一XAX31X—FGUX43—GPS.NET是美国GeoFrameworks公司基于.net平3ZYWXE”)]台的GPS类库,支持桌面和PocketPC两种运行平台,其endregion中包含很多分析GPS信号的控件,如NMEA语句分析l10Ge0Fra11ework.PocketPCⅢ、GeoFram日w0rk.PocketPC.dlI器、速度计、高度计、卫星轨道分析器、信号强度计和方向‘崩References+()一计等。+¨GeoFrarneworknGeoFramework.Controls{)GeoFramework.IO3GIS.NET架构分析nGeoFramework.Licer~ng-{)GeoFrar~work,Threaa~.一ReSO~EeSGIS.NET的类库的物理表现形式为3个核心的dll0GeoFramework.Gis.PocketPC一衄、GeoFramework.Gis.PocketPC.dIl文件:GeoFramework.PocketPC.dll,GeoFramework.Gis.·References().PocketPC.dll,GeoFramework.IO.Esri.PocketPC.dll。其+1)Gearamework.Gis+‘)GeoFramew~k.as.Projections在整个Geoframeworks框架中的位置如图1所示:+‘)Ge~=ramework.IO1)Ge~=ramework.LicensingResources=0GeoFramework.IO.Esri.PocketPC—GeoFrarnework.10.Esri.PocketPC.dHReferences+().+1)GeoFramework.IO.EsrI‘,GeoFrarnework_L【ens、a图2封装的部分名字空间3.1地图模块描述3.1.1Shape格式地图加载GIS.NET使用了一种特殊的多线程架构来实现地图的加载,使得加载地图数据和地图绘图可以同时进行,并且加载图层的速度很快。目前GIS.NET只支持美国ES—RI的Shape格式的地图文件,加载图层的方法有多种实现方式,最常用的是从文件加载,如下代码所示:ShapeIayerTestMap—EsriShapeFile.GetShapeIayer(@”图1GIS.NET架构图示\ProgramFiles\YourMapData\YourMap.shp”);其中GeoFramework.PocketPC.dll中的类库为GIS.//YourMap.shp与YourMap.dbf会同时加载TestMap.DefaultBrush—null;NET和GPS.NET所共用,主要是对地理信息系统的基//设置绘制该图层各个区域所用的画刷本对象的描述和封装,如在GPS和GIS中都会用到的经TestMap.DefaultPen—newPen(Color.White,3.Of);度、纬度、角度、方向等基本元素,GeoFramework.Gis.//设置绘制该图层各个区域轮廓所用的画笔PocketPC.dll中包含了地图组件、地图图层、比例尺等GISTestMap.Annotations.Color—Color.Green;//设置图层显示标注的颜色重要组成部分的实现,而GeoFramework.IO.Esri.Pocket-TestMap.IsAlwaysVisibletrue:PC.dll则主要实现将.shp和.dbf格式的ESRI地图文件//设置该图层是否总是可见转换成数据流的形式以便地图组件进行加载和显示。Map.Layers.Add(TestMap);//Map是地图控件通过Reflector工具可以查看封装在这3个.NET类3.1.2辅助信息的图层加载库文件内部的名字空间、类以及类内的成员变量、方法和GIS.NET提供的辅助信息图层有网格层、装饰层、图事件(见图2)。其中GeoFramework.IO和GeoFrame—像层]。其中网格层主要加载经纬网络,并且可以调节网work.Licensing两个名字空间在这3个.dll文件都有分格的疏密程度,并且网络会随着地图的缩放进行正确的调布,但描述的类不同。GeoFramework.Licensing命名空间整。装饰层用小图标来突出显示地图上的一些相关地点,主要实现GeoFrameworks公司的授权使用机制,需要在例如黑点、五角星等。加载图像层可以在原有的地图基础Assemblylnfo.CS输入如下代码:上嵌入某个地区的卫星图片,以进行对比和观察。相关代usingGeoFramework.Licensing;码如下:#regionGeoFrameworksTrialIicenseKeysGeoFramework.Gis.GridIayerGrid—newGridIayer();lassembly:GeoFrameworksIicense(Grid.Resolution—this.TrackBar.trackBarValue;//GIS.NET2.OIicenseKey//控制网格疏密程度”17WFD1一X1B254一XAB1Y1一XAX31X—FGUXB3—Map.Layers.Add(Grid);//J~载网格层3IYWXR”,//试用授权码95 维普资讯http://www.cqvip.com陈万通等:基于PocketPC的GIS.NET框架分析与研究AdornmentIayerAdornments—newAdornmentIayer();标显示图层、自定义路线、自定义区域等。但可以通过继Adornments.IsAlwaysOnTop—true;承Layer抽象类来实现具体的自定义图层,由于Layer类//控制装饰层位于地图最上AdornmentAlamosa—Adornment.Dot(AdornmentDot~定义了图层这一对象包含的基本成员变量、属性、方法和Color.Red,newPosition(SomePositionStr));事件。所以自定义图层要做的主要工作就是绘图操作,即//g0建一个名为Alamosa的修饰位置,用红点表示Alamosa.Annotation—newAnnotation(’Alamosa”,Alam-根据不同的图层显示功能设计不同的绘图方案,而绘图的osa.Position);//~'1建该位置的标注操作主要基于GDI+的方法进行完成,以自定义路线图层Alamosa.Annotation.Color—Color.Yellow;为例给出创建自定义图层的示意代码://~J建该标注的颜色Adornments.Add(Alamosa);//将该位置加入修饰层图层publicclassRouteIayer:LayerMap.I.ayers.Add(Adornments);//当前地图加载该修饰层{⋯//构造函数、图层属性、定义成员变量部分的代码protectedoverridevoidOnRender(WorldGraphicsg)BitmapSatellite—newBitmaprIProgramFiles}{YourlmageData\YourImage.jPg“);//当地图组件放大和缩小时候,引起图层内部的绘图操作//从.jpg格式卫星图片创建位图对象for(inti一0:i

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

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

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