嵌入式GIS是GIS发展的一个新的方向.docx

上传人:b****8 文档编号:10155518 上传时间:2023-02-08 格式:DOCX 页数:12 大小:247.44KB
下载 相关 举报
嵌入式GIS是GIS发展的一个新的方向.docx_第1页
第1页 / 共12页
嵌入式GIS是GIS发展的一个新的方向.docx_第2页
第2页 / 共12页
嵌入式GIS是GIS发展的一个新的方向.docx_第3页
第3页 / 共12页
嵌入式GIS是GIS发展的一个新的方向.docx_第4页
第4页 / 共12页
嵌入式GIS是GIS发展的一个新的方向.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

嵌入式GIS是GIS发展的一个新的方向.docx

《嵌入式GIS是GIS发展的一个新的方向.docx》由会员分享,可在线阅读,更多相关《嵌入式GIS是GIS发展的一个新的方向.docx(12页珍藏版)》请在冰豆网上搜索。

嵌入式GIS是GIS发展的一个新的方向.docx

嵌入式GIS是GIS发展的一个新的方向

嵌入式GIS是GIS发展的一个新的方向。

市场前景广泛。

利用嵌入式系统体积小携带方便的特点。

在很多行业都有发展前途。

小弟从研究生学生时代即开始作这方面的工作。

有点体会,放上来和大家共享。

系统已经从底层开发了快3年了。

最近大部分的功能都已经实现了。

包括开发的数据格式(shape文件)、遥感图像的支持、GPS、点线面的勾画都已经完成。

发几张图片和大家共享。

有兴趣的可以联系我。

email:

cyg_gis@

 

嵌入式GIS是同其它软件相同,都是一种应用软件。

也就是说离不开系统平台的支持。

嵌入式系统现在主要有以下几种:

(1)WindowsCE.开发工具主要有EVC,VC++2005,.NETCF,Java.开发GUI主要用MFC,WTL和.NETCF.因为有良好的开发工具支持,在所有的平台当中是最简单的平台。

(2)Symbian:

是由Nokia为主的一个操作系统,现在在市场上占有的份额最多。

开发工具是C++,和Java.开发工具支持不是很好,系统的调试很麻烦。

(3)eLinux:

是免费的系统。

开发工具主要是c++和Java.GUI有QT,gdk还有我们国内的miniGUI.

(3)Palm:

是原来嵌入式操作系统的老大。

但风光不在市场在下滑。

最近刚被日本的ACCESS收购。

开发很麻烦。

运行嵌入式GIS还是有点问题。

已经是第三篇嵌入式GIS的内容。

这次小弟结合这几年来的经验谈谈嵌入式GIS开发的一些关键问题。

不论在何种平台(WindowsCE,eLinux,Symbian,Plam).嵌入式GIS开发的最大问题是“资源受限”。

内存不足,处理能力太弱,屏幕太小,开发工具支持不够等等。

一系列问题。

所以开发嵌入式GIS系统的关键是,代码要小巧精干,各方面的开销要小。

如在进行加载矢量数据和影像数据的时候,要尽量采用”索引“机制。

呵呵,看来大学时候的《数据结构》可不是白学的,当然各种“树”的使用要用上了。

这是系统最关键的一环。

因为系统是小弟从底层做起,感慨很多。

最近一直想办法推广。

因为一个产品一个东西是不是成功是要让它去到市场去使用,而不是坐在家里说如何如何的高级。

现在在做在“林业”上的应用。

因为要用到遥感图像,然而,遥感图像的数据量都是非常大的。

所以,”索引“是非常重要的。

现在在可以在系统上使用500多M的数据,如果没有索引,这是根本不可能的。

(呵呵,如果有感兴趣的同仁,可以和我联系合作)。

前几篇,小弟简单的写了一些开发嵌入式GIS的心得和体会。

可能大家早就看的不耐烦了。

都是理论和说教,没有一点形象的(成了刚说不练,买狗皮膏药的了)

500){this.resized=true;this.style.width=500;}">。

好!

小弟就贴几张小弟开发的系统的截图。

希望大家给点意见。

毕竟是小弟几年来的心血。

捧个人场了。

更重要是除了MobileMapx,eSumperMap,ArcPad等天价产品之外,小弟有了自己弄的一套(支持GPS,开放的数据格式和遥感影像支持)。

