欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種擴展GeoServer發(fā)布自定義瓦片WMS服務(wù)的實現(xiàn)方法與流程

文檔序號:11216443閱讀:1634來源:國知局
一種擴展GeoServer發(fā)布自定義瓦片WMS服務(wù)的實現(xiàn)方法與流程

本發(fā)明屬于智能電力gis技術(shù)領(lǐng)域,具體涉及一種擴展geoserver發(fā)布自定義瓦片wms服務(wù)的實現(xiàn)方法,能夠滿足電力系統(tǒng)中展示多類型、更高分辨率、更新時效性地理底圖的需求。



背景技術(shù):

隨著配電、用電項目的開展,低壓設(shè)備的持續(xù)錄入,電力gis對項目所在區(qū)域的地圖精度和詳細程度都提出了更高的要求。web系統(tǒng)向面向服務(wù)的體系架構(gòu)發(fā)展,gis也逐步以服務(wù)的方式提供空間數(shù)據(jù)及空間功能的服務(wù),在web環(huán)境下展示更高分辨率的影像地圖數(shù)據(jù)所需要的費用和空間處理資源更大,需要瓦片化、緩存、索引優(yōu)化等機制來實現(xiàn)以輕量級、服務(wù)化的方式提供電力gis服務(wù)。



技術(shù)實現(xiàn)要素:

針對上述問題,本發(fā)明提出一種擴展geoserver發(fā)布自定義瓦片wms服務(wù)的實現(xiàn)方法,對不同類型的自定義瓦片數(shù)據(jù)源以遵循ogc規(guī)范的wms服務(wù)的方式提供給電力業(yè)務(wù)系統(tǒng),實現(xiàn)地圖服務(wù)與業(yè)務(wù)系統(tǒng)的松耦合,滿足電力gis對多類型、高分辨率影像地圖數(shù)據(jù)的展示需求。

實現(xiàn)上述技術(shù)目的,達到上述技術(shù)效果,本發(fā)明通過以下技術(shù)方案實現(xiàn):

一種擴展geoserver發(fā)布自定義瓦片wms服務(wù)的實現(xiàn)方法,包括以下步驟:

s1:預(yù)下載不同比例尺下的地圖瓦片,根據(jù)設(shè)定的瓦片切分規(guī)則、瓦片命名規(guī)則和組織規(guī)則存儲在對應(yīng)的自定義文件夾中,以形成自定義瓦片數(shù)據(jù)源;

s2:在自定義文件夾中建立用于記錄位于其內(nèi)的地圖瓦片的地圖參數(shù)信息的配置文件;

s3:在geoserver的數(shù)據(jù)目錄配置與自定義瓦片數(shù)據(jù)源對應(yīng)的圖層,用于存儲自定義瓦片數(shù)據(jù)源信息文件;

s4:根據(jù)接收到的獲取網(wǎng)絡(luò)地圖getmap請求,首先利用自定義瓦片數(shù)據(jù)源信息解析類解析自定義瓦片數(shù)據(jù)源信息文件,然后利用自定義瓦片讀取類定位到需要讀取的自定義瓦片數(shù)據(jù)源;最后利用自定義瓦片特征類解析出地圖瓦片的地圖參數(shù)信息,并傳送給自定義瓦片讀取類;

s5:自定義瓦片讀取類根據(jù)接收到的地圖參數(shù)信息、瓦片切片規(guī)則和瓦片命名規(guī)則調(diào)用相應(yīng)的索引號計算方法,響應(yīng)獲取網(wǎng)絡(luò)地圖getmap請求,返回所需的地圖瓦片。

進一步地,所述自定義瓦片數(shù)據(jù)源是一組具有同樣的自定義瓦片切分規(guī)則、瓦片命名規(guī)則和組織規(guī)則的地圖瓦片文件,其中,所述的組織規(guī)則為各地圖瓦片的組合順序。

進一步地,所述自定義瓦片數(shù)據(jù)源信息文件包括:用于定義地圖瓦片基本描述信息的info.xml文件、用于定義地圖瓦片存儲路徑的tiledata.its文件和用于定義地圖瓦片坐標(biāo)系及投影信息的tiledata.prj文件。

