我正在編寫一個程序,該程序需要幾個GPS協調並對它們進行一些處理。我假設將要安裝應用程序的服務器應該配備一個GPS接收器。GPS中間驅動程序
是否GPS接收器儲存GPS配位暫時在應用程序中使用(最好說可以在這個接收器的手幾個GPS coordinatinos在同一時間)? 我也讀過.net中的GPS中間驅動程序。
是否有類似的東西(即GPS中間驅動程序)可用於Java?如果是的話,哪個更強大?
我正在編寫一個程序,該程序需要幾個GPS協調並對它們進行一些處理。我假設將要安裝應用程序的服務器應該配備一個GPS接收器。GPS中間驅動程序
是否GPS接收器儲存GPS配位暫時在應用程序中使用(最好說可以在這個接收器的手幾個GPS coordinatinos在同一時間)? 我也讀過.net中的GPS中間驅動程序。
是否有類似的東西(即GPS中間驅動程序)可用於Java?如果是的話,哪個更強大?
首先,請記住,一個GPS接收器很可能不會在室內工作,所以我相信,通過「服務器」你指的是一些移動設備或移動電話。
關於你的第一個問題,我不知道你用的是什麼GPS接收器,但是,我認爲,大多數設備的工作方式如下:
您查詢的GPS接收器,你等着,和GPS接收器,然後給你的座標。如果你想把它們存儲爲一個列表,那麼你將不得不自己建立邏輯。
(最好說可以在同一 時間這個接收器的手 幾個GPS coordinatinos)
每個接收器會給你一個組座標,而這些代表在哪個位置的接收器目前你已經要求協調。
關於您的最後一個問題,我從來沒有使用過GPS Intermediate Driver,但是,我已經使用了Java提供的Location API。關於哪個更強大,我認爲你必須考慮你需要做什麼。我認爲他們提供相同的功能。
我是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,2 07,19,05,072,13,03,168,* 70
$ GPRMC,100638.410,V ,,,,,,, 300908 ,,, N * 46
$ GPGGA,100639.410 ,,,, ,0,00 ,,, M,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,ü0000,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?如果是的話,哪個更強大?
我不得不說,我不知道這一個
想法,有沒有辦法區分哪個座標是哪輛車(如果我們假定我們有車輛的清單,並送他們的座標系統)? – user383240 2010-08-28 10:36:41
從NMEA字符串中,沒有。該字符串是一個指定的格式,只是給了時間和地點。 你應該擁有的基本上是你獲得NMEA/GPS數據的來源列表,這個來源列表將是不同的汽車。 I.e.每輛車都有一個GPS設備。汽車中的一個軟件從GPS設備收集數據,然後將其發送回服務器。這可能是通過GPRS和使用Web服務或某些直接連接實現的。 使用每種方法調用回服務器,您都給出座標數據和唯一的車號。然後服務器知道 – JonWillis 2010-08-28 15:08:14
哪組座標屬於哪輛車。 這就是我要做的事情,實際上可能是在未來2年內作爲較大解決方案的一小部分而構建的東西。 – JonWillis 2010-08-28 15:09:21