论文部分内容阅读
摘要:本文阐述了常用移动测量数据采集、处理软件与GeoSolution软件的不同之处,对目前常用的数据采集、处理软件的优缺点作了分析,并针对以上缺点提出了GeoSolution软件的开发目标。论述了Windows Mobile 6.0操作系统应用程序的开发环境,GeoSolution软件所采用的开发架构和使用的技术,并对GeoSolution软件的开发过程作了的说明,同时提出了在软件开发过程中遇到的技术难题的一些解决方法。
关鍵词:移动设备;测绘软件开发;数据处理;Windows Mobile;PPC
0引言
测绘行业, GPS、RS、GIS等新技术在提高空间数据采集、处理、分析与应用等方面起到了不可替代的作用,然而传统的外业数据采集方法在某些特殊场合还有较大的生存空间。多年以来,伴随着全站仪、GPS、三维激光扫描仪的问世,空间数据采集变得简单和快速,然而空间数据的处理并没有跟上数据采集的发展步伐,能够实现实时或者准实时数据处理的软件工具包寥寥无几。
1移动计算设备开发概述
移动计算设备是指带有操作系统的PPC或者SmartPhone,就我们测绘行业来说,我们日常生产工作中所用的带有Win CE操作系统的全站仪,GPS手簿,移动GIS数据采集工具都可以叫做移动计算设备。目前应用于移动计算设备的操作系统主要有Windows Mobile(Windows CE)、Symbian S60(UIQ)、Palm和Linux。
本文中所论述的GeoSolution软件是在Windows Mobile 6.0操作系统上开发的。Windows Moblie操作系统应用程序开发方式分为编写托管代码和本地代码两种方式。GeoSolution采用编写托管代码的方式开发,即程序的运行需要.Net Compact Framework运行时。
2常用移动测量数据采集、处理软件与GeoSolution的对比
2.1 EpsCtrl掌上控制测量软件功能简介
EpsCtrl是运行在掌上电脑(PDA)上的控制测量软件。集水准、导线、沉降野外测量和平差功能于一体。应用 EpsCtrl 进行控制测量方便而快捷,实时检核,保证了外业控制测量数据的有效和可利用性。
2.2EpsCE 掌上电子平板功能简介
EPSCE是针对测绘行业以及GIS数据更新维护而开发的基于掌上电脑硬件平台的数据采集更新维护系统,并扩展了地下管线勘测、林业资源调查、工程测量、影像调绘等专业应用,便捷和高效地实现GIS数据库的更新和工程应用。
2.3测图精灵功能简介
测图精灵(Mapping Genius)是南方测绘仪器公司全新推出的野外测绘数据采集及成图一体化软件。它充分发挥笔记本电脑、电子手薄、掌上平板的优点,实现了坐标、图形、属性数据的同步采集、现场成图,做到真正的内外业一体化。可视化界面,人性化设计,操作简单,携带方便,是目前较为理想的野外测绘数据采集及成图工具。
2.4与GeoSolution测量软件工具包的比较
以上三个常用移动测量数据采集、处理软件在功能上已经比较完善了,它们能够完成测量外业数据采集和计算的大部分工作,最新版本都具有图形化的操作界面,能够实时的显示成果以及输出打印功能等。它们的优点是可以运行在搭载有Win CE操作系统的电子手簿或者PDA上,实现数据的实时采集、计算等功能。但是它们有一定程度的不足,安装在体积不是很小、携带并不方便的电子手簿或者PDA上,同时这些设备不具备测量外业常用的交会定点功能、坐标转换功能,只是面向GIS数据的采集,简单的导线、水准平差计算以及地形图绘制。同时这些设备的价格不是很便宜,往往都要几万元。
正因为有以上几个缺点,为了能够在现场实时或准实时的处理数据,将设备体积小型化,降低成本,笔者开发了GeoSolution软件,它能够安装在Pocket PC或者是在搭载有Windows Mobile操作系统的智能手机上,在进行测量工作地同时进行观测数据输入、保存、检查、平差计算与成果的输出等工作。而通常较为高端智能手机的价格只是电子手簿等PDA设备的1/10,降低了生产成本。
目前该软件提供了导线平差、水准平差、交会定点以及高斯坐标正反算功能。
GeoSolution软件具有图形化的工作界面,可以以数据表格的形式输入观测数据,同时还可以导入保存的观测数据。在交会定点功能中也可以以图形化的方式输入观测数据。GeoSolution软件基本上达到了实时或准实时数据处理的开发目标。
3GeoSolution软件的开发环境搭建[2]
由于采用编写托管代码的方式开发程序与特定的硬件平台无关,可以跨语言调试,应用程序具有更好的适应性。因此,GeoSolution软件采用托管方式开发。在开发的过程中选用Visual Studio 2008+SP1集成开发环境和Windows Mobile 6.0 SDK。使用了.Net平台的兼容语言VC#,.Net Compact Framework版本为2.0,同步软件ActiveSync版本为4.5。
3.1Microsoft Visual Studio 2008开发环境
Microsoft Visual Studio 2008 专业版是一个功能强大的开发环境。它主要面向独立的专业开发人员和小型的开发团队,使他们能够开发出高性能的、丰富用户体验的分布式系统。Visual Studio 2008 专业版可以用来开发Web(包括 ASP.NET AJAX),Windows Vista,Windows Server 2008,Office 2007,SQL Server 2008 和 Windows Mobile 应用程序。
3.2Windows Mobile 6.0 SDK
SDK即Software Development Kits的缩写,也就是软件开发者工具包的意思。Windows Mobile 6.0 SDK是微软针对搭载有Windows Mobile 6.0操作系统的移动设备发布的开发工具包,其中包括用于移动设备开发的组建、开发示例的源代码、技术文档以及大量的开发类库文件。在安装完VS2008+SP1开发环境后需要针对所开发的设备类型安装合适的SDK版本。
4GeoSolution的功能实现与部署、测试
4.1GeoSolution的架构
4.2应用程序界面的构建[3]
设计良好的用户界面是程序设计中较为重要的一步,拥有较为人性化的用户接口可以使用户更为方便的使用软件辅助他们的日常工作。GeoSolution软件是在Windows Mobile 6.0 Professional平台上运行的,所有的与用户的交互都是通过手写笔与屏幕之间的点击完成的,充分利用SDK中所提供的组件,例如PictureBox、Label、MainMenu、Button等。为了使程序启动过程中能够给用户提供更多的信息,可以使用Timer等控件延时程序的启动,加载一些相关信息。
4.3功能实现中的关键技术
1)延时启动程序,动态加载信息[4]
当窗体加载时候可以设置各个组件的可见属性(Visible),以及要动态加载的信息。要实现在程序启动前显示启动图像需要向窗体中添加计时器控件(Timer)以控制程序功能图标的显示。向窗体的Form_Load()事件处理程序中添加代码以控制位图及信息的动态显示。
2)为GeoSolution添加数据库支持[5]
GeoSolution软件中所使用的数据库为SQL CE 3.5。由于要实时的输入观测数据,因此向程序窗体添加数据表格控件(DataGrid),使用VS内置的数据库编辑器创建数据表的结构,再向项目中添加数据源。接着可以用拖拽的方式向数据表格控件中绑定数据源。
3)平差计算前的数据有效性检验
在输入数据的时候用户不可能一次就正确的输入观测数据,有时多行,有时少行,这样就需要对输入数据进行有效性的检验。
4)实现平差计算结果的保存[6]
当用户完成平差计算,有可能需要保存计算结果,可以把解算数据保存为文本文件,使用Windows Mobile自带的Mobile Word就可以浏览,同时还可以编辑。在实现这一功能时,我把所有的解算信息以一定得格式保存在一个string类型的变量中,在通过流类向文件写入数据时可以减少很多工作,不必考虑文件的内容,只要通过流类向指定的文件中写入数据即可。
5)保存與导入观测数据[7]
以文本格式保存观测数据既直观又方便,可以使用Word Mobile直接查看修改。由于观测数据是以数据表格的方式输入的,会保存在数据库中,它的读取和存储方式会不同于流式文件的读取和存储。输入数据表格的数据将会保存在内存中的数据集(DataSet)对象中,而不会向数据库表文件中同步。因此,在保存和导入观测数据前需要获取内存中的数据集对象。同时为了避免数据存取时发生错误有必要进行相应的初始化。
从DataSet类中提取数据,并赋给临时string类型变量,同时向文件中写入格式数据。
6)软件的安装部署
Windows Mobile操作系统的程序安装很简单,将打包好的程序文件用ActiveSync软件同步到设备上,在设备上单击即可完成。
5总结
本文系统的阐述了GeoSolution软件的整个开发过程,说明了软件开发过程中采用的平台与架构以及提出了解决开发过程中遇到的主要技术难题的解决方法。
GeoSolution软件应用较为廉价的智能手机,实现了在价格昂贵的电子手簿或者PDA上实现的常用测量外业数据处理功能,降低了设备的成本,提高了生产效率。目前v1.0.1.6版本程序可以安装在Windows Mobile 2003、5.0、6.0版本操作系统上。并且通过一定的转换可以安装在全站仪、GPS手簿等测量仪器上,极大的方便外业工作。
参考文献
[1] Andy Wigley, Daniel Moth, Peter Foot. Windows Mobile Development Handbook[M]. America: Microsoft Press, 2008.
[2] Microsoft Developer Network, http://msdn.microsoft.com.
[3] Paul Yao, David Duant. .Net Compact Framework Programming with C#[M]. America:Broadview, 2006,6.
[4] M Chris Sells. Windows Forms Programming in C#[M]. America: POSTS&TELECOM PRESS, 2004.4.
[5] Karli Waston,Christian Nagel[M]. Beginning Visual C# 2005. America: Wrox Press, 2005.
[6] Matt Telles. C# Black Book[M]. America: Coriolis Press, 2002.6.
[7] Paul Kimmel. Advanced C# Programming 2rd Edition[M]. America: OSBORNE Press, 2005.
注:文章内所有公式及图表请以PDF形式查看。
关鍵词:移动设备;测绘软件开发;数据处理;Windows Mobile;PPC
0引言
测绘行业, GPS、RS、GIS等新技术在提高空间数据采集、处理、分析与应用等方面起到了不可替代的作用,然而传统的外业数据采集方法在某些特殊场合还有较大的生存空间。多年以来,伴随着全站仪、GPS、三维激光扫描仪的问世,空间数据采集变得简单和快速,然而空间数据的处理并没有跟上数据采集的发展步伐,能够实现实时或者准实时数据处理的软件工具包寥寥无几。
1移动计算设备开发概述
移动计算设备是指带有操作系统的PPC或者SmartPhone,就我们测绘行业来说,我们日常生产工作中所用的带有Win CE操作系统的全站仪,GPS手簿,移动GIS数据采集工具都可以叫做移动计算设备。目前应用于移动计算设备的操作系统主要有Windows Mobile(Windows CE)、Symbian S60(UIQ)、Palm和Linux。
本文中所论述的GeoSolution软件是在Windows Mobile 6.0操作系统上开发的。Windows Moblie操作系统应用程序开发方式分为编写托管代码和本地代码两种方式。GeoSolution采用编写托管代码的方式开发,即程序的运行需要.Net Compact Framework运行时。
2常用移动测量数据采集、处理软件与GeoSolution的对比
2.1 EpsCtrl掌上控制测量软件功能简介
EpsCtrl是运行在掌上电脑(PDA)上的控制测量软件。集水准、导线、沉降野外测量和平差功能于一体。应用 EpsCtrl 进行控制测量方便而快捷,实时检核,保证了外业控制测量数据的有效和可利用性。
2.2EpsCE 掌上电子平板功能简介
EPSCE是针对测绘行业以及GIS数据更新维护而开发的基于掌上电脑硬件平台的数据采集更新维护系统,并扩展了地下管线勘测、林业资源调查、工程测量、影像调绘等专业应用,便捷和高效地实现GIS数据库的更新和工程应用。
2.3测图精灵功能简介
测图精灵(Mapping Genius)是南方测绘仪器公司全新推出的野外测绘数据采集及成图一体化软件。它充分发挥笔记本电脑、电子手薄、掌上平板的优点,实现了坐标、图形、属性数据的同步采集、现场成图,做到真正的内外业一体化。可视化界面,人性化设计,操作简单,携带方便,是目前较为理想的野外测绘数据采集及成图工具。
2.4与GeoSolution测量软件工具包的比较
以上三个常用移动测量数据采集、处理软件在功能上已经比较完善了,它们能够完成测量外业数据采集和计算的大部分工作,最新版本都具有图形化的操作界面,能够实时的显示成果以及输出打印功能等。它们的优点是可以运行在搭载有Win CE操作系统的电子手簿或者PDA上,实现数据的实时采集、计算等功能。但是它们有一定程度的不足,安装在体积不是很小、携带并不方便的电子手簿或者PDA上,同时这些设备不具备测量外业常用的交会定点功能、坐标转换功能,只是面向GIS数据的采集,简单的导线、水准平差计算以及地形图绘制。同时这些设备的价格不是很便宜,往往都要几万元。
正因为有以上几个缺点,为了能够在现场实时或准实时的处理数据,将设备体积小型化,降低成本,笔者开发了GeoSolution软件,它能够安装在Pocket PC或者是在搭载有Windows Mobile操作系统的智能手机上,在进行测量工作地同时进行观测数据输入、保存、检查、平差计算与成果的输出等工作。而通常较为高端智能手机的价格只是电子手簿等PDA设备的1/10,降低了生产成本。
目前该软件提供了导线平差、水准平差、交会定点以及高斯坐标正反算功能。
GeoSolution软件具有图形化的工作界面,可以以数据表格的形式输入观测数据,同时还可以导入保存的观测数据。在交会定点功能中也可以以图形化的方式输入观测数据。GeoSolution软件基本上达到了实时或准实时数据处理的开发目标。
3GeoSolution软件的开发环境搭建[2]
由于采用编写托管代码的方式开发程序与特定的硬件平台无关,可以跨语言调试,应用程序具有更好的适应性。因此,GeoSolution软件采用托管方式开发。在开发的过程中选用Visual Studio 2008+SP1集成开发环境和Windows Mobile 6.0 SDK。使用了.Net平台的兼容语言VC#,.Net Compact Framework版本为2.0,同步软件ActiveSync版本为4.5。
3.1Microsoft Visual Studio 2008开发环境
Microsoft Visual Studio 2008 专业版是一个功能强大的开发环境。它主要面向独立的专业开发人员和小型的开发团队,使他们能够开发出高性能的、丰富用户体验的分布式系统。Visual Studio 2008 专业版可以用来开发Web(包括 ASP.NET AJAX),Windows Vista,Windows Server 2008,Office 2007,SQL Server 2008 和 Windows Mobile 应用程序。
3.2Windows Mobile 6.0 SDK
SDK即Software Development Kits的缩写,也就是软件开发者工具包的意思。Windows Mobile 6.0 SDK是微软针对搭载有Windows Mobile 6.0操作系统的移动设备发布的开发工具包,其中包括用于移动设备开发的组建、开发示例的源代码、技术文档以及大量的开发类库文件。在安装完VS2008+SP1开发环境后需要针对所开发的设备类型安装合适的SDK版本。
4GeoSolution的功能实现与部署、测试
4.1GeoSolution的架构
4.2应用程序界面的构建[3]
设计良好的用户界面是程序设计中较为重要的一步,拥有较为人性化的用户接口可以使用户更为方便的使用软件辅助他们的日常工作。GeoSolution软件是在Windows Mobile 6.0 Professional平台上运行的,所有的与用户的交互都是通过手写笔与屏幕之间的点击完成的,充分利用SDK中所提供的组件,例如PictureBox、Label、MainMenu、Button等。为了使程序启动过程中能够给用户提供更多的信息,可以使用Timer等控件延时程序的启动,加载一些相关信息。
4.3功能实现中的关键技术
1)延时启动程序,动态加载信息[4]
当窗体加载时候可以设置各个组件的可见属性(Visible),以及要动态加载的信息。要实现在程序启动前显示启动图像需要向窗体中添加计时器控件(Timer)以控制程序功能图标的显示。向窗体的Form_Load()事件处理程序中添加代码以控制位图及信息的动态显示。
2)为GeoSolution添加数据库支持[5]
GeoSolution软件中所使用的数据库为SQL CE 3.5。由于要实时的输入观测数据,因此向程序窗体添加数据表格控件(DataGrid),使用VS内置的数据库编辑器创建数据表的结构,再向项目中添加数据源。接着可以用拖拽的方式向数据表格控件中绑定数据源。
3)平差计算前的数据有效性检验
在输入数据的时候用户不可能一次就正确的输入观测数据,有时多行,有时少行,这样就需要对输入数据进行有效性的检验。
4)实现平差计算结果的保存[6]
当用户完成平差计算,有可能需要保存计算结果,可以把解算数据保存为文本文件,使用Windows Mobile自带的Mobile Word就可以浏览,同时还可以编辑。在实现这一功能时,我把所有的解算信息以一定得格式保存在一个string类型的变量中,在通过流类向文件写入数据时可以减少很多工作,不必考虑文件的内容,只要通过流类向指定的文件中写入数据即可。
5)保存與导入观测数据[7]
以文本格式保存观测数据既直观又方便,可以使用Word Mobile直接查看修改。由于观测数据是以数据表格的方式输入的,会保存在数据库中,它的读取和存储方式会不同于流式文件的读取和存储。输入数据表格的数据将会保存在内存中的数据集(DataSet)对象中,而不会向数据库表文件中同步。因此,在保存和导入观测数据前需要获取内存中的数据集对象。同时为了避免数据存取时发生错误有必要进行相应的初始化。
从DataSet类中提取数据,并赋给临时string类型变量,同时向文件中写入格式数据。
6)软件的安装部署
Windows Mobile操作系统的程序安装很简单,将打包好的程序文件用ActiveSync软件同步到设备上,在设备上单击即可完成。
5总结
本文系统的阐述了GeoSolution软件的整个开发过程,说明了软件开发过程中采用的平台与架构以及提出了解决开发过程中遇到的主要技术难题的解决方法。
GeoSolution软件应用较为廉价的智能手机,实现了在价格昂贵的电子手簿或者PDA上实现的常用测量外业数据处理功能,降低了设备的成本,提高了生产效率。目前v1.0.1.6版本程序可以安装在Windows Mobile 2003、5.0、6.0版本操作系统上。并且通过一定的转换可以安装在全站仪、GPS手簿等测量仪器上,极大的方便外业工作。
参考文献
[1] Andy Wigley, Daniel Moth, Peter Foot. Windows Mobile Development Handbook[M]. America: Microsoft Press, 2008.
[2] Microsoft Developer Network, http://msdn.microsoft.com.
[3] Paul Yao, David Duant. .Net Compact Framework Programming with C#[M]. America:Broadview, 2006,6.
[4] M Chris Sells. Windows Forms Programming in C#[M]. America: POSTS&TELECOM PRESS, 2004.4.
[5] Karli Waston,Christian Nagel[M]. Beginning Visual C# 2005. America: Wrox Press, 2005.
[6] Matt Telles. C# Black Book[M]. America: Coriolis Press, 2002.6.
[7] Paul Kimmel. Advanced C# Programming 2rd Edition[M]. America: OSBORNE Press, 2005.
注:文章内所有公式及图表请以PDF形式查看。