進一步地,所述地圖參數(shù)信息包括:該組地圖瓦片所在全球地圖的坐標(biāo)范圍、初始比例尺級別下全球范圍對應(yīng)的瓦片行列數(shù)、最小和最大比例尺級別、瓦片像素大小及擴展信息,所述擴展信息包括瓦片類型名稱信息,用于當(dāng)出現(xiàn)兩組或多組不同類型的地圖瓦片數(shù)據(jù)時,利用不同的瓦片類型名稱區(qū)別開。

進一步地,所述網(wǎng)絡(luò)地圖getmap請求中包括:圖層名稱、請求地理坐標(biāo)范圍、像素大小、請求坐標(biāo)系信息。

進一步地,所述步驟s4中具體為:利用自定義瓦片數(shù)據(jù)源信息解析類讀取info.xml文件、tiledata.its文件、tiledata.prj文件中地圖瓦片基本描述信息、地圖瓦片坐標(biāo)系及投影信息、地圖瓦片存儲路徑,讀取類根據(jù)地圖瓦片存儲路徑信息,定位到需要讀取的自定義瓦片數(shù)據(jù)源;由自定義瓦片特征類解析對應(yīng)的自定義文件夾中的地圖參數(shù)信息的配置文件,解析出地圖瓦片的地圖參數(shù)信息,并傳送給自定義瓦片讀取類。

進一步地,所述步驟s5具體為:自定義瓦片讀取類依據(jù)接收到的地圖參數(shù)信息、自定義切片規(guī)則和瓦片命名規(guī)則調(diào)用相應(yīng)的索引號計算方法,得到地理坐標(biāo)和瓦片索引號之間的換算關(guān)系以及瓦片數(shù)據(jù)各級比例尺的像素分辨率;自定義瓦片讀取類依據(jù)接收到的網(wǎng)絡(luò)地圖getmap請求中的參數(shù),將網(wǎng)絡(luò)地圖getmap請求中的在請求坐標(biāo)系下請求地理坐標(biāo)范圍轉(zhuǎn)換為tiledata.prj文件中的地圖瓦片坐標(biāo)系的地理坐標(biāo)范圍,并根據(jù)網(wǎng)絡(luò)地圖getmap請求中的地理范圍、幾何像素范圍計算理論上的瓦片像素分辨率,進而與瓦片數(shù)據(jù)各級比例尺的像素分辨率進行比較,取最接近的瓦片數(shù)據(jù)比例尺為顯示比例尺,根據(jù)該比例尺分辨率和幾何像素范圍計算得到新的地理坐標(biāo)范圍,使用該顯示比例尺和地理坐標(biāo)范圍計算瓦片索引號,得到瓦片文件。

本發(fā)明的有益效果:

本發(fā)明解決了電力webgis顯示更高分辨率、數(shù)據(jù)量更大的地理底圖的要求,通過預(yù)緩存網(wǎng)絡(luò)地圖瓦片,擴展webgis服務(wù)端支持以wms服務(wù)的方式對自定義瓦片數(shù)據(jù)進行訪問,減少對在線商用地圖api的依賴,改善了電力gis的展示效率,提高了電力gis的用戶體驗。

附圖說明

圖1為擴展geoserver發(fā)布自定義瓦片wms服務(wù)的框架圖;

圖2為配置和解析自定義地圖瓦片、返回wms獲取網(wǎng)絡(luò)地圖請求所需地圖瓦片的流程圖;

圖3為計算所需瓦片索引號的流程圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

下面結(jié)合附圖對本發(fā)明的應(yīng)用原理作詳細的描述。

如圖1-3所示,一種擴展geoserver發(fā)布自定義瓦片wms服務(wù)的實現(xiàn)方法,包括以下步驟:

s1:預(yù)下載不同比例尺下的地圖瓦片,根據(jù)設(shè)定的瓦片切分規(guī)則、瓦片命名規(guī)則和組織規(guī)則存儲在對應(yīng)的自定義文件夾中,以形成自定義瓦片數(shù)據(jù)源;

