关于GPS!大家给指个道!(顶也有分哦) (200分)

  • 主题发起人 主题发起人 zLight
  • 开始时间 开始时间
Z

zLight

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在做一个Gis项目,里面用到GPS,这是总体设计里的话:
"将Garmin公司的etrex Venture GPS接收机的数据格式转换为系统可以认可和利用的数据格式。"
我从来没做过这东西,对串口也不是太了解,那位前辈有过经验的,给发点相关资料来学习一下,当然有是有Demo就更好了!
如果收到货真价实的好资料,一定还另有重谢!!
                            by:Justin
http://jstn.dalianit.com
 
看来是有点难度了,200分都没人问津!
 
GPS接收机的数据格式是咋样的?
 
呵呵,应该不难的。
我几年前用过,我也没用过Garmin公司的etrex Venture GPS。
GPS接收机的数据格式一般都是文本格式的(GPS自带说明书),然后从文本中提取你要的信息。在www.mapinfo.www 上有一个vb做的例子。
 
To hardware007:
这是我得到的所谓的两页设计文档中的一大段,看看是不是你说的格式:

GPS以文本方式输出数据时的数据格式:
Simple Text Output Format:

The simple text (ASCII) output contains time, position, and velocity data in the fixed width fields (not delimited) defined in the following table:

FIELD DESCRIPTION: WIDTH: NOTES:
----------------------- ------- ------------------------
Sentence start 1 Always '@'
----------------------- ------- ------------------------
/Year 2 Last two digits of UTC year
| ----------------------- ------- ------------------------
| Month 2 UTC month, "01".."12"
T | ----------------------- ------- ------------------------
i | Day 2 UTC day of month, "01".."31"
m | ----------------------- ------- ------------------------
e | Hour 2 UTC hour, "00".."23"
| ----------------------- ------- ------------------------
| Minute 2 UTC minute, "00".."59"
| ----------------------- ------- ------------------------
/Second 2 UTC second, "00".."59"
----------------------- ------- ------------------------
/Latitude hemisphere 1 'N' or 'S'
| ----------------------- ------- ------------------------
| Latitude position 7 WGS84 ddmmmmm, with an implied
| decimal after the 4th digit
| ----------------------- ------- ------------------------
| Longitude hemishpere 1 'E' or 'W'
| ----------------------- ------- ------------------------
| Longitude position 8 WGS84 dddmmmmm with an implied
P | decimal after the 5th digit
o | ----------------------- ------- ------------------------
s | Position status 1 'd' if current 2D differential GPS position
i | 'D' if current 3D differential GPS position
t | 'g' if current 2D GPS position
i | 'G' if current 3D GPS position
o | 'S' if simulated position
n | '_' if invalid position
| ----------------------- ------- ------------------------
| Horizontal posn error 3 EPH in meters
| ----------------------- ------- ------------------------
| Altitude sign 1 '+' or '-'
| ----------------------- ------- ------------------------
| Altitude 5 Height above or below mean
/ sea level in meters
----------------------- ------- ------------------------
/East/West velocity 1 'E' or 'W'
| direction
| ----------------------- ------- ------------------------
| East/West velocity 4 Meters per second in tenths,
| magnitude ("1234" = 123.4 m/s)
V | ----------------------- ------- ------------------------
e | North/South velocity 1 'N' or 'S'
l | direction
o | ----------------------- ------- ------------------------
c | North/South velocity 4 Meters per second in tenths,
i | magnitude ("1234" = 123.4 m/s)
t | ----------------------- ------- ------------------------
y | Vertical velocity 1 'U' (up) or 'D' (down)
| direction
| ----------------------- ------- ------------------------
| Vertical velocity 4 Meters per second in hundredths,
/ magnitude ("1234" = 12.34 m/s)
----------------------- ------- ------------------------
Sentence end 2 Carriage return, '0x0D', and
line feed, '0x0A'
----------------------- ------- ------------------------

If a numeric value does not fill its entire field width, the field is padded
with leading '0's (eg. an altitude of 50 meters above MSL will be output as "+00050").

Any or all of the data in the text sentence (except for the sentence start
and sentence end fields) may be replaced with underscores to indicate
invalid data.
 
自己顶!!!
 
?既然你已有GPS以文本方式输出数据时的数据格式的文档,你还想知道什么?
 
GPS数据格式例子:
$GPRMC,,A,3855.3235,N,07704.37574,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3274,N,07704.377,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3314,N,07704.37826,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3353,N,07704.38144,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3402,N,07704.38396,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3446,N,07704.38648,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3446,N,07704.3833,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3441,N,07704.38078,W,06.8,040.2,,13.,W*43
$GPRMC,,A,3855.3446,N,07704.37766,W,06.8,040.2,,13.,W*43
 
To yostgxf:
[?]见笑了,说实话,我不知道上面那个是做什么用的!
 
噢,是这样。
一般来说232接口从GPS读出来的是一个文本,举例($GPRMC,,A,3855.3235,N,07704.37574,W,06.8,040.2,,13.,W*43)
每一秒中它就发一串。你刚才的数据格式的文档就是这一串文本的说明。

Sentence start 1 Always '@'
----------------------- ------- ------------------------
/Year 2 Last two digits of UTC year
| ----------------------- ------- ------------------------
| Month 2 UTC month, "01".."12"
T | ----------------------- ------- ------------------------
i | Day 2 UTC day of month, "01".."31"
m | ----------------------- ------- ------------------------
e | Hour 2 UTC hour, "00".."23"
| ----------------------- ------- ------------------------
| Minute 2 UTC minute, "00".."59"
| ----------------------- ------- ------------------------
/Second 2 UTC second, "00".."59"
----------------------- ------- ------------------------

上面这段意思是你的GPS的输出为:第一位总是@,再二位表示年,再二位表示月(01-12),再二位表示日(01-31),再二位表示小时(00-23),等等。。。
比如2004年4月22日20点58分20秒。。。就输出为:
@040422205820...

明白了吗?
 
哦!这么一说明白多了,谢谢,等我再看看还有什么问题(先保你100分了!)[:D]
 
[:(] 自己再顶一下了!
 
yostgxf讲的很清楚了.既然已经知道传过来的数据格式了.接收以后,再根据系统的可用
数据格式做一些转换,你又没给出系统的数据格式,就没什么好说的.
 
我也不知道楼主还想要知道什么。 :(
 
哎!是这样的,一时还不能开始做,所以我还没有深入研究,也没得到第一手的资料,所以现在还问不出什么东西。
这样,我先把贴子结了,各位大侠等我下回提问的时候记得来关照一下小弟就行了!!!
 
接受答案了
 
后退
顶部