500){this.resized=true;this.style.width=500;}">小弟emial:

cyg_gis@

500){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=500;}">

图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#下的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_gis@

GPS接收机能提供ASCII和二进制两种格式。

其中ASCII码为NMEA-0183,NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式。

它是在过去海用电子设备的标准格式0180和0182的基础上,增加了GPS接收机输出的内容而完成的。

目前广泛采用的是Ver2.00版本。

现在除少数GPS接收机外,几乎所有的接收机均采用了这一格式。

各条语句都以$开头,格式为:

$AAXXX,ddd…ddd,*hh

AA为识别符,XXX为语句名,ddd…ddd为发送的数据内容,*后hh为校验和,回车、换行符。

GPS接收机可以输出多种数据格式。

如GGA、ZDA、GLL、GSA、GSV、VTG等格式。

其中$GPGGA是最常用的一种数据格式。

下面是$GPGGA的一个例子。

$GPGGA,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为GPSSPS格式(SPS为商业用途格式),已定位;2为偏差修正GPS(即DGPS),SPS格式,已定位;3为GPSPPS格式(PPS为军用格式),已定位)。

1表示使用SPS定位服务而且是有效的定位。

(6)可使用的卫星数。

07表示可使用的卫星数为7颗。

(7)水平精度因子(HDOP),1.4表示水平精度因子为1.4。

(8)天线MSL(MSL-MainSeaLevel公海平面)高程(海平面,-9999.9~99999.9,单位:

m),76.2为天线MSL高程。

(9)大地椭球面相对海平面的高度(-999.9~9999.9,单位:

m),-7.0m。

(10)差分GPS数据年龄,实时GPS时无:

无。

(11)差分基准站号(0000~1023),实时GPS时无:

无。

(12)*总和校验域(hh),总和校验数为65。

NMEA-0183的串行通讯协议为:

波特率为4800,无校验位,8个数据位,开始位和停止位各为1。

嵌入式GIS开发(7)----之GPS导航(坐标问题)

从GPS硬件中取得了坐标(经纬度),但此时的坐标是在大地经纬度坐标系下,而我国常用的地图是在平面坐标系下(高斯-克

吕格坐标系)。

另外,GPS的参考椭球是WGS-84椭球,而我国的地图是在克氏椭球和IAG75椭球下的(北京54和西安80坐标)。

这就涉及到一系列的坐标变换问题。

下面就是相关的步骤和原理。

内容挺多,小弟不才,如有问题,请大家指正。

500){this.resized=true;this.style.width=500;}">小弟email:

cyg_gis@

GPS测出的点的坐标和我国的现有坐标系是不同的。

GPS系统使用的是WGS-84坐标系。

我国现阶段有54和80两种坐标系。

54坐标系的参考椭球为克拉索夫斯基椭球。

80坐标系的参考椭球为IAG--75椭球。

需要在这些坐标系中进行相互的变换。

首先,把从接收机接收到的接收机的大地坐标系坐标[B,L,H]T转换为空间直角坐标系[X,Y,Z]T坐标。

公式如下,

500){this.resized=true;this.style.width=500;}">

注意,此时的空间坐标系值[X,Y,Z]T是WGS-84下的坐标,而不是我国的坐标。

其次,把WGS-84下[X,Y,Z]T84的坐标转换为我国的坐标系下。

常用方法为七参数法,模型为布尔莎公式。

布尔莎公式如下:

500){this.resized=true;this.style.width=500;}">

通过此公式的转换[X,Y,Z]T84坐标系下的坐标可以转换为54或80下的坐标[X,Y,Z]T54或[X,Y,Z]T80。

然后,把克拉索夫斯基椭球或IAG--75椭球下的空间直角坐标系[X,Y,Z]T54或[X,Y,Z]T80再次转换为大地坐标系下的坐标[B,L,H]T54或[B,L,H]T80。

其转换公式如下:

500){this.resized=true;this.style.width=500;}">

最后,利用高斯正算将大地坐标系下的坐标[B,L,H]T54或[B,L,H]T80转换为高斯平面上的坐标[x,y]T。

其转换公式如下:

500){this.resized=true;this.style.width=500;}"resized="true">

通过多步坐标转换,GPS接收机接收下来的点位坐标最终可以表示在平面的地图上了。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1