所述自定義瓦片數(shù)據(jù)源是一組具有同樣的自定義瓦片切分規(guī)則、瓦片命名規(guī)則和組織規(guī)則的地圖圖片文件,其中,所述的組織規(guī)則為各地圖瓦片的組合順序;

s2:在自定義文件夾中建立用于記錄位于其內(nèi)的地圖瓦片的地圖參數(shù)信息的配置文件;

所述地圖參數(shù)信息包括:該組地圖瓦片所在全球地圖的坐標(biāo)范圍、初始比例尺級別下全球范圍對應(yīng)的瓦片行列數(shù)、最小和最大比例尺級別、瓦片像素大小及擴展信息,所述擴展信息包括瓦片類型名稱信息(比如:google、worldwind),用于當(dāng)出現(xiàn)兩組或多組不同類型的地圖瓦片數(shù)據(jù)時,利用不同的瓦片類型名稱區(qū)別開。

s3:在geoserver的數(shù)據(jù)目錄配置與各自定義瓦片數(shù)據(jù)源對應(yīng)的圖層,用于存儲自定義瓦片數(shù)據(jù)源信息文件;

所述自定義瓦片數(shù)據(jù)源信息文件包括:用于定義地圖瓦片基本描述信息的info.xml文件、用于定義地圖瓦片存儲路徑的tiledata.its文件和用于定義地圖瓦片坐標(biāo)系及投影信息的tiledata.prj文件。

s4:根據(jù)接收到的獲取網(wǎng)絡(luò)地圖getmap請求,首先利用自定義瓦片數(shù)據(jù)源信息解析類解析自定義瓦片數(shù)據(jù)源信息文件,然后利用自定義瓦片讀取類定位到需要讀取的自定義瓦片數(shù)據(jù)源;最后利用自定義瓦片特征類解析出地圖瓦片的地圖參數(shù)信息,并傳送給自定義瓦片讀取類;

所述步驟s4中具體為:利用自定義瓦片數(shù)據(jù)源信息解析類讀取info.xml文件、tiledata.its文件、tiledata.prj文件中地圖瓦片基本描述信息、地圖瓦片坐標(biāo)系及投影信息、地圖瓦片存儲路徑,讀取類根據(jù)地圖瓦片存儲路徑信息,定位到需要讀取的自定義瓦片數(shù)據(jù)源;由自定義瓦片特征類解析對應(yīng)的自定義文件夾中的地圖參數(shù)信息的配置文件,解析出地圖瓦片的地圖參數(shù)信息,并傳送給自定義瓦片讀取類;

s5:自定義瓦片讀取類根據(jù)接收到的地圖參數(shù)信息、瓦片切片規(guī)則和瓦片命名規(guī)則調(diào)用相應(yīng)的索引號計算方法,響應(yīng)獲取網(wǎng)絡(luò)地圖getmap請求,返回所需的地圖瓦片;

所述步驟s5具體為:自定義瓦片讀取類依據(jù)接收到的地圖參數(shù)信息、自定義切片規(guī)則和瓦片命名規(guī)則調(diào)用相應(yīng)的索引號計算方法,得到地理坐標(biāo)和瓦片索引號之間的換算關(guān)系以及瓦片數(shù)據(jù)各級比例尺的像素分辨率;自定義瓦片讀取類依據(jù)接收到的網(wǎng)絡(luò)地圖getmap請求中的參數(shù),將網(wǎng)絡(luò)地圖getmap請求中的在請求坐標(biāo)系下請求地理坐標(biāo)范圍轉(zhuǎn)換為在tiledata.prj文件中的地圖瓦片坐標(biāo)系下的地理坐標(biāo)范圍,并根據(jù)網(wǎng)絡(luò)地圖getmap請求中的地理范圍、幾何像素范圍計算理論上的瓦片像素分辨率,進而與瓦片數(shù)據(jù)各級比例尺的像素分辨率進行比較,取最接近的瓦片數(shù)據(jù)比例尺為顯示比例尺,根據(jù)該比例尺分辨率和幾何像素范圍計算得到新的地理坐標(biāo)范圍,使用該顯示比例尺和地理坐標(biāo)范圍計算瓦片索引號,得到瓦片文件。

