劉賢三,閻 軍,陳長安,欒振東
?
基于HYPACK的矢量航跡線生成方法研究
劉賢三1,2,閻軍1,2,陳長安1,2,欒振東1,2
(1.中國科學(xué)院海洋研究所,山東 青島 266071; 2.中國科學(xué)院 海洋地質(zhì)與環(huán)境重點(diǎn)實驗室,山東 青島266071)
摘要:為了將HYPACK導(dǎo)航軟件記錄的導(dǎo)航數(shù)據(jù)用于地理制圖,探討了基于HYPACK原始導(dǎo)航數(shù)據(jù)的矢量航跡線幾種生成方法,并給出了每種方法的具體思路。對這幾種方法進(jìn)行比較發(fā)現(xiàn): 按照 Global Mapper中矢量文件的文本格式生成矢量航跡線文件最為簡單,效率較高; 直接編碼生成法比較直觀、容易理解,但實現(xiàn)效率較低,實現(xiàn)過程較為復(fù)雜。在.Net環(huán)境下編制了統(tǒng)一框架下生成幾種格式的文本文件的小工具,經(jīng)過驗證取得了較好的效果。
關(guān)鍵詞:HYPACK; 導(dǎo)航數(shù)據(jù); 航跡線; 矢量
[Foundation: Special Fund for strategic pilot technology Chinese Academy of Sciences,No.XDA11040103-05; The Open Fund of Key Laboratory of Marine Geology and Environment,the Chinese Academy of Sciences,No.MGE2015KG06]
在海洋測量中,經(jīng)常需要利用導(dǎo)航軟件為船只進(jìn)行導(dǎo)航,同時記錄測量船只的航跡。HYPACK綜合導(dǎo)航系統(tǒng)是美國 Coastal Oceanographic公司開發(fā)用于海洋調(diào)查和海道測量的商業(yè)軟件,可以與多種海洋測量設(shè)備連接、采集和處理海洋測量數(shù)據(jù)[1-6]。目前該軟件已經(jīng)升級到2014版本。利用該軟件的測量模塊可以很方便地獲取到船只測量時的原始航跡線數(shù)據(jù),該數(shù)據(jù)具有其固定的數(shù)據(jù)格式,但該數(shù)據(jù)格式往往不能直接為地圖制圖工具所用,給航跡圖生成帶來不便。因此,為了制作航跡線矢量圖件,需將原始導(dǎo)航數(shù)據(jù)文件格式轉(zhuǎn)化為符合地圖制圖工具要求的通用數(shù)據(jù)文件格式,如 shapefile(簡稱 shp)矢量等文件格式。本文針對在海洋測繪具體工作實踐中遇到的上述問題展開討論,較為全面地探討了幾種具體的實踐方法,并對幾種方法做了比較分析,給出了對比分析結(jié)果,最后介紹了自行編制的生成多種格式文本文件的小工具。
將導(dǎo)航定位設(shè)備與HYPACK 系統(tǒng)連接后,導(dǎo)航軟件采集得到的原始數(shù)據(jù)為Raw文件格式。在軟件的設(shè)置中,可以設(shè)置該文件包含的數(shù)據(jù)項[7]。在實際導(dǎo)航中,一般應(yīng)包含的具體數(shù)據(jù)項如下表1所示。RAW文件格式的文件頭以及其他數(shù)據(jù)項內(nèi)容可以參見具體的軟件說明手冊[7],這里不再贅述。
RAW文件為文本文件格式,可以直接按文本格式打開,讀取。每記錄一個點(diǎn)時,都包含這幾個具體數(shù)據(jù)項。圖1為導(dǎo)航時記錄的某個RAW文件部分?jǐn)?shù)據(jù)內(nèi)容。
表1 RAW文件格式部分?jǐn)?shù)據(jù)項Tab.1 Partial data fields of RAW file
海洋測量項目中,通常布設(shè)了多條計劃測線,完成一次測量過程會記錄下多條測量航跡的 RAW文件格式的原始數(shù)據(jù)。為了利用地理信息系統(tǒng)制圖軟件快速制作出基于所有 RAW 文件的航跡線圖件,需要對這些RAW文件進(jìn)行批量處理,提取出相應(yīng)的位置信息和航跡線名屬性,生成滿足制圖軟件需要的格式的數(shù)據(jù)文件,通常需要制作生成shp文件。本文以生成shp格式文件為例介紹了幾種具體生成方法。
2.1直接編碼生成
該方法最為直觀,容易理解。但實現(xiàn)起來比較復(fù)雜,整個過程都需要編碼完成。主要實現(xiàn)過程如下:(1)讀取 HYPACK的原始航跡記錄數(shù)據(jù)文件中 POS數(shù)據(jù)項中位置信息以及文件頭中測線名信息;(2)按照 shp文件結(jié)構(gòu)格式順序?qū)懭牒桔E點(diǎn)數(shù)據(jù)和測線名屬性信息。一個 Shapefile文件包括三個文件: 一個主文件(*.shp)、一個索引文件(*.shx)和一個 dBASE(*.dbf)表。坐標(biāo)文件(.shp)由固定長度的文件頭和接著的變長度空間數(shù)據(jù)記錄組成; 屬性文件(.dbf)是一個標(biāo)準(zhǔn)的 DBF文件,用于記錄屬性信息; 索引文件(.shx)主要包含坐標(biāo)文件的索引信息,每個記錄包含對應(yīng)的坐標(biāo)文件記錄距離坐標(biāo)文件的文件頭的偏移量。其具體的文件結(jié)構(gòu)格式描述可參考文獻(xiàn)[8]。
2.2修改kml文件
為了能快速展示出實際測量航跡線,HYPACK的版本已經(jīng)支持直接輸出 kml文件格式,但該文件并非通用的制圖數(shù)據(jù)格式。因此,可以考慮將生成的kml文件轉(zhuǎn)換為shp格式。
筆者通過試驗發(fā)現(xiàn),這種方法比較簡單,但是每條測線的測線名屬性無法直接轉(zhuǎn)換過來,所有的航跡線線名在 kml文件中都將轉(zhuǎn)化為其默認(rèn)的屬性名“Track1”,如圖2所示兩條多波束的測線線名均為Track1。顯然,這種kml文件會導(dǎo)致生成shp文件后,無法準(zhǔn)確對每一條測線進(jìn)行標(biāo)注。因此,需要對HYPACK軟件導(dǎo)出的kml文件進(jìn)行統(tǒng)一編輯處理。筆者通過分析由RAW文件直接生成的kml文件后給出具體編輯思路: 順序讀取整個kml文件,將連續(xù)出現(xiàn)的兩組
上述兩種方法比較直觀,容易理解,不需要借助其他軟件工具,但需要一定的編碼基礎(chǔ)。事實上,筆者發(fā)現(xiàn)借助現(xiàn)有的 GIS軟件平臺生成shp文件效率更高。下文將探討借助主流 GIS平臺的航跡線生成方法。
圖2 HYPACK導(dǎo)出的kml文件格式Fig.2 kml file exported from HYPACK
2.3基于ArcGIS的矢量圖形生成
該方法又可以包含兩種方法,方法一借助ArcGIS的工具包中的“create features from text file”功能生成shp線文件[9]。該方法生成的線文件中不包含測線名屬性,這也是本方法的缺陷所在。事實上,可以對生成的shp文件中的dbf文件進(jìn)行修改來包含所需要的測線名屬性。
該方法的主要實現(xiàn)思路如下: 讀取HYPACK的RAW 文件中的航跡點(diǎn)坐標(biāo)數(shù)據(jù),將其寫入到生成線要素的規(guī)定格式的文本文件中,如圖3所示。
圖3 ArcGIS 線要素文本格式Fig.3 Polyline feature text format in ArcGIS
圖3中,第一行表示要生成的是線要素,第二行第一個數(shù)字表示線要素編號,以0作為開始編號; 第二行第二個數(shù)字則是表示線要素中的線段編號,也是以0作為開始編號; 第三行以后是結(jié)點(diǎn)數(shù)據(jù)區(qū),表示連接成線要素的結(jié)點(diǎn)編號、坐標(biāo)、Z值和M值,從0作為開始編號。后面的結(jié)構(gòu)依次類推。同一行的數(shù)字之間均已空格作為間隔。文本結(jié)尾以END作為結(jié)束標(biāo)志。
有關(guān)該文件格式的詳細(xì)描述可參考ArcGIS幫助文檔。
方法二利用 ArcGIS的二次開發(fā)工具包 ET GeoWizards中的點(diǎn)自動生成線功能。該方法實現(xiàn)思路如下: 順序讀取 HYPACK文件中的航跡點(diǎn)數(shù)據(jù),將其寫入到要求格式的點(diǎn)文件數(shù)據(jù)表格中,表格格式如圖4所示。如果為了特別強(qiáng)調(diào)連接點(diǎn)的順序,還可以加入點(diǎn)的連接順序字段。利用ArcGIS中的添加點(diǎn)數(shù)據(jù)功能生成shp點(diǎn)文件,最后利用ArcGIS的二次開發(fā)工具包 ET GeoWizards中的相應(yīng)功能將點(diǎn)文件轉(zhuǎn)化為線文件。生成的線文件中將包含每條航跡線的測線名屬性信息。
圖4 ArcGIS 點(diǎn)文件表格格式Fig.4 Point file table format in ArcGIS
2.4基于MAPGIS的矢量圖形生成
該方法主要利用了MAPGIS中的投影功能生成線要素。具體的實現(xiàn)思路如下: 讀取HYPACK 軟件RAW 文件中的航跡點(diǎn)數(shù)據(jù),將其寫入到生成線要素規(guī)定格式的文本文件中,具體格式如圖5所示。
圖5 Mapgis 線要素文本格式Fig.5 Polyline feature text format in Magis
然后利用 MAPGIS中的投影功能,生成MAPGIS中線要素格式的文件,從而利用 MAPGIS文件轉(zhuǎn)換功能可以進(jìn)一步轉(zhuǎn)化為通用的 shp線矢量文件。事實上,為了作圖方便,生成MAPGIS線要素格式的文件后可以直接在MAPGIS軟件中完成航跡線制圖工作,無需進(jìn)一步轉(zhuǎn)化為通用的shp格式。
2.5基于Global Mapper的矢量圖形生成
能夠?qū)?shù)據(jù)顯示為柵格地圖、高程地圖、矢量地圖。具有對地圖作編輯、轉(zhuǎn)換、打印、記錄GPS及利用數(shù)據(jù)的 GIS功能,能直接訪問 USGS衛(wèi)星照片、TerraServer數(shù)據(jù)庫和 GM 內(nèi)部的地形圖及以真實的3D方式查看高程地圖的功能。GM軟件能直接讀取相應(yīng)格式的文本文件來生成點(diǎn)、線、面等矢量圖形[10]。
Global Mapper(簡稱 GM)是一款地圖繪制軟件,該方法的思路如下: 讀取HYPACK文件中航跡線的點(diǎn)數(shù)據(jù)寫入到指定格式的文本文件中,如圖6所示。生成文本格式后,可以直接在GM軟件打開,選擇生成線要素的各種選項,然后導(dǎo)出生成shp航跡線矢量文件保存。
圖6 Global Mapper線要素文本格式Fig.6 Polyline feature text format in Global Mapper
事實上,利用HYPACK軟件本身的數(shù)據(jù)輸出功能也能生成AutoCAD格式矢量航跡線文件,但該成果圖件只是為了制圖而用,其包含的空間坐標(biāo)系并非測量意義上的坐標(biāo)系,在工程設(shè)計中使用較多。
為了將上述方法中各種格式的文本文件的生成進(jìn)行統(tǒng)一,筆者在.net環(huán)境下自行編制了基于HYPACK生成各種格式的文本文件的小工具,利用該工具可以得到各種格式的航跡點(diǎn)文本文件,為進(jìn)一步生成矢量航跡線提供了前提。該工具并不需要大量的編碼,實現(xiàn)起來比較簡單、實用。該工具的具體界面如圖7所示。
在該工具中,用戶只需要選擇原始RAW文件所在路徑,然后選擇具體格式的文本文件按鈕,便可將生成的文本文件格式保存到指定目錄中。還可以有選擇地轉(zhuǎn)換部分RAW文件。
本文主要討論了基于HYPACK的航跡線矢量文件幾種生成方法,并編制了幾種方法中需要的各種格式文本文件的生成工具。通過對幾種方法比較可以看出,從原始的導(dǎo)航記錄文件中提取航跡點(diǎn)的坐標(biāo)和航跡線線名是該過程中關(guān)鍵的一步。直接編碼方法最為直觀,簡潔,編碼完成后,直接生成矢量航跡線 shp格式文件,但需要一定編碼基礎(chǔ); 其他借助于現(xiàn)有軟件的生成方法均需要先按照各種軟件中文本生成矢量圖形的格式要求生成相應(yīng)的文本文件,然后借助軟件來完成。在這幾種間接法中,借助于 GM軟件的生成方法相對簡單,且效率更高,無需復(fù)雜的程序編碼,借助于ArcGIS和MAPGIS的方法則還需要其他步驟。因此,筆者認(rèn)為基于GM的方法最為合適。
本文探討的航跡線矢量文件生成方法,與HYPACK單波束后處理模塊中自定義導(dǎo)出文本格式方法相比,前者操作更簡單,更具通用性和靈活性;后者只能在一定范圍之內(nèi)進(jìn)行自定義,且導(dǎo)出文本還需經(jīng)過編輯處理后才能為其他GIS軟件所用。
本文探討的方法還存在一些不足之處,譬如僅讀取投影坐標(biāo)信息導(dǎo)致生成矢量時空間參考信息不能自動匹配(需要手動設(shè)置)、生成的矢量文件中僅包含唯一的航跡線線名屬性信息等,后續(xù)工作將進(jìn)一步改進(jìn),以增強(qiáng)其實用性。
圖7 生成航跡線文本文件工具Fig.7 Tool for generating text files of track line
參考文獻(xiàn):
[1]魏眾浩,王雪帆.基于 Hypack 2008的無驗潮水深測量[J],海洋測繪.2011,31(3): 48-50.Wei Zhonghao,Wang Xuefan.Bathymetric measuring without tidal observation based on Hypack 2008 [J].Hydrographic Surveying and Charting,2011,31(3): 48-50.
[2]馮建軍.應(yīng)用 HYPACK軟件進(jìn)行航道回淤觀測應(yīng)注意的問題[J].水運(yùn)工程,2012,12: 204-207.Feng Jianjun.Matters of attention in application of software HYPACK to siltation observation[J].Port & Waterway Engineering,2012,12: 204-207.
[3]胡家賦,劉宇明.HYPACK導(dǎo)航系統(tǒng)在海洋資源勘探中的應(yīng)用[J].海洋測繪,2003,23(6): 21-30.Hu Jiabin,Liu Yuming.Application of HYPACK navigation system in marine survey[J].Hydrographic Surveying and Charting,2003,23(6): 21-30.
[4]趙學(xué)民,王衛(wèi)平,張宗德.HYPACK水文測量軟件在水下地形測量中的應(yīng)用[J].水文,2000,20(3): 38-40.Zhao Xuemin,Wang Weiping,Zhang Zongde.The application of hydrography system H YPACK in underwater topography survey[J].Hydrology,2000,20(3):38-40.
[5]許可求,張葉春,劉海齡,等.海洋探測中 HYPACK原始記錄文件的數(shù)據(jù)提取和圖形表達(dá)[J].海洋地質(zhì)與第四紀(jì)地質(zhì),2007,27(4): 131-135.Xu Keqiu,Zhang Yechun,Liu Hailing,et al.Data extraction and graphical expression fromhypack raw files in marine survey[J].Marine Geology & Quaternary Geology,2007,27(4): 131-135.
[6]鄒學(xué)海,吳柏宣,杜浩.基于 VB.net 實現(xiàn)原始水深文件數(shù)據(jù)格式的轉(zhuǎn)換[J].水運(yùn)工程,2010,12: 50-55.Zou Xuehai,Wu Boxuan,Du Hao.Format conversion of raw depth file based on VB.net[J].Port & Waterway Engineering,2010,12: 50-55.
[7]Coastal Oceanographical Corp.Hydrographic survey software user manual[R].US: Coastal Oceanographical Corp,2009: 1230-1239.
[8]Environmental Systems Research Institute,Inc.ESRI shapefile technical description(An ESRI white paper—July 1998)[EB/OL].[2013-12-17].http: //downloads.esri.com/support/whitepapers/mo_/shapefile.pdf.
[9]Corey Tucker.Using Arc Toolbox[M].US : ESRI Press,2000: 27-53.
[10]李東,毛之琳,劉露.Global Mapper在山區(qū)獨(dú)立坐標(biāo)系建立中的應(yīng)用[J].測繪通報,2012,4: 86-88,91.Li Dong,Mao Zhilin,Liu Lu.Application of global mapper in establishing independent coordinate system in mountain area[J].Bulletin of Surveying and Mapping,2012,4: 86-88,91.
(本文編輯: 劉珊珊)
Study of track line generation methods in vector format based on HYPACK
LIU Xian-san1,2,YAN Jun1,2,CHEN Chang-an1,2,LUAN Zheng-dong1,2
(1.Institute of Oceanology,Chinese Academy of Sciences ,Qingdao 266071,China; 2.Key Laboratory of Marine Geology and Environment,Chinese Academy of Sciences ,Qingdao 266071,China)
Received: Feb.14,2014
Key words:HYPACK; navigation data; track line; vector
Abstract:To use raw navigation data from HYPACK software records in geographic mapping tools,in this paper,we discuss and propose several track line generation methods in vector format based on HYPACK.We compare these methods and conclude that the vector-format track line generation method based on the text format is the simplest for creating vector features in Global Mapper with high efficiency.While direct coding is intuitive and easy to understand,it is also the most complicated method with the lowest efficiency.We developed a simple tool for generating text files from several formats in a uniform frame in the .Net coding environment,and verified the good results achieved.
中圖分類號:P229.3
文獻(xiàn)標(biāo)識碼:A
文章編號:1000-3096(2016)03-0153-06
doi:10.11759/hykx20140214002
收稿日期:2014-02-14; 修回日期: 2014-09-01
基金項目:中國科學(xué)院戰(zhàn)略性先導(dǎo)專項(XDA11040103-05); 中國科學(xué)院海洋地質(zhì)與環(huán)境重點(diǎn)實驗室開放基金(MGE2015KG06)
作者簡介:劉賢三(1982-),男,湖北荊州人,助理研究員,博士,電話: 0532-82898669,E-mail: liuxiansan@qdio.ac.cn