[發明專利]一種地圖動態切片及服務端緩存的方法有效
| 申請號: | 201911299384.0 | 申請日: | 2019-12-17 |
| 公開(公告)號: | CN111159322B | 公開(公告)日: | 2020-09-08 |
| 發明(設計)人: | 王長海;周坦之;周錚;沈堪海;肖亮亮;胡文君;周敏璐;王建明;鄧定豐;羅海宇 | 申請(專利權)人: | 廣西交通設計集團有限公司 |
| 主分類號: | G06F16/29 | 分類號: | G06F16/29;G06F16/2455 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 石艷紅 |
| 地址: | 530012 廣西壯族*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 地圖 動態 切片 服務端 緩存 方法 | ||
1.一種地圖動態切片及服務端緩存的方法,其特征在于:包括如下步驟:
步驟1,獲取地圖切片信息:繼承ArcGIS for JavaScript的TiledMapServiceLayer,獲取地圖切片信息;地圖切片信息包括切片范圍full Extent、切片原點坐標map origin、坐標系信息、切片圖片的DPI,切片長度和寬度;
步驟2,實例化TileInfo對象:根據步驟1獲取的地圖切片信息,實例化TileInfo對象;
步驟3,計算切片的四個角點坐標:根據步驟1獲取的地圖切片信息、步驟2中TileInfo對象的長寬以及地圖分辨率resolution,計算一個切片的四個角點坐標;
步驟4,拼接Url地址:利用REST SDK中的ExportMap,根據每個切片的四個角點坐標,拼接為完整的緩存切片Url地址;
步驟5,向服務端進行代理請求:客戶端創建面向服務端的代理請求,代理請求內容為:服務代理地址+地圖服務ID+拼接的完整緩存切片Url地址;
步驟6,服務端接收代理請求:服務端中的HttpServlet接收步驟5中每個客戶端發送的代理請求并獲取代理請求內容;
步驟7,生成切片MD5字符串:服務端根據步驟6獲取的代理請求內容中的拼接的完整緩存切片Url地址,生成切片MD5字符串;
步驟8,獲取地圖服務版本號:服務端根據步驟6獲取的代理請求內容中的地圖服務ID,獲取對應地圖服務的版本號;
步驟9,生成對象圖形序列化緩存key:服務端根據步驟7生成的切片MD5字符串以及步驟8獲取的地圖服務版本號,生成對象圖形序列化緩存key,其中,key=切片MD5字符串+地圖服務版本號;
步驟10,查詢動態地圖切片資源:服務端根據步驟9生成的對象圖形序列化緩存key,從其內置的地圖切片圖形序列化資源池中查詢動態地圖切片資源;
步驟11,獲取動態地圖切片資源:步驟10中,當服務端能從內置的地圖切片圖形序列化資源池中查詢到對應的動態地圖切片資源時,直接跳轉至步驟13;否則,服務端根據步驟6獲取的代理請求內容中的拼接的完整緩存切片Url地址,向ArcGis Server服務器進行請求,并從ArcGis Server服務器中,獲取對應的動態地圖切片資源;
步驟12,更新地圖切片圖形序列化資源池:服務端將根據步驟11中從ArcGis Server服務器中獲取的動態地圖切片資源,構建動態地圖切片資源圖形序列化對象,并緩存到地圖切片圖形序列化資源池中,對地圖切片圖形序列化資源池進行更新;
其中,更新地圖切片圖形序列化資源池的具體過程,包括如下步驟:
步驟12a)構建動態地圖切片資源緩存目錄:序列化緩存配置根目錄\地圖服務ID\地圖服務版本\key前兩位字符\key.bin;
步驟12b)構建動態地圖切片資源圖形序列化對象;
步驟12c)將構建的動態地圖切片資源緩存目錄和動態地圖切片資源圖形序列化對象緩存到地圖切片圖形序列化資源池中;
步驟13,地圖輸出:服務端將給客戶端返回對象圖形序列化緩存key對應的動態地圖切片資源,并進行地圖輸出。
2.根據權利要求1所述的地圖動態切片及服務端緩存的方法,其特征在于:步驟3中,切片四個角點坐標的計算公式如下:
xmin=TileInfo.origin.x+TileInfo.width*resolution*col;
ymin=TileInfo.origin.y-TileInfo.height*(row+1)*resolution;
xmax=TileInfo.origin.x+TileInfo.width*resolution*(col+1);
ymax=TileInfo.origin.y-TileInfo.height*row*resolution;
式中,xmin表示切片最小x坐標;xmax表示切片最大x坐標;ymin表示切片最小y坐標;ymax表示切片最大y坐標;TileInfo.origin.x表示切片原點的x坐標;TileInfo.origin.y表示切片原點的y坐標;TileInfo.width表示切片寬度;TileInfo.height表示切片長度;resolution表示地圖分辨率;row表示地圖坐標的行號;col表示地圖坐標的列號。
3.根據權利要求1所述的地圖動態切片及服務端緩存的方法,其特征在于:步驟4中,拼接的完整的緩存切片Url地址包括時間戳參數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣西交通設計集團有限公司,未經廣西交通設計集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911299384.0/1.html,轉載請聲明來源鉆瓜專利網。