下面以谷歌地圖瓦片為例來說明本發(fā)明的擴展geoserver發(fā)布自定義瓦片wms服務(wù)的實現(xiàn)方法的實現(xiàn)過程:

本實施例中的自定義瓦片數(shù)據(jù)源信息解析類、自定義瓦片讀取類、自定義瓦片特征類均設(shè)于nariimagetilesource模塊中,其中nariimagetilesource是自定義的模塊。

步驟1:預(yù)下載不同比例尺下的谷歌地圖瓦片,所有地圖瓦片均存儲在tilemap文件夾中,形成自定義瓦片數(shù)據(jù)源,此實施例中約定地圖瓦片的命名按照“比例尺級別/行號/列號.png”的規(guī)則命名;在geoserver數(shù)據(jù)目錄的coverages文件夾中建立googletile文件夾,并在googletile文件夾中配置info.xml文件、tiledata.its文件和tiledata.prj文件;所述info.xml文件用于定義地圖瓦片基本描述信息,包括:數(shù)據(jù)名稱、數(shù)據(jù)來源及更新日期等描述信息;所述tiledata.its文件用于定義地圖瓦片存儲路徑,所述tiledata.prj文件用于定義地圖瓦片坐標(biāo)系及投影信息,tiledata.prj文件采用epsg系統(tǒng)的wkt文本描述方式。

步驟2:在tilemap文件夾中,建立用于記錄位于其內(nèi)的地圖瓦片的地圖參數(shù)信息的配置文件config.xml,所述的地圖參數(shù)信息包括:該該組地圖瓦片所在全球地圖的坐標(biāo)范圍、初始比例尺級別下全球范圍對應(yīng)的瓦片行列數(shù)、最小和最大比例尺級別、瓦片像素大小及擴展信息,所述擴展信息包括瓦片類型名稱信息,用于當(dāng)出現(xiàn)兩組或多組不同類型的地圖瓦片數(shù)據(jù)時,利用不同的瓦片類型名稱區(qū)別開,例如可按切分規(guī)則命名,將與谷歌地圖切分規(guī)則一致的地圖瓦片的瓦片類型名稱定義為“google”,將與worldwind地圖切分規(guī)則一致的地圖瓦片的瓦片類型名稱定義為“worldwind”,或者用自定義的名字。

步驟3:geoserver接收并解析網(wǎng)絡(luò)地圖getmap請求,獲得請求條件參數(shù),具體包括:圖層名稱、請求地理坐標(biāo)范圍、像素大小、請求坐標(biāo)系信息等;當(dāng)geoserver判斷出需要訪問的圖層是以步驟1中配置的自定義瓦片為數(shù)據(jù)源時,讀取geoserver數(shù)據(jù)目錄中的coverages文件夾中建立的info.xml文件、tiledata.its文件和tiledata.prj文件,利用自定義瓦片數(shù)據(jù)源信息解析類讀取info.xml文件、tiledata.its文件和tiledata.prj文件中地圖瓦片基本描述信息、地圖瓦片坐標(biāo)系及投影信息、地圖瓦片存儲路徑;然后利用自定義瓦片讀取類根據(jù)地圖瓦片存儲路徑定位到需要讀取的自定義瓦片數(shù)據(jù)源;再然后通過自定義瓦片特征類解析該地圖瓦片存儲路徑信息下的config.xml文件,獲得相應(yīng)的地圖參數(shù)信息,具體包括:該組地圖瓦片所在全球地圖的坐標(biāo)范圍、初始比例尺級別下全球范圍對應(yīng)的瓦片行列數(shù)、最小和最大比例尺級別、瓦片像素大小及擴展信息;

