簡介
ECDB(Electronic Chart Data Base),即電子海圖資料庫,是指提供電子海圖數據(ENCD)的基礎資料庫。由國家航道測量組織採用數字形式建立,包括海圖信息以及其他航海信息和航道測量信息。應當指出,國家航道測量組織應當有權對自己所負責的海域獨立製作和發布ENC並進行通告改正服務。
實用意義下的電子海圖系統應當具備相當大的全球海圖資料庫(例如數千幅),具有相當數量的專業製圖人員來維持和擴展海圖資料庫,具有完善的電子海圖自動改正系統,具有龐大而有效的全球分銷網點,具有與各國官方航道測量局簽署的著作權協定,能夠兼容其他國家航道測量局製作的光柵海圖(如ARCS、NOAA)和矢量海圖(如ENC)資料庫,具有國際組織和各國海運部門的認證證書。1992年IHO成立了世界電子導航海圖資料庫(WEND)專門委員會,並於1994年提出了關於建立WENC的最後報告,建議在資金和技術上有能力的國家成立區域性電子導航海圖協調中心(RENC),再由各協調中心組成世界電子導航圖供應和改正網際網路,最終實現建立世界電子導航圖資料庫的目標。根據IHO的定義:世界電子導航海圖資料庫(WEND)是一個公用的世界聯網的ENC資料庫。採用IHO的標準,設計的目的是為了在國際海上交通中使用符合IMO性能標準的EcDIS的需要;WEND利用HO國家ENC資料庫。該資料庫有地區性中心負責綜合分發和更新;WEND是一個依賴各成員國協力合作的IHO系統;根據WEND的定義,地區性中心成為地區性ENC協調中心(RENC)。ENC更新指南應由RENC在數據更新方面提供支持;WEND採納的一系列原則均對ENC的更新產生影響。該電子海圖供應網路建成後,航海者可以從世界任何一個RENC獲得所需的最新電子海圖數據。1994年挪威電子海圖中心(Ecc)與英國航道測量局(UKHO)率先合作在挪威斯堪的那維亞成立了第一個北歐水域的區域電子導航圖協作中心,目前已有10個鄰國參加。該中心的任務是從所有合作的水道測量局收集海圖數據和更新數據,並將該數據匯集到通用資料庫中,然後按使用者的要求,利用CD-ROM或直接通過遠程通信線路將該資料庫中的數據分發使用者。目前該中心正在為電子海圖數據的收集、存儲、管理和分配研製自動綜合系統。另外,日本水道測量局正在與鄰國商議準備建立東亞地區RECC,義大利和他的鄰國計畫建立西地中海地區RENC,美國、加拿大、澳大利亞等國也準備建立自己的資料庫並通過網際網路發揮作用。
電子海圖索引技術
某一海域的所有海圖的組織傳統上是利用這一海域的《航海圖書目錄》,如中版《航海圖書目錄》和英版“Catalogue of admiralty charts and other hydrographicpublications”來實現海圖的查找。這些參考書籍均建立了所涉及海域的所有紙海圖的索引,在建立電子海圖單元數據結構和索引結構時可以參考,但ECDIS對ENC提出了更多類智慧型的要求,這要求ENC用最優的數據結構和索引結構組織海圖單元。電子海圖系統作為高精度,實時系統,其關鍵技術是電子海圖的顯示速度,國際和國內標準都對這一指標有明確的要求。這是電子海圖開發和研製人員一直關注的熱點問題。空間數據的訪問在很大程度上體現空間位置的局部性和相關性,例如海圖開窗顯示,顯示的實體都在一定的空間範圍內:地圖漫遊顯示,通常瀏覽到相鄰的區域。又如實體空間查詢,也要分析一定空間範圍內的所有實體。必須通過建立有效的空間索引機制,才能解決上述問題。
所謂空間索引,就是指依據空間實體的位置和形狀或空間實體之間的某種空間關係,按一定順序排列的一種數據結構,其中包含空間實體的概要信息如對象的標識、外接矩形及指向空間實體數據的指針。簡單的說,就是將空間對象按某種空間關係進行劃分,以後對空間對象的存取都基於劃分塊進行。例如按空間範圍建立空間索引,這有些類似於在記憶體快取技術中,把記憶體按地址臨近原則劃分為快取槽的思想:在讀取記憶體內容時,把一個快取槽的數據都讀到快取槽中。這種快取槽的劃分是基於這樣一種經驗:“如果一個地址單元被訪問,那么臨近地址單元的數據被訪問的機率很大”。類似的,對於空間實體數據,如果一個實體被訪問,那么與該實體空間臨近的實體被訪問的機率也很大,因此可以按空間臨近原則劃分快取槽。
空間索引技術一直是空間資料庫一項基本技術,空間索引的有無可能導致效率的相差幾十甚至上百倍,高效的空間索引方法更是對系統的性能有著決定性的作用。
索引技術包括:二叉樹索引技術、B樹索引技術、四叉樹索引技術、R樹空間索引技術等。這些技術對與電子海圖資料庫來說有很重要的意義。
電子海圖資料庫的設計
在電子海圖資料庫中,SENC的中的物標屬性與資料庫表中欄位屬性建立一一對應關係。符合IHO S-57國際標準的ENC將海圖矢量數據劃分為空間數據和特徵屬性數據兩大類型。在資料庫中,空間數據與特徵屬性數據是分開管理的。
電子海圖資料庫物標特徵屬性數據管理
電子海圖IHO S-57標準規定180種物標類型,同時規定了195種物標屬性。在構建電子海圖資料庫時,以物標種類來劃分表,因此有180張表,每張表包含IHO S-57標準規定的物標對應的屬性。物標種類和物標的屬性嚴格按照5-57的分類列表。設計空間物標的特徵屬性與資料庫中表的欄位屬性相一致,這樣便於我們對資料庫的維護和管理。電子海圖資料庫的物標的特徵屬性與表中欄位一一對應,見下表是以燈標為例,介紹物標的特徵屬性:
(1)根據海圖數據的物標分類,建立電子海圖資料庫的列表,表的名稱與S-57標準規定的物標名相一致。燈標物標的在資料庫中的表名為LIGHTS。
(2)針對每一個表,設定不同的欄位屬性,欄位屬性的命名,也按照S-57標準的設計,比如燈標的特徵屬性有很多欄位組成:GRUP, OBJL, RVER, AGEN, FIND, FIDS,HEIGHT,OBJNAM等等。
電子海圖空間數據的管理
空間屬性就不能簡單的採用對應關係。空間數據指在某一坐標系被標誌的地理實體的坐標數據;地理實體,分為點狀、線狀和面狀三種類型。電子海圖上的物標、岸線有著各種各樣的形狀,就其組成元素來看是由基本的幾何圖形組合而成,岸線可以由多個點和線組合而成。島嶼由點、弧線、直線、多邊形組合而成。Oracle 9i支持點、直線、直線多邊形,弧線、弧線多變形、複合多邊形、複合線、圓、矩形等九種基本的圖形。如下圖所示:
電子海圖上的點狀、線狀、面狀物標等可以由上述Oracle spatial支持的基本圖形不同組合完成,複雜的電子海圖物標可能由多種圖形組合而成。
電子海圖資料庫坐標系統
Oracle spatial中的坐標系統(空間參照系統)能給空間位置指定坐標系和建立坐標關係,任何空間數據都有自己的坐標系。空間數據可以有笛卡爾坐標系,地理坐標系,投影坐標系和地方坐標系(非地理參考的),各個坐標系之間可以相互轉換。在電子海圖資料庫中,我們所使用的ENC採用的大地坐標系規定為WGS-84坐標系統,該坐標是一種地心坐標系。在建立電子海圖資料庫時,我們要特別考慮ENC的大地坐標系間的換算問題。歷史上,各國根據自己局部的特點確定橢球體參數,並進行“定位”(確定橢球體中心位置)和“定向”(確定坐標軸的方向),建立了各自局部的大地坐標系。我國目前採用的是1954年北京坐標系,日本採用的是1918東京坐標系等。同一地麵點在不同大地坐標系中所對應的經緯度(φ,λ)是不同的。世界各國海道測量局在自己出版的紙海圖為資料製作ENC時,要把地理坐標由局部坐標系換算到WGS-84坐標系。當電子海圖套用系統與定位導航系統所使用的坐標系不同時,要進行坐標系之間的換算,尤其是在大比例尺的圖上進行高精度定位時顯得更為重要,這直接影響船舶航行的安全問題。
電子海圖資料庫的建立過程
電子海圖資料庫的設計可以分為建表、設定限制條件、插入數據、建立索引等幾個基本過程,下面我們就結合實例詳細介紹電子海圖資料庫的製作。
資料庫建表
在設計電子海圖資料庫時,建立合理的物標列表和確定特徵屬性的欄位名稱是非常重要的。為了方便管理,設定電子海圖資料庫中的表名與S-57標準中物標分類的命名規則保持一致,根據海圖物標的不同建立約180個物標表,具體表的名稱在S-57中都有詳細的規定,這裡就不在詳細介紹。在表建立好以後,要為表指定欄位,每個表都有很多欄位,每個欄位都表明物標的屬性。S一57規定的物標屬性有195個,在實際設定物標表時,根據不同物標的特徵,合理確定表中的欄位。
資料庫表中設定元數據
在完成建表和插入數據之後,同時在建立索引之前,我們必須將限制條件插入到USER_ SDO_ GEOM一 METADATA中,主要目的是設定數據的使用範圍、確定數據的精度、確定坐標系統。
通過設定將數據的範圍限制在南北緯度90度,東西經度180度內,這樣符合我們數據來源的要求,SRID設定為8307,表示電子海圖資料庫採用的是WGS -84為地理坐標系統。
資料庫表中插入數據
在建立電子海圖資料庫框架以後,向以建好的表中插入電子海圖的數據,這是海圖資料庫製作過程中非常重要的操作。在實際操作中,使用SOL語句集中將數據導入資料庫中,這樣操作比較方便,快速準確。我們插入的數據源是來自符合S-57標準電子海圖數據。在數據插入表之前,海圖數據先進行過慮,保證存入資料庫的數據是高精度和最新的數據。由於現在的電子海圖數據源,主要來自數位化的紙海圖和官方發布的ENC海圖數據,在同一個海圖區域可能有很多張不同比例尺下的海圖數據。我們還無法得到理想中的數據源,所以必須考慮數據冗餘和數據精度問題。在設計資料庫時,選取在該區域內比例尺最大海圖的數據作為存入海圖資料庫的數據,在資料庫的表中加入比例尺(SCALE)屬性欄位,作為選擇數據的主要依據。
建立空聞資料庫索引
電子海圖資料庫中存儲的數據量非常大,包括海量的空間數據,在進行數據查詢時,如果不建立索引,將會把全部空間數據讀入記憶體,一個數據項就要掃描整個數據檔案,這種訪問磁碟的代價就會嚴重影響系統的效率,我們通過建立空間索引將數據在磁碟上的位置加以記錄和組織,通過在記憶體中的一些計算來取代對磁碟漫無目的的訪問,才能提高系統的效率。
空間索引是對存儲在介質上的數據位置信息的描述,用來提高系統對數據獲取的效率。建立空間索引是由於計算機的體系結構將存貯器分為記憶體、外存兩種,訪問這兩種存儲器一次所花費的時間一般為30~40ns,8~10ms,可以看出兩者相差十萬倍以上,尤其是電子海圖資料庫中涉及到各種海量的空間數據,索引對於處理的效率是至關重要的。Oracle資料庫是以R樹為基礎的建立空間索引。R-樹則是一種高性能、多維數的空間訪問方法,該方法內置於資料庫核心並直接與外延數據類型協作以適當地管理空間地理數據。與標準索引不同的是,R-樹並非將整個空間分割成由非重疊相鄰單元組成的完整覆蓋。相反,它使用的是數據分割的方法,使每一個對象自動地被完全由空間形狀所決定的最小包圍矩形表示,這些最小包圍矩形可以相互重疊,並且不需要覆蓋整個空間。在建立電子海圖資料庫時,也不必預先了解數據的空間範圍就可以建立索引。
在將海圖數據導入資料庫後,利用SQL語句可以完成索引的建立。Oracle提供默認的建立索引的參數,在實際中我們採用Oracle默認的參數,當資料庫中的數據發生變化時,Oracle可以動態調整空間索引參數。建立索引的語法。
電子海圖資料庫的管理
在航海領域,海圖要經常根據航海通告或無線電警告進行改正,電子海圖資料庫也同樣需要日常的的維護和管理,才能保證資料庫的信息是準確、安全的。海圖資料庫的數據管理,也可以通過SQL語句方便的完成電子海圖資料庫的增加、刪除、修改、查找等重要操作。