• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SLD 的IHO S-52 開(kāi)源解決方案

      2022-01-17 05:39:56亢孟軍吳雨錕張開(kāi)碩蘇世亮
      測(cè)繪地理信息 2022年1期
      關(guān)鍵詞:面狀海圖線型

      亢孟軍 吳雨錕 張開(kāi)碩 蘇世亮 翁 敏

      1 武漢大學(xué)資源與環(huán)境科學(xué)學(xué)院,湖北武漢,430079 2 城市空間信息工程北京市重點(diǎn)實(shí)驗(yàn)室,北京,100038 3 黑龍江地理信息工程院,黑龍江哈爾濱,150081

      電子海圖是開(kāi)展各種海上航行活動(dòng)的數(shù)據(jù)基礎(chǔ),是極其重要的海洋信息及數(shù)據(jù)源。其圖示表達(dá)在行業(yè)和研究中具有重要意義。但電子海圖的發(fā)展與傳統(tǒng)GIS 的發(fā)展不相適應(yīng),具體表現(xiàn)在:①現(xiàn)行電子海圖顯示標(biāo)準(zhǔn)—— 國(guó)際海道測(cè)量組織(International Hydrographic Organization,IHO)發(fā)布的S-52[1]只面向電子航海圖,缺乏一個(gè)面向海洋地理信息全域的顯示標(biāo)準(zhǔn)[2];②S-52 符號(hào)化過(guò)程過(guò)于復(fù)雜,難以集成在常規(guī)GIS 軟件中;③S-52 與S-57[3]的 耦 合 表 達(dá) 方式限制了其開(kāi)放性和可擴(kuò)展性。 構(gòu)建S-52 的開(kāi)放解決方案,使其便于被開(kāi)源GIS 軟件集成和渲染是一項(xiàng)亟待解決的工作。

      當(dāng)前對(duì)S-52 渲染解決方案的研究主要集中在符號(hào)庫(kù)的設(shè)計(jì)和渲染引擎的開(kāi)發(fā)方面。其中,符號(hào)庫(kù)設(shè)計(jì)的相關(guān)研究熱點(diǎn)在于選擇通用、便捷的符號(hào)組織載體存儲(chǔ)海圖符號(hào),如PostScript、TrueType、可縮放矢量圖形(scalable vector graphics,SVG )以及在ArcGIS 符號(hào)體系基礎(chǔ)上的擴(kuò)展[4-8],采用柵格圖片存儲(chǔ)符號(hào)也是一種備選方法,但是局限性大,僅適用于靜態(tài)的點(diǎn)狀符號(hào)[9]。SVG 作為一種開(kāi)放標(biāo)準(zhǔn)的矢量圖形語(yǔ)言,具有良好的交互功能,非常適用于表達(dá)電子海圖符號(hào)[10],本文選擇此方式組織圖元。

      S-52 渲染引擎主要有兩種實(shí)現(xiàn)方式:①底層開(kāi)發(fā)。解析S-57 數(shù)據(jù),依照S-52 符號(hào)標(biāo)準(zhǔn),對(duì)其進(jìn)行實(shí)現(xiàn)及優(yōu)化改造[11,12],并設(shè)計(jì)渲染算法[13]及其他多種功能,集成構(gòu)建海圖綜合顯示平臺(tái)[14,15]。②開(kāi)源渲染解決思路。主要基于XML 構(gòu)建開(kāi)放式海圖符號(hào)的表達(dá)規(guī)則,并通過(guò)OpenLayers、Canvas 等開(kāi)源類庫(kù)在開(kāi)源WebGIS 軟件上搭建相關(guān)功能模塊[16],運(yùn)用矢量瓦片提高渲染速度。底層開(kāi)發(fā)的渲染引擎通常內(nèi)嵌于系統(tǒng),不具備良好的開(kāi)放性、共享性和數(shù)據(jù)的互操作性。而目前的開(kāi)源解決方案注重總體設(shè)計(jì)思路,對(duì)符號(hào)化規(guī)則的實(shí)現(xiàn)細(xì)節(jié)不足,并且其與現(xiàn)有開(kāi)源GIS 軟件結(jié)合不夠,技術(shù)落地仍有差距。

      本文提供了一種基于開(kāi)放式地理信息系統(tǒng)協(xié)會(huì)(Open GIS Consortium,OGC)定義的圖層樣式描述規(guī)范(styled layer descriptor,SLD)的S-52 開(kāi)源解決方案,通過(guò)建立S-52 與SLD 的映射及符號(hào)轉(zhuǎn)換規(guī)則,實(shí)現(xiàn)開(kāi)源GIS 軟件對(duì)S-52 符號(hào)的規(guī)則的渲染。同時(shí),采用一張海圖配合一份SLD 配置文件的思路,在uDig 中實(shí)現(xiàn)了標(biāo)準(zhǔn)電子海圖的集成顯示。

      1 SLD 與S-52 的 映 射 關(guān) 系

      IHO S-52 規(guī)范符號(hào)演示庫(kù)中的復(fù)雜符號(hào)主要有4 種:①點(diǎn)符號(hào)或者是以面狀圖形中心點(diǎn)渲染的點(diǎn)符號(hào);②復(fù)雜線型符號(hào),線由兩個(gè)或多個(gè)不同圖元構(gòu)成;③復(fù)雜面型,以特定條紋或者圖像填充整個(gè)面狀區(qū)域;④注記符號(hào)。

      SLD 是一種基于XML 的樣式描述語(yǔ)言,具有豐富的擴(kuò)展性和良好的開(kāi)放性,是一種重要的GIS符號(hào)共享方法,適用于描述復(fù)雜S-52 顯示規(guī)范符號(hào)庫(kù)[17]中的復(fù)雜符號(hào)樣式,能實(shí)現(xiàn)跨平臺(tái)的調(diào)用渲染。SLD 定義的渲染規(guī)則均包含在標(biāo)簽下,利用其子標(biāo)簽 分別實(shí)現(xiàn)點(diǎn)狀符號(hào)、線狀符號(hào)、面狀符號(hào)及注記符號(hào)的渲染。其相關(guān)標(biāo)簽與屬性對(duì)應(yīng)情況如表1 所示。

      表1 S-52 符號(hào)屬性與SLD 對(duì)應(yīng)關(guān)系Tab.1 Correspondence Between S-52 SymbolicProperties and SLD

      S-52 中的復(fù)雜符號(hào)往往需要使用一個(gè)圖形或者圖形的有序組合來(lái)完成符號(hào)渲染,一個(gè)獨(dú)立的圖形稱為圖元。將S-52 轉(zhuǎn)換為SLD 并配置出電子海圖的技術(shù)流程,如圖1 所示。

      圖1 S-52 與SLD 映射的技術(shù)流程Fig.1 Flow Chart of Mapping S-52 to SLD

      2 關(guān)鍵S-52 符號(hào)的SLD 定義

      1)簡(jiǎn)單類型。簡(jiǎn)單類型符號(hào)包括簡(jiǎn)單點(diǎn)符號(hào)、單色線符號(hào)、純色填充面符號(hào)。這些符號(hào)可使用簡(jiǎn)單的SLD 語(yǔ)句定義,它們分別由 標(biāo)簽完成渲染,并可以使用子標(biāo)簽等指定圖像及定位、虛線參數(shù)及拐角類型、填充顏色及透明度等屬性。

      2)特殊點(diǎn)符號(hào)。特殊點(diǎn)符號(hào)是指將特定圖像渲染在某一點(diǎn)狀目標(biāo)上或其周圍的符號(hào)類型。S-52 主要通過(guò)符號(hào)樣式、錨點(diǎn)坐標(biāo)等屬性描述對(duì)其進(jìn)行定義??墒褂肧LD 中的及其子標(biāo)簽通過(guò)加載 或 者 標(biāo) 簽 設(shè) 定 的 資源對(duì)象將符號(hào)渲染在指定位置,并可設(shè)置透明度、大小、旋轉(zhuǎn)角、錨點(diǎn)、偏移量以調(diào)整其顯示細(xì)節(jié)。

      3)復(fù)雜線型符號(hào)。復(fù)雜線型符號(hào)是指用多個(gè)不同或同一圖元等間距沿線狀目標(biāo)渲染的符號(hào)類型。S-52主要通過(guò)符號(hào)樣式、線寬等屬性描述對(duì)其進(jìn)行定義。可使用SLD 中的多個(gè)標(biāo)簽完成渲染。其子標(biāo)簽通過(guò)標(biāo)簽指定標(biāo)簽加載圖元;通過(guò)標(biāo)簽設(shè)置起始顯示位置及顯示間隔。其中,使用設(shè)置當(dāng)前圖元寬度與該圖元渲染間隔寬度;使用設(shè)定當(dāng)前圖元的左偏移量大小。例如,ACHARES51符號(hào)由兩種圖元組合而成,其渲染效果見(jiàn)圖2。

      圖2 復(fù)雜線型渲染對(duì)比(比例尺1∶25 000)Fig.2 Comparison of Complex Linestyles Rendering(Scale 1∶25 000)

      4)復(fù)雜面狀符號(hào)。復(fù)雜面狀符號(hào)指邊界線是復(fù)雜線型或者需要填充點(diǎn)符號(hào)的符號(hào)類型。S-52主要通過(guò)圖元樣式、填充規(guī)則等屬性描述對(duì)其進(jìn)行定義??墒褂肧LD 中的標(biāo)簽填充面狀符號(hào),此時(shí)點(diǎn)狀符號(hào)會(huì)被渲染至中心點(diǎn),通過(guò)標(biāo)簽設(shè)置圖片的偏移量;使用SLD中的標(biāo)簽渲染其邊界。例如,ENTRES51 符號(hào)由兩種圖元疊加的復(fù)雜線型符號(hào)和一個(gè)中心點(diǎn)符號(hào)疊加而成,其渲染效果見(jiàn)圖3。

      圖3 復(fù)雜面型渲染對(duì)比(比例尺1∶50 000)Fig.3 Comparison of Complex Area Rendering(Scale 1∶50 000)

      5)屬性依賴渲染。屬性依賴渲染是指各種符號(hào)類型需要根據(jù)物標(biāo)具體的屬性值指定不同渲染規(guī)則的渲染模式。在SLD 中控制符號(hào)渲染方式的所有標(biāo)簽需放置于一個(gè)標(biāo)簽下,標(biāo)簽可以指定標(biāo)簽,利用OGC 提供的3 種類型操作(空間操作、比較操作、邏輯操作)實(shí)現(xiàn)條件控制。可僅渲染滿足條件的目標(biāo),因此,通過(guò)設(shè)定多個(gè)不同的標(biāo)簽,可實(shí)現(xiàn)按照屬性值渲染的目的。面狀水深渲染結(jié)果見(jiàn)圖4。

      圖4 面狀水深渲染結(jié)果對(duì)比(比例尺1∶250 000)Fig.4 Comparison of Area Water Depth Rendering(Scale 1∶250 000)

      6)注記運(yùn)算渲染。注記運(yùn)算渲染是指直接渲染注記或根據(jù)屬性渲染注記的渲染模式。SLD 中包括OGC 標(biāo)準(zhǔn)提供的四則運(yùn)算和豐富的功能函數(shù),四則運(yùn)算通過(guò)標(biāo)簽

      實(shí)現(xiàn),功能函數(shù)使用標(biāo)簽實(shí)現(xiàn)。復(fù)雜的注記通常需要用到唯一的控制函數(shù)“if_then_else”,該函數(shù)能夠并列與互相嵌套。使用標(biāo)簽調(diào)用屬性表中數(shù)據(jù),利用標(biāo)簽渲染注記,設(shè)置字體、偏移量、標(biāo)簽等多種屬性,在其子標(biāo)簽
      海伦市| 西乌| 汝城县| 河间市| 太谷县| 光山县| 平陆县| 平南县| 麟游县| 准格尔旗| 赤壁市| 延长县| 丰城市| 福海县| 成武县| 开封县| 岐山县| 浦东新区| 栾川县| 乌海市| 瓦房店市| 木兰县| 钦州市| 淮北市| 长子县| 马边| 出国| 楚雄市| 文安县| 云南省| 乌鲁木齐市| 巫溪县| 金溪县| 进贤县| 连南| 仁化县| 阿拉尔市| 郸城县| 吉木萨尔县| 武川县| 云梦县|