步驟4、所述步驟s5具體為:自定義瓦片讀取類依據(jù)接收到的地圖參數(shù)信息、自定義切片規(guī)則和瓦片命名規(guī)則調(diào)用相應(yīng)的索引號計算方法,得到地理坐標(biāo)和瓦片索引號之間的換算關(guān)系以及瓦片數(shù)據(jù)各級比例尺的像素分辨率;自定義瓦片讀取類依據(jù)接收到的網(wǎng)絡(luò)地圖getmap請求中的參數(shù),將網(wǎng)絡(luò)地圖getmap請求中的在請求坐標(biāo)系下請求地理坐標(biāo)范圍轉(zhuǎn)換為在tiledata.prj文件中的地圖瓦片坐標(biāo)系下的地理坐標(biāo)范圍,并根據(jù)網(wǎng)絡(luò)地圖getmap請求中的地理范圍、幾何像素范圍計算理論上的瓦片像素分辨率,進而與瓦片數(shù)據(jù)各級比例尺的像素分辨率進行比較,取最接近的瓦片數(shù)據(jù)比例尺為顯示比例尺,根據(jù)該比例尺分辨率和幾何像素范圍計算得到新的地理坐標(biāo)范圍,使用該顯示比例尺和地理坐標(biāo)范圍計算瓦片索引號,得到瓦片文件。

例如谷歌地圖瓦片數(shù)據(jù)源的config.xml中配置type信息為“google”,谷歌地圖瓦片切分規(guī)則為:以左上角為起始原點,全球地圖范圍為:x軸取值范圍為[-20037508.3427892,20037508.3427892],y軸取值范圍為[-20037508.3427892,20037508.3427892],在該正方形投影平面上進行瓦片劃分,每層全球影像瓦片數(shù)量為4的level冪次方,即第0層為1張、第1層為4張、第二層為16張,如此循環(huán),可計算出每一張瓦片在每個層級下都有其所對應(yīng)的行號和列號。在進行預(yù)下載時以“epsg900193_比例尺級別數(shù)/行號/列號.png”的方式對谷歌瓦片進行自定義組織。worldwind瓦片數(shù)據(jù)源的config.xml中配置type信息為“worldwind”,worldwind瓦片切分規(guī)則為:以左下角為起始原點,全球地圖范圍為:(-90,-180)至(90,180),每張瓦片的像素大小為512*512,第0層為10張瓦片,每下一層將上一層瓦片一分為四,在進行預(yù)下載時以“比例尺級別數(shù)/行號/列號.png”的方式對worldwind瓦片進行自定義組織。

當(dāng)需要新增自定義類型的瓦片,如圖2中的流程所示,在geoserver數(shù)據(jù)目錄coverages文件夾中新增圖層及相應(yīng)的自定義瓦片數(shù)據(jù)源配置文件,在瓦片數(shù)據(jù)目錄中部署新增的瓦片文件,并建立相應(yīng)的config.xml,其中擴展信息中自定義瓦片類型名稱和已有的自定義瓦片類型名稱區(qū)別開。在程序部分,更新自定義瓦片特征類中增加識別新的類型名稱,自定義瓦片讀取類中增加計算該自定義瓦片切分和索引規(guī)則的方法,nariimagetilesource模塊在geoserver中的自定義瓦片數(shù)據(jù)源信息解析類、自定義瓦片讀取類、自定義瓦片特征類的調(diào)用方式不發(fā)生改變,有利于定制和擴展所需的地圖瓦片數(shù)據(jù)源。

以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權(quán)利要求書及其等效物界定。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
安宁市| 安义县| 英超| 泉州市| 汉源县| 偏关县| 西安市| 延边| 镇江市| 黎川县| 苍山县| 苏州市| 杭锦后旗| 曲松县| 抚宁县| 怀远县| 大新县| 洪雅县| 手游| 文水县| 玛纳斯县| 承德县| 洛川县| 和平县| 涿鹿县| 石柱| 阜城县| 易门县| 安仁县| 万州区| 宁河县| 万年县| 北票市| 扎赉特旗| 苏州市| 裕民县| 关岭| 许昌县| 淅川县| 金寨县| 金湖县|