1、嵌入式GIS是GIS发展的一个新的方向嵌入式GIS是GIS发展的一个新的方向。市场前景广泛。利用嵌入式系统体积小携带方便的特点。在很多行业都有发展前途。小弟从研究生学生时代即开始作这方面的工作。有点体会,放上来和大家共享。系统已经从底层开发了快3年了。最近大部分的功能都已经实现了。包括开发的数据格式(shape文件)、遥感图像的支持、GPS、点线面的勾画都已经完成。发几张图片和大家共享。有兴趣的可以联系我。email:cyg_gis嵌入式GIS是同其它软件相同,都是一种应用软件。也就是说离不开系统平台的支持。嵌入式系统现在主要有以下几种:(1)Windows CE.开发工具主要有EVC,VC+
2、 2005,.NET CF ,Java.开发GUI主要用MFC,WTL和.NET CF.因为有良好的开发工具支持,在所有的平台当中是最简单的平台。(2)Symbian:是由Nokia为主的一个操作系统,现在在市场上占有的份额最多。开发工具是C+,和Java.开发工具支持不是很好,系统的调试很麻烦。(3)eLinux:是免费的系统。开发工具主要是c+和Java.GUI有QT,gdk还有我们国内的miniGUI.(3)Palm :是原来嵌入式操作系统的老大。但风光不在市场在下滑。最近刚被日本的ACCESS收购。开发很麻烦。运行嵌入式GIS还是有点问题。已经是第三篇嵌入式GIS的内容。这次小弟结合这
3、几年来的经验谈谈嵌入式GIS开发的一些关键问题。不论在何种平台(Windows CE,eLinux,Symbian,Plam).嵌入式GIS开发的最大问题是“资源受限”。内存不足,处理能力太弱,屏幕太小,开发工具支持不够等等。一系列问题。所以开发嵌入式GIS系统的关键是,代码要小巧精干,各方面的开销要小。如在进行加载矢量数据和影像数据的时候,要尽量采用”索引“机制。呵呵,看来大学时候的数据结构可不是白学的,当然各种“树”的使用要用上了。这是系统最关键的一环。因为系统是小弟从底层做起,感慨很多。最近一直想办法推广。因为一个产品一个东西是不是成功是要让它去到市场去使用,而不是坐在家里说如何如何的高
4、级。现在在做在“林业”上的应用。因为要用到遥感图像,然而,遥感图像的数据量都是非常大的。所以,”索引“是非常重要的。现在在可以在系统上使用500多M的数据,如果没有索引,这是根本不可能的。(呵呵,如果有感兴趣的同仁,可以和我联系合作)。前几篇,小弟简单的写了一些开发嵌入式GIS的心得和体会。可能大家早就看的不耐烦了。都是理论和说教,没有一点形象的(成了刚说不练,买狗皮膏药的了)500)this.resized=true;this.style.width=500;。好!小弟就贴几张小弟开发的系统的截图。希望大家给点意见。毕竟是小弟几年来的心血。捧个人场了。更重要是除了Mobile Mapx ,e
5、SumperMap,ArcPad等天价产品之外,小弟有了自己弄的一套(支持GPS,开放的数据格式和遥感影像支持)。500)this.resized=true;this.style.width=500;小弟emial:cyg_gis500)this.resized=true;this.style.width=500; 图1 大数据量测试(这是一个实际地方的森林数据,多边形有3千多个)500)this.resized=true;this.style.width=500;图2 直接用“触笔”勾画多边形(Polygon)500)this.resized=true;this.style.width=50
6、0;图3 勾画的多边形(Polygon)对应的属性数据500)this.resized=true;this.style.width=500;嵌入式GIS-开发之C+C+开发视乎成了神话,很多人认为C太难了,MFC太大了太丑陋了。小弟一直想从底层开发一套同时可以运行在手机和PPC上的系统。但是,遗憾的是MFC根本不能在SmartPhone上运行。而且用MFC开发出来的嵌入式GIS的体积都是比较大,效率也不高。API丑陋的令人难受。WTL 是个不错的选择。利用WTL来开发可以同时运行在SmartPhone和PPC的嵌入式GIS系统,并且速度高速。小弟已经对GDI进行了完全面向对象的包装(模仿c#下
7、的GDI+),内存的问题也得到了很好的解决。绘图引擎也做了起来。(500)this.resized=true;this.style.width=500;小弟手头的钱不多,大约有2万。如果多的话,做成产品前途一片大好,嗨.无语)嵌入式GIS开发(6)-之GPS导航嵌入式GIS没有GPS导航的功能,也是死水一滩。下面我就简单的说说GPGGA这个格式吧。至于其它的坐标等问题,以后在谈。内容有点多。不过是不难的。500)this.resized=true;this.style.width=500;小弟email: cyg_gisGPS接收机能提供ASCII和二进制两种格式。其中ASCII码为NMEA0
8、183,NMEA0183是美国国家海洋电子协会为海用电子设备制定的标准格式。它是在过去海用电子设备的标准格式0180和0182的基础上,增加了GPS接收机输出的内容而完成的。目前广泛采用的是Ver 2.00版本。现在除少数GPS接收机外,几乎所有的接收机均采用了这一格式。各条语句都以$开头,格式为:$AAXXX,dddddd,*hh。AA为识别符,XXX为语句名,dddddd为发送的数据内容,*后hh为校验和,回车、换行符。GPS接收机可以输出多种数据格式。如GGA、ZDA、GLL、GSA、GSV、VTG等格式。其中$GPGGA是最常用的一种数据格式。下面是$GPGGA的一个例子。GPGGA,
9、050901,3931.4449,N,11643.5123,E,1,07,1.4,76.2,M,7.0,M,65 说明如下:(1) GGA表示定位语句。(2) 定位UTC时间:050901表示05时09分01秒 (3) 接收机所在纬度值(格式ddmm.mmmm),N/S(北纬或南纬)。3931.4449,N表示北纬39度31.4449分。(4) 经度(格式dddmm.mmmm),E/W(东经或西经)。11643.5123,E表示东经116度43.5123分。(5) 定位代号(0 为未定位或无效的定位;1为 GPS SPS 格式(SPS为商业用途格式),已定位;2 为偏差修正GPS(即DGPS)
10、,SPS 格式,已定位;3 为GPS PPS 格式(PPS为军用格式),已定位)。1表示使用SPS定位服务而且是有效的定位。(6) 可使用的卫星数。07表示可使用的卫星数为7颗。 (7) 水平精度因子(HDOP),1.4表示水平精度因子为1.4。 (8) 天线MSL(MSL - Main Sea Level公海平面)高程(海平面,9999.999999.9,单位:m),76.2为天线MSL高程。 (9) 大地椭球面相对海平面的高度(999.99999.9,单位:m),7.0m。 (10)差分GPS数据年龄,实时GPS时无:无。 (11)差分基准站号(00001023),实时GPS时无:无。 (
11、12)总和校验域(hh ),总和校验数为65。NMEA0183的串行通讯协议为:波特率为4800,无校验位,8个数据位,开始位和停止位各为1。嵌入式GIS开发(7)-之GPS导航(坐标问题) 从GPS硬件中取得了坐标(经纬度),但此时的坐标是在大地经纬度坐标系下,而我国常用的地图是在平面坐标系下(高斯克吕格坐标系)。另外,GPS的参考椭球是WGS-84椭球,而我国的地图是在克氏椭球和IAG75椭球下的(北京54和西安80坐标)。这就涉及到一系列的坐标变换问题。下面就是相关的步骤和原理。内容挺多,小弟不才,如有问题,请大家指正。500)this.resized=true;this.style.w
12、idth=500;小弟email:cyg_gisGPS测出的点的坐标和我国的现有坐标系是不同的。GPS系统使用的是WGS-84 坐标系。我国现阶段有54和80两种坐标系。54坐标系的参考椭球为克拉索夫斯基椭球。80坐标系的参考椭球为IAG-75椭球。需要 在这些坐标系中进行相互的变换。首先,把从接收机接收到的接收机的大地坐标系坐标B,L,HT转换为空间直角坐标系X,Y,ZT坐标。公式如下,500)this.resized=true;this.style.width=500;注意,此时的空间坐标系值X,Y,ZT是WGS-84下的坐标,而不是我国的坐标。其次,把WGS-84下X,Y,ZT84的坐标
13、转换为我国的坐标系下。常用方法为七参数法,模型为布尔莎公式。布尔莎公式如下:500)this.resized=true;this.style.width=500;通过此公式的转换X,Y,ZT84坐标系下的坐标可以转换为54或80下的坐标X,Y,ZT54或X,Y,ZT80。然后,把克拉索夫斯基椭球或IAG-75 椭球下的空间直角坐标系X,Y,ZT54或X,Y,ZT80再次转换为大地坐标系下的坐标B,L,HT54或B,L,HT80。其转换公式如下:500)this.resized=true;this.style.width=500;最后,利用高斯正算将大地坐标系下的坐标B,L,HT54或B,L,HT80转换为高斯平面上的坐标x,yT。其转换公式如下:500)this.resized=true;this.style.width=500; resized=true通过多步坐标转换,GPS接收机接收下来的点位坐标最终可以表示在平面的地图上了。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1