国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

編程實現(xiàn)GPS手持機點位數(shù)據(jù)批量輸入

2020-06-08 08:50:44趙振華曲為貴劉仕剛劉鈞沅孔祥棟
新疆有色金屬 2020年1期
關(guān)鍵詞:手持機航點批量

趙振華 曲為貴 劉仕剛 劉鈞沅 孔祥棟

(天津華北地質(zhì)勘查總院 天津 300170)

0 前言

利用GPS手持機進行地質(zhì)、物探、化探進行測點測網(wǎng)的實際定位已成為地質(zhì)工作的基本做法,在進行大面積測量工作時,大量的測點坐標信息要輸入到GPS手持機中,而MapSource軟件本身又沒有提供批量輸入測點坐標的方法,如果采用人工輸入既不能提高工作效率也不能保證數(shù)據(jù)的準確無誤,前人已總結(jié)出一套利用MapSource 的交換格式文件GPX實現(xiàn)批量輸入的方法[1-2],但還有一定的局限性,本文從另外一個途徑實現(xiàn)了更加靈活的方式來進行GPS測點數(shù)據(jù)的批量輸入,也為從軟件底層對手持GPS的開發(fā)提供了一種方式。本文的整體思路是,首先獲取MapSource 與GPS 手持機設備之間的通信方式及數(shù)據(jù)包格式,然后加載winUSB 驅(qū)動,最后通過編寫程序利用已有的數(shù)據(jù)格式對GPS手持機實現(xiàn)測點數(shù)據(jù)的批量輸入。

1 MapSource的通信方法及數(shù)據(jù)包格式

GPSmap60CSx 該型設備為使用較為廣泛的GPS設備,本文以該設備為研究對象,MapSource 為防止個人對GPS 內(nèi)部存儲的數(shù)據(jù)屬性進行修改,其并沒有提供軟件接口實現(xiàn)對測點數(shù)據(jù)的批量輸入方式,Bus Hound 軟件是由美國Perisoft 公司研制的一種專用于PC 機各種總線數(shù)據(jù)包監(jiān)視和控制的開發(fā)工具軟件[3],利用該軟件監(jiān)控MapSource 驅(qū)動程序與GPS?map60CSx設備通信的數(shù)據(jù)包。

具體做法為在MapSource 航點屬性界面先輸入001(X:0,Y:0,H:0)的航點信息,同時打開Bus Hound軟件選擇要監(jiān)控的設備并進行捕獲操作,這時在MapSource選擇軟件界面選擇發(fā)送到設備按鈕,等待數(shù)據(jù)傳送完畢后,Bus Hound軟件界面就會出現(xiàn)需要的信息,重復上述過程輸入002(X:10,Y:10,H:10)得到需要的信息。

通過對比航點屬性信息可以得到名稱屬性、X坐標、Y坐標和高程等信息在MapSource 軟件傳輸數(shù)據(jù)包中的位置。在MapSource 航點屬性輸入界面還包含有深度、溫度等其它屬性信息,通過上述方法也可一一獲取。

2 WinUSB驅(qū)動加載

WinUSB 是微軟公司提供的基于Windows 系統(tǒng)的USB 類設備驅(qū)動工具,其架構(gòu)由內(nèi)核模式驅(qū)動程序(Winusb.sys)和公開WinUSB 功能的用戶模式動態(tài)鏈接庫(Winusb.dll)組成。使用這些功能,可以通過用戶模式軟件管理USB 設備[4],Winusb.lib 和Winusb.dll提供應用程序?qū)用娴腁PI接口函數(shù)。

安裝設備驅(qū)動程序需要提供INF文件,微軟公司提供了WinUSB.inf 文件模板,經(jīng)過簡單修改就能應用到大部分的WinUSB類設備,主要是將設備的廠商識別碼(VID)和產(chǎn)品識別碼(PID)加入到INF 文件中。相關(guān)操作和介紹可以參考微軟的MSDN。

3 編寫應用程序?qū)懭霐?shù)據(jù)

