我正在编写一个应该进行多次GPS协调并对它们进行一些处理的程序。我假设将要安装应用程序的服务器应配备gps接收器。
GPS接收器是否暂时存储gps协调以用于应用程序(更好的说这个接收器可以同时处理几个gps协调)吗? 我还阅读了.net中的GPS中间驱动程序。
Java有类似的东西(即GPS中间驱动程序)吗?如果是,哪个更强大?
答案 0 :(得分:0)
首先,请记住,GPS接收器很可能无法在室内工作,因此我认为“服务器”指的是某些移动设备或手机。
关于你的第一个问题,我不知道你使用的GPS接收器,但是,我认为大多数设备的工作原理如下:
您查询GPS接收器,等待,然后GPS接收器为您提供坐标。如果你想将它们存储为列表,那么你必须自己构建逻辑。
(更好的说这个接收者可以动手 几个gps coordinatinos同样 时间)
每个接收器将为您提供一组坐标,这些坐标代表接收器在您请求协调时的位置。
关于你的上一个问题,我从未使用GPS Intermediate Driver,但是,我使用了Java提供的Location API。关于哪个更强大,我认为你必须考虑你需要做什么。我认为它们提供相同的功能。
答案 1 :(得分:0)
我是GPS的新手。就在上周,我被深深地投入到为我们的GPS设备编写虚拟串行端口驱动程序,我最近毕业于应用程序编程。我确实完成了,所以你可以:)
我认为安装该应用程序的服务器应配备gps接收器,并配备gps接收器。
您的应用程序必须从某个地方获取GPS数据,无论是来自COM端口还是框架中的方法调用。如果您直接使用GPS输出,则需要了解NMEA字符串才能将其转换为某个位置。如需阅读相关信息,我建议您使用以下网站:http://teletype.com/pages/support/Documentation/RMC_log_info.htm和仅允许1个链接
1)我的一个疑问是GPS接收器暂时存储gps协调以用于应用
如上所述,如果您谈论与GPS的直接通信,则取决于驾驶员。一般来说,GPS设备应创建一组NMEA字符串,然后将这些字符串从设备中弹出到PC中,然后将这些字符串存储在驱动程序的缓冲区中。当您从驱动程序请求数据时,它将从缓冲区中删除该数据,以便不再读取它。 即GPS将NMEA字符串发送到长度为960个字符的PC。驱动程序上的缓冲区将存储这些字符。你执行读取并获取512个字符,缓冲区现在包含448.如果GPS设备推出新的NMEA字符串(再次960个字符),则缓冲区将再次为960个字符。 人们会认为GPS设备应该每5秒至少踢出新的NMEA字符串。
这是我通过调用我的驱动程序获得的缓冲区数据的示例。因为我在里面没有信号,但它是有效的数据。
GPRMC,100637.410,V ,,,,,,, 300908 ,,, N * 49
$ GPGGA,100638.410 ,,,,, 0,00 ,,,男,0.0,M,0000 * 5F
$ GPGSA,A,1 ,,,,,,,,,,,,,,, * 1E
$ GPGSV,3,1,12,28,89,179,20,49,092,08,46,237,07,31,193,* 7A
$ GPGSV,3,2,12,32,31,069,11,27,035,17,27,316,04,26,239,* 7B
$ GPGSV,3,3,12,23,12,118,05,06,207,19,05,072,13,03,168,* 70
$ GPRMC,100638.410,V ,,,,,,, 300908 ,,, N * 46
$ GPGGA,100639.410 ,,,,, 0,00 ,,,男,0.0,M,000,* 7C
$ GPGSV,3,2,12,19,00,000,29,00,000,04,00,000,11,00,000,* 7C
$ GPGSV,3,3,12,16,00,000,,28,00,000,ü0,000,15,00,000,* 77
$ GPRMC,100728.628,V ,,,,,,, 300908 ,,, N * 4F
$ GPGGA,100729.617 ,,,,, 0,00 ,,,男,0.0,M,0000 * 5B
$ GPGSA,A,1 ,,,,,,,,,,,,,,, * 1E
$ GPGSV,3,1,12,20,00,000,10,00,000,31,00,000,27,00,000,* 7C
$ GPGSV,3,2,12,19,00,000,29,00,000,04,00,000,11,00,000,* 7C
$ GPGSV,3,3,12,16,00,000,28,00,000,26,00,000,15,00,000,* 77
$ GPRMC,100729.617,V ,,,,,,, 300908 ,,, N * 42
$ GPGGA,100730.618 ,,,,, 0,00 ,,,男,0.0,M,0000 * 5C
$ GPGSA,A,1 ,,,,,,,,,,,,,,, * 1E
$ GPGSV,3,1,12,20,00,000
所以从上面看,它给出了几个坐标,但它们都是同一时间,下次刷新GPS时旧数据就消失了。如果要存储它,则需要继续轮询设备以获取数据,然后将其自行存储在内存或文件中。
微软的GPS驱动程序仅仅是第三方。它代表您连接到一个COM端口,并将GPS数据提供给任何要求它的人。原因是只有一个应用程序可以请求GPS数据,因为它将在每次读取时被删除。 如果你想保持简单,这个驱动程序是可行的方法,但你仍然需要自己存储数据。
我的另一个问题是:3)是否有类似的东西(即GPS中间驱动程序)可用于java?如果是,哪个更强大?
我不得不说,我不知道这个