◎ 陳華 南海航海保障中心廣州航標(biāo)處
航標(biāo)名稱淺析及應(yīng)用
◎ 陳華 南海航海保障中心廣州航標(biāo)處
本文對航標(biāo)名稱進行分析,并在實際工作中進行應(yīng)用,方便航標(biāo)作業(yè),或指導(dǎo)航標(biāo)工作。
航標(biāo)名稱 排序 excel
名者,實之賓也。實對名有決定作用,名是實的一個稱謂,這也比較符合辯證唯物法。航標(biāo)的稱謂是航標(biāo)名稱。提及一個航標(biāo)名稱,我們就知道具體指的是哪個標(biāo)?有什么特征?是燈浮?還是燈塔?在什么水域……航標(biāo)名稱由以下部分組成:“航道名稱或航標(biāo)特征”+“標(biāo)志編號”+“航標(biāo)類型”。
航標(biāo)名稱,如“蓮花山東航道6-1號燈浮”指的是什么?也就是誰是“實”呢?筆者傾向于不是浮體,而是該航標(biāo)航標(biāo)動態(tài)包含的信息:“右側(cè)標(biāo),燈質(zhì)是閃(2)綠6秒,位置(2000國家大地坐標(biāo))為22°58′19.50″N 113°32′30.40″E,綠色錐形。”浮體只是通過目視的表現(xiàn)形式來傳遞上述的信息。隨著航海科技的發(fā)展,航標(biāo)還可以有虛擬的表現(xiàn)形式:電子航標(biāo)。即在電子海圖上以一種虛擬的標(biāo)志來表示出蓮花山東航道6-1號燈浮,并對過往船舶進行導(dǎo)航。筆者認(rèn)為,將來可能一些航標(biāo)的實體撤除了,還保留著電子航標(biāo)繼續(xù)發(fā)揮導(dǎo)航等作用。
試想,若“蓮花山東航道6-1號燈浮”指的是浮體,那它對應(yīng)的電子航標(biāo)又對應(yīng)的是什么呢?單從位置上來說,電子航標(biāo)的位置和浮體的實際位置就基本是不一樣的,浮體會以沉塊為中心回旋,而且沉塊的位置也是不精確、不固定的,因此電子航標(biāo)對應(yīng)肯定不是實際的浮體,它和浮體是同一級別的東西,只是以另一種表現(xiàn)形式傳遞著該標(biāo)的航標(biāo)動態(tài)信息,并共同擁有同一個稱謂:其航標(biāo)名稱。
下面,結(jié)合實際案例探討針對航標(biāo)名稱的應(yīng)用。
2.1航道中標(biāo)志的重新編號
《中國海區(qū)水上助航標(biāo)志》附錄C中的C5:航道中標(biāo)志有增減時,減少標(biāo)志后其他標(biāo)志的編號可暫不改動;增加標(biāo)志的號碼,可暫用前一座標(biāo)志的號碼并在其后面另加一個數(shù)字,例如在13與14號標(biāo)志之間增加一個標(biāo)志時,新增標(biāo)志的編號即為“13-1”,以此類推。當(dāng)標(biāo)志變動過多使用不便時,應(yīng)重新編號。
廣州港東河道原有1~31號燈浮31座燈浮。2010年,因?qū)嶋H水域情況變化,廣州航標(biāo)處對廣州港東河道的燈浮進行調(diào)整,撤除原廣州港東河道28、29號燈浮進行,并對標(biāo)志進行重新編號。怎么操作呢?有兩種方案:①撤除廣州港東河道28、29號燈浮,并將“廣州港東河道30、31號燈浮”更名為“東河道28、29號燈浮”;②撤除廣州港東河道30、31號燈浮,并將廣州港東河道28、29號燈浮的設(shè)計位置等航標(biāo)信息調(diào)整為原廣州港東河道30、31號燈浮對應(yīng)的設(shè)航標(biāo)信息。
實際消失的是廣州港東河道28、29號燈浮,而名字上消失的是廣州港東河道30、31號燈浮。名者,實之賓也,應(yīng)以實為主,所以應(yīng)選擇方案①。實際作業(yè)中也是這樣,具體見No2010年廣標(biāo)字044號《航標(biāo)動態(tài)》。
2.2航標(biāo)名稱排序
航標(biāo)作業(yè)中,筆者需用很多個excel表格統(tǒng)計航標(biāo)數(shù)據(jù),如《航標(biāo)一覽表》、《年度保養(yǎng)燈浮標(biāo)技術(shù)數(shù)據(jù)表》、《固定資產(chǎn)統(tǒng)計表》中的航標(biāo)部分、《遙測遙控數(shù)據(jù)統(tǒng)計表》……對于單個excel表格,航標(biāo)名稱排序混亂時,查找、統(tǒng)計數(shù)據(jù)就頗為不便,更不用說幾個表格的數(shù)據(jù)交互,因此將每個表的航標(biāo)名稱進行統(tǒng)一的、便捷的、排列順序較人性化的排序顯得尤為重要。
航標(biāo)名稱是“航道名稱或航標(biāo)特征”+“標(biāo)志編號”+“航標(biāo)類型”。其中的“標(biāo)志編號”中少許有“-”,如“6-1”、“79-2”等。若直接對航標(biāo)名稱那一列按升序排列,得到的結(jié)果并不完美,以蓮花山東航道的17座航標(biāo)為例,結(jié)果如圖1。航標(biāo)名稱的排序是:蓮花山燈船、蓮花山東航道11、12、13、14、15、16、17、2、3、4、5、6-1、6、7、8、9號燈浮。究其原因,是因為字符串在excel的升序排列,是逐個字符向后識別的,并以字符的在其數(shù)據(jù)庫中先后順序來排序:前面的“蓮花山東航道”都一樣,到了第一個數(shù)字,因為“1”在數(shù)據(jù)庫中比“2”靠前,所以“11”、“12”等會排在“2”等前面;同理,因為“-”比“號” 靠前,所以“6-1”排在“6號”前面……要是航標(biāo)名稱能按“蓮花山燈船、蓮花山東航道2、3、4、5、6、6-1、7、8、9、11、12、13、14、15、16、17號燈浮”這樣的順序來排列,維護起來會方便很多。
下面就討論如何對航標(biāo)名稱以較好的順序、較智能的方式的排序,以表1中的蓮花山東航道的excel表格為例,步驟如下:
2.2.1拆分、整理航標(biāo)名稱
①統(tǒng)一格式。以A14“蓮花山東航道6-1號燈浮”為例。首先,去掉“號”,統(tǒng)一航標(biāo)名稱的格式,變成“蓮花山東航道6-1燈浮”,并保留到B列“去掉‘號’”,為B14,接下來就是按圖1的方法來進行拆分。
表1 蓮花山東航道
表2 蓮花山東航道最終效果
圖1
②拆分出“航標(biāo)類型”。在B列右側(cè)插入C列,起名為“航標(biāo)類型”。在C14輸入公式“=RIGHT(B14,2)”,即可從右邊起向前取2個字符得到“燈浮”。再起一列D“剩余其它”,在D14輸入公式“=LEFT(B14,LEN(B14)-2)”,即將航標(biāo)名稱中“燈浮”前的那一部分字符“蓮花山東航道6-1”取出來了。
其它航標(biāo)名稱可批量操作,只需點擊其單元格右下角,往下一拉即可。
③拆分出“航道名稱”。接下來判斷“蓮花山東航道6-1”種是否有數(shù)字:另起一列E“第一個數(shù)字的位置”,在E14輸入公式“=MATCH(TRUE,ISNUMBER(1*MID(D14,ROW($1∶$12),1)),0)”找出第一個數(shù)字的位置,按下Ctrl+Shift+Enter后得到的結(jié)果“7”。而對于“蓮花山燈船”,因為“剩余其它”中顯示的是“蓮花山”,里面沒有數(shù)字,得到的結(jié)果是無效,即顯示為“#N/A”。
另起一列F“航道名稱”。用if語句,當(dāng)字符中沒有數(shù)字,如“蓮花山”,就取它本身;當(dāng)字符中有數(shù)字,如“蓮花山東航道6-1”,就去第一個數(shù)字之前的部分。在F14中輸入公式“=IF(ISNUMBER(E14),LEFT(D14,E14-1),D14)”,得到的結(jié)果為“蓮花山東航道”。
④拆分出“標(biāo)志編號”。另起一列G“取出‘標(biāo)志編號’”,當(dāng)航標(biāo)名稱中沒有標(biāo)志編號時,返回結(jié)果為空;當(dāng)航標(biāo)名稱中有標(biāo)志編號時,需取出標(biāo)志編號。還是用if語句,在G14中輸入公式“=IF(ISNUMBER(E14),RIGHT(D14,LEN(D14)-E14+1),"")”,得到“6-1”。
對于有標(biāo)志編號的航標(biāo),又有兩種情況,一種是有“-”的,一種是沒有“-”的,也要分別對待??梢杂玫絜xcel中的分列功能,以“-”進行分列,這樣就得到兩列,一列是H列,取名為“標(biāo)志編號前部分”,是“-”前面的編號;一列是“I”列,是“-”之后的編號。具體到“蓮花山東航道6-1號燈浮”,“6-1”被分為兩部分:H14的“6”、I14的“1”。
對于標(biāo)志編號中無“-”的,I列為空,將空的都替換為“0”;對于標(biāo)志編號中有“-”的,I列為“-”后面的數(shù)字,具體到具體到“蓮花山東航道6-1號燈浮”,就是“1”。實現(xiàn)方式為:另起一列J“標(biāo)志編號后部分”,在J14中輸入公式“=IF(ISNUMBER(I14),I14,0)”。2.2.2排序
對excel表格進行自定義排序,添加條件所選關(guān)鍵字依次為“航道名稱”、“標(biāo)志編號前部分”、“標(biāo)志編號后部分”、“航標(biāo)類型”,即可實現(xiàn)較為完美的排序,最終效果如表2:
將上述排序的方法推而廣之并稍加調(diào)試,就可以對《航標(biāo)一覽表》等表格進行排列順序較人性化的排序了。將上述步驟錄制成宏,以后再次排序時,只要調(diào)用宏就可以了。
通過對航標(biāo)名稱的探討,讓我們能更清楚的知道航標(biāo)名稱是什么,工作中指向更明確,也就能很好的指導(dǎo)工作。