• 
    

    
    

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

      基于矢量瓦片的電子地圖顯示范圍控制方法

      2024-01-09 07:50:54王文杰申傳慶王麗惠
      地理空間信息 2023年12期
      關(guān)鍵詞:子域電子地圖瓦片

      王文杰,申傳慶,張 哲,王麗惠

      (1.自然資源部陜西基礎(chǔ)地理信息中心,陜西 西安 710054;2.自然資源部第一地形測(cè)量隊(duì),陜西 西安 710054)

      目前,地圖服務(wù)的種類一般包括瓦片地圖服務(wù)WMTS(web map tile service),動(dòng)態(tài)地圖服務(wù)WMS(web map service),要素地圖服務(wù)WFS(web feature service)等幾種類型,不同服務(wù)在前端顯示的技術(shù)有所不同。其中瓦片地圖服務(wù)又稱緩存地圖服務(wù),地圖緩存是通過(guò)預(yù)先制作完成的不同比例尺級(jí)別的地圖分塊圖像(瓦片)進(jìn)行分發(fā),是實(shí)現(xiàn)地圖使用的一種非常有效的方法。但其在地圖顯示時(shí),按空間范圍進(jìn)行顯示控制比較困難;動(dòng)態(tài)地圖服務(wù)與瓦片地圖服務(wù)使用方式類似,二者的主要區(qū)別是動(dòng)態(tài)地圖的圖層內(nèi)容可以指定,但該方法是在服務(wù)端渲染,因性能原因應(yīng)用較少[1-3]。要素地圖服務(wù)則可以通過(guò)屬性、空間范圍等參數(shù)篩選需要顯示的數(shù)據(jù),數(shù)據(jù)過(guò)濾效率較低,且需要前端自定義渲染,主要用于數(shù)據(jù)檢索方面。文獻(xiàn)[4]針對(duì)ArcGIS 的動(dòng)態(tài)服務(wù)提出了一種圖像處理的方式實(shí)現(xiàn)范圍控制,顯示效果較好,但對(duì)瓦片服務(wù)的控制無(wú)法實(shí)現(xiàn)。文獻(xiàn)[5]對(duì)瓦片服務(wù)請(qǐng)求返回的圖片進(jìn)行相交判斷,實(shí)時(shí)裁切達(dá)到范圍顯示控制,但是由于計(jì)算量較大,影響了地圖顯示的效率。文獻(xiàn)[6]嘗試了基于Html5 頁(yè)面CSS不規(guī)則遮罩的控制方法,該方法性能因遮罩范圍的坐標(biāo)復(fù)雜度而受到限制。文獻(xiàn)[7]利用ArcGIS Server SOE 和種子填充算法,實(shí)現(xiàn)了對(duì)ArcGIS 地圖服務(wù)的定制范圍和圖層類別的顯示控制,但只能服務(wù)于Arc-GIS 動(dòng)態(tài)圖層服務(wù),操作復(fù)雜且容易導(dǎo)致地圖服務(wù)異常。從前面列舉的文獻(xiàn)可以看出,對(duì)電子地圖顯示范圍控制多是基于傳統(tǒng)柵格地圖,隨著矢量瓦片地圖逐步成為地圖服務(wù)應(yīng)用的熱點(diǎn),本文主要研究基于矢量瓦片的電子地圖顯示范圍控制方法。

      1 方法設(shè)計(jì)

      1.1 矢量瓦片地圖技術(shù)

      矢量瓦片地圖是一種基于四叉樹金字塔模型,將矢量數(shù)據(jù)按地理格網(wǎng)進(jìn)行分割形成瓦片數(shù)據(jù),客戶端根據(jù)地圖顯示范圍從服務(wù)器獲取相應(yīng)的瓦片,通過(guò)指定樣式在客戶端實(shí)現(xiàn)地圖的實(shí)時(shí)繪制[1]。針對(duì)矢量瓦片技術(shù),Mapbox 公司制定的矢量瓦片規(guī)范(Mapbox Vector Tile Specification)已經(jīng)被眾多公司和組織所采用,它是一種節(jié)省存儲(chǔ)空間的數(shù)據(jù)編碼方式,能夠在客戶端高效渲染或查詢要素信息。

      Mapbox地圖渲染樣式規(guī)范定義了一套地圖所呈現(xiàn)的視覺(jué)外觀配置方法,內(nèi)容包括繪制數(shù)據(jù)源、過(guò)濾器、圖層樣式、字體等內(nèi)容。其中對(duì)矢量圖層的渲染,首先定義ID,引用一個(gè)瓦片數(shù)據(jù)源(source),指定的要素內(nèi)容(source-layer),并可對(duì)source-layer 內(nèi)容進(jìn)行過(guò)濾(filter),然后定義要素渲染的具體參數(shù)(paint)。

      1.2 技術(shù)原理

      基于矢量瓦片技術(shù),研究一種只發(fā)布一套地圖,可實(shí)現(xiàn)對(duì)該地圖內(nèi)任意區(qū)域單獨(dú)顯示的技術(shù)方法,尤其適用于按多級(jí)行政區(qū)劃顯示地圖的應(yīng)用中。在發(fā)布完一幅全域地圖后,當(dāng)需要單獨(dú)顯示其中某一子域范圍內(nèi)地圖時(shí),只需要從全域地圖中選取子域地圖進(jìn)行展示,而無(wú)需再對(duì)子域單獨(dú)發(fā)布一個(gè)的地圖。

      矢量瓦片是一種在客戶端進(jìn)行渲染的新型矢量地圖服務(wù),支持地圖樣式的靈活配置,基于此特性,對(duì)需要按范圍控制顯示的矢量數(shù)據(jù),可通過(guò)前端數(shù)據(jù)過(guò)濾的方式對(duì)實(shí)現(xiàn)數(shù)據(jù)顯示范圍的控制。首先按最小空間單元分割并賦予范圍屬性值,然后進(jìn)行矢量數(shù)據(jù)瓦片,在發(fā)布為矢量瓦片服務(wù)后,客戶端進(jìn)行地圖渲染時(shí)可對(duì)矢量瓦片按空間范圍屬性標(biāo)識(shí)進(jìn)行過(guò)濾,從而實(shí)現(xiàn)地圖顯示范圍的控制。

      矢量瓦片地圖顯示范圍控制的實(shí)現(xiàn)流程總體分為兩步,一是在矢量數(shù)據(jù)預(yù)處理與瓦片時(shí),在矢量數(shù)據(jù)屬性中增加區(qū)域標(biāo)識(shí)碼;二是對(duì)地圖服務(wù)調(diào)用時(shí),在服務(wù)訪問(wèn)參數(shù)中設(shè)置區(qū)域標(biāo)識(shí)碼參數(shù),在返回的矢量瓦片樣式文件中自動(dòng)添加區(qū)域標(biāo)識(shí)碼過(guò)濾配置,從而在地圖展示時(shí)可實(shí)現(xiàn)按區(qū)域進(jìn)行地圖展示。

      1.3 矢量數(shù)據(jù)預(yù)處理

      在數(shù)據(jù)預(yù)處理階段,首先將矢量數(shù)據(jù)按最小區(qū)域單元(如行政區(qū)劃中的村界)進(jìn)行分割,然后根據(jù)數(shù)據(jù)所在的空間區(qū)域?qū)?shù)據(jù)添加區(qū)域代碼屬性(如賦予數(shù)據(jù)所屬行政區(qū)劃中村的代碼值),如果需要按多級(jí)空間范圍展示,可對(duì)矢量數(shù)據(jù)添加多個(gè)級(jí)別的空間區(qū)域代碼屬性(如行政區(qū)劃中村所在的鄉(xiāng)鎮(zhèn)代碼、區(qū)縣代碼等)。由于矢量瓦片本身會(huì)對(duì)矢量數(shù)據(jù)進(jìn)行分割,因此按區(qū)域?qū)κ噶繑?shù)據(jù)進(jìn)行分割,不影響數(shù)據(jù)內(nèi)容的準(zhǔn)確性。

      全域范圍P包含子域P1、P2、P3,矢量線要素A包含在全域P中,同時(shí)分布在子域P1、P2、P3中,P為一級(jí)區(qū)域,P1、P2、P3為二級(jí)區(qū)域。在數(shù)據(jù)預(yù)處理階段,在P1、P2、P3的邊界處對(duì)A進(jìn)行斷開處理,得到A的子集a1、a2、a3。對(duì)a1、a2、a3添加1級(jí)區(qū)域?qū)傩訪1,并賦值為P;對(duì)a1、a2、a3添加2 級(jí)區(qū)域?qū)傩訪2,根據(jù)其所處的2 級(jí)空間區(qū)域,分別賦值為P1、P2、P3,屬性設(shè)置結(jié)果如表1所示。

      表1 矢量數(shù)據(jù)屬性賦值

      圖1 與表1 表示了空間區(qū)域劃分為兩級(jí)的情況,如果P1、P2、P3繼續(xù)分割為更小的子域,則需要對(duì)a1、a2、a3按更小子域的邊界進(jìn)行分割,同時(shí)增加新的子域?qū)傩訪n,屬性賦值以此類推。

      圖1 矢量數(shù)據(jù)預(yù)處理

      1.4 數(shù)據(jù)切片與服務(wù)發(fā)布

      對(duì)完成預(yù)處理的矢量數(shù)據(jù),進(jìn)行矢量數(shù)據(jù)切片,并將區(qū)域?qū)傩裕ㄈ?.2 屬性L1、L2)輸出到矢量瓦片中,然后發(fā)布為矢量瓦片服務(wù)。目前常用的矢量數(shù)據(jù)瓦片的商業(yè)工具有ESRI公司的ArcGIS Pro和北京超圖地理信息技術(shù)有限公司的SuperMap iDesktop等,開源工 具 有Geoserver、Mapbox、TileStache、Mapnik 等,各種軟件對(duì)矢量數(shù)據(jù)瓦片的包裝格式各不相同,但底層實(shí)現(xiàn)都是PBF(google protocol buffers)格式。對(duì)矢量瓦片地圖服務(wù)發(fā)布支持的軟件有ArcGIS Portal、SuperMap IServer、GeoServer、Mapbox等。

      1.5 地圖訪問(wèn)

      發(fā)布完成的矢量瓦片地圖,先配置地圖樣式,然后通過(guò)Web API進(jìn)行調(diào)用?;谑噶客咂碾娮拥貓D顯示范圍控制是渲染時(shí)通過(guò)設(shè)置數(shù)據(jù)過(guò)濾條件實(shí)現(xiàn)的,數(shù)據(jù)過(guò)濾條件在地圖渲染時(shí)的樣式文件中進(jìn)行配置,由客戶端指定。

      如表2 所示,過(guò)濾條件以鍵值對(duì)應(yīng)的方式進(jìn)行表示。filter為過(guò)濾標(biāo)識(shí),其值為一個(gè)數(shù)組對(duì)象。

      表2 顯示范圍過(guò)濾條件配置

      2 實(shí)驗(yàn)與分析

      在實(shí)際應(yīng)用中,按行政區(qū)劃對(duì)地圖進(jìn)行顯示,是電子地圖顯示范圍過(guò)濾最常見(jiàn)的一種應(yīng)用場(chǎng)景。按本文所述技術(shù)原理,以安康市綜合電子地圖為實(shí)驗(yàn)數(shù)據(jù),采用GeoServer制作并發(fā)布矢量瓦片地圖服務(wù),對(duì)安康市綜合電子地圖進(jìn)行控制顯示范圍實(shí)驗(yàn)。

      在發(fā)布完成矢量瓦片地圖服務(wù)之后,默認(rèn)展示地圖為安康市全域地圖,如圖1 所示。樣式中數(shù)據(jù)過(guò)濾配置為filter:["all",["in","CITYCODE","610900"]],其中CITYCODE為市級(jí)區(qū)劃代碼的屬性名,610900為安康市區(qū)劃代碼值。

      當(dāng)只顯示安康市一個(gè)子域旬陽(yáng)市(縣級(jí)市)的地圖時(shí),數(shù)據(jù)過(guò)濾配置為filter: ["all", ["in", "COUNTYCODE", "610928"]],其中COUNTYCODE 為縣級(jí)區(qū)劃代碼的屬性名,610928 為旬陽(yáng)市(縣級(jí)市)的區(qū)劃代碼值。

      當(dāng)同時(shí)顯示安康市內(nèi)2 個(gè)子域?qū)庩兛h與旬陽(yáng)市的地圖時(shí), 數(shù)據(jù)過(guò)濾配置為filter: ["all", ["in", "COUNTYCODE","610928","610922"],其中,610928為旬陽(yáng)市(縣級(jí)市)的區(qū)劃代碼值,610922為寧陜縣的區(qū)劃代碼值。如需顯示2個(gè)以上子域,配置與此類似。

      當(dāng)不顯示安康市內(nèi)子域旬陽(yáng)市的地圖時(shí),數(shù)據(jù)過(guò)濾配置為filter: ["none", ["in", "COUNTYCODE", "610928"]],其中,610928 為旬陽(yáng)市(縣級(jí)市)的區(qū)劃代碼值。如需不顯示2個(gè)以上子域,配置與此類似。

      傳統(tǒng)的地圖服務(wù)應(yīng)用中,如果需要按范圍顯示地圖,則是將數(shù)據(jù)預(yù)先按范圍進(jìn)行裁切,然后發(fā)布為多個(gè)地圖服務(wù),這顯然是一種數(shù)據(jù)體不同,其他操作與配置基本相同的服務(wù)提供方式,這種方式對(duì)服務(wù)發(fā)布與管理的壓力較大。如上述實(shí)驗(yàn)中的4 種地圖范圍場(chǎng)景,傳統(tǒng)地圖服務(wù)需要發(fā)布4 個(gè)單獨(dú)的服務(wù),而通過(guò)設(shè)置過(guò)濾條件的矢量瓦片地圖只需發(fā)布一個(gè)服務(wù)即可實(shí)現(xiàn)。

      3 結(jié) 語(yǔ)

      本文方法是在客戶端通過(guò)數(shù)據(jù)過(guò)濾方式實(shí)現(xiàn)電子地圖按范圍顯示,發(fā)布一套地圖可支持多種顯示范圍。經(jīng)過(guò)實(shí)踐驗(yàn)證,在地理信息服務(wù)應(yīng)用領(lǐng)域內(nèi)能夠滿足地圖按范圍顯示的需求,但這種機(jī)制并沒(méi)有從數(shù)據(jù)源頭對(duì)數(shù)據(jù)內(nèi)容進(jìn)行控制,如果涉及按空間范圍進(jìn)行數(shù)據(jù)安全控制時(shí),該方法有不足之處。由于矢量瓦片數(shù)據(jù)是一種可編輯的數(shù)據(jù),討論在服務(wù)端直接對(duì)數(shù)據(jù)內(nèi)容按空間范圍進(jìn)行過(guò)濾時(shí),可以進(jìn)一步拓展矢量瓦片服務(wù)按范圍展示的應(yīng)用場(chǎng)景。

      猜你喜歡
      子域電子地圖瓦片
      中國(guó)公豬站引種指南電子地圖
      基于鏡像選擇序優(yōu)化的MART算法
      基于子域解析元素法的煤礦疏降水量預(yù)測(cè)研究
      煤炭工程(2021年7期)2021-07-27 09:34:20
      一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
      慣性
      一種基于壓縮感知的三維導(dǎo)體目標(biāo)電磁散射問(wèn)題的快速求解方法
      基于Mapserver的增強(qiáng)現(xiàn)實(shí)電子地圖的設(shè)計(jì)與實(shí)現(xiàn)
      電子地圖在初中地理教學(xué)中的應(yīng)用實(shí)踐
      基于NoSQL數(shù)據(jù)庫(kù)的瓦片地圖服務(wù)
      電子地圖多尺度顯示模型研究
      商丘市| 台前县| 宣化县| 海门市| 威海市| 云浮市| 罗甸县| 香河县| 平原县| 兰考县| 开江县| 通辽市| 临武县| 胶州市| 玉门市| 横山县| 乌拉特前旗| 鲜城| 辽阳县| 崇义县| 平远县| 南安市| 永川市| 周至县| 阿拉尔市| 景宁| 马关县| 曲靖市| 久治县| 丰宁| 金沙县| 楚雄市| 铜川市| 西盟| 嘉黎县| 长寿区| 彩票| 昂仁县| 湘潭县| 萨嘎县| 天水市|