由于地球曲率的影響,地理坐標并不能滿足地勘單位在施工時的需求,將地球上的點位坐標化算到平面稱之為地圖投影。地圖投影的方法有很多,我國目前多采用高斯投影—克呂格投影。為實現(xiàn)目前我國常用北京54和西安80坐標點位的批量輸入,需要將地理坐標(B,L,H)轉(zhuǎn)換為平面直角坐標系下的北京54 或西安80,實現(xiàn)該過程的方法為,首先利用簡化莫洛金斯基模型[5-7],將DX、DY、DZ、DA、DF轉(zhuǎn)換為DB和DL,然后將結(jié)果帶入高斯正算公式,最后得到需要的北京54或西安80坐標,將該過程代碼化以備后用。相關(guān)公式如下。

式(1)為簡化莫洛金斯基模型公式。

式(2)為高斯投影正算公式。

由于要用到Winusb 作為設備的驅(qū)動程序,考慮到兼容的問題需要用C、C++、Visual C++等語言進行應用程序編寫。程序要包含Winusb.h、SetupAPI.h頭文件,關(guān)聯(lián)Winusb.lib、SetupAPI.Lib 庫文件。微軟在NT4.0 后的操作系統(tǒng)里都提供了很多以Setup?DiXXXXX 開頭的函數(shù),該系列函數(shù)提供了讀取設備信息和與設備通信的方法。SetupAPI.Lib 庫文件包含了SetupDiXXXXX 開頭的函數(shù)。程序的主要過程為應用SetupDiGetClassDevs、SetupDiDestroyDeviceIn?foList、SetupDiEnumDeviceInterfaces、SetupDiGetInter?faceDeviceDetail 等系列函數(shù)查找和定位到GPS?map60CSx 設備,通過CreateFile 函數(shù)獲得設備句柄,然后利用WinUsb_Initialize、WinUsb_QueryDeviceIn?formation、WinUsb_QueryPipe、WinUsb_QueryInterfac?eSettings 等系列函數(shù)獲取設備通信方式。在此就不羅列上述函數(shù)的使用方法,有意者可參見MSDN,最后通過WinUsb_WritePipe 函數(shù)對包裝好的數(shù)據(jù)包寫入GPSmap60CSx設備。

為驗證代碼是否可行,選擇與GPSmap60CSx 設備同公司產(chǎn)品LEGEND H 進行實驗操作,在記事本中依次編輯航點1、航點2、……航點12,隨機輸入以度為單位的坐標,運行代碼后會在LEGEND H 手持機中看到相關(guān)航點信息。

4 結(jié)論

本文結(jié)合地質(zhì)、物探、化探工作中的實際問題,提出了另外一種實現(xiàn)GPS 數(shù)據(jù)批量寫入的方式,實現(xiàn)了相關(guān)的代碼,這種方式相對于GPX 交換文件形式更加靈活,能同時修改多種相關(guān)屬性等優(yōu)點。

猜你喜歡
手持機航點批量
批量提交在配置分發(fā)中的應用
科學家(2021年24期)2021-04-25 12:55:27
二次開發(fā)在航點航跡圖批量繪制中的應用
基于WIA—PA的無線手持機設計
從拿手機 的姿勢看你是怎樣的人
中學生(2017年7期)2017-04-12 01:38:31
北斗高精度手持機在航測外業(yè)中的應用
測繪通報(2016年6期)2016-07-15 05:08:39
淺議高校網(wǎng)銀批量代發(fā)
基于AUTOIT3和VBA的POWERPOINT操作題自動批量批改
考慮價差和再制造率的制造/再制造混合系統(tǒng)生產(chǎn)批量研究
戶外安全GPS保障
定远县| 长汀县| 彭州市| 同心县| 雷州市| 衢州市| 和田县| 邛崃市| 彭泽县| 吉首市| 金秀| 安丘市| 共和县| 托克托县| 齐河县| 四川省| 化隆| 成安县| 金乡县| 饶平县| 铜梁县| 昭苏县| 水富县| 罗甸县| 江津市| 邹城市| 黎川县| 依兰县| 扎囊县| 含山县| 彭阳县| 庆云县| 渭源县| 江都市| 广宁县| 宣武区| 隆回县| 贡嘎县| 邛崃市| 商丘市| 石渠县|