1. 前言
實(shí)際項(xiàng)目中我們經(jīng)常會(huì)遇到這樣一種場(chǎng)景:地圖底圖可能是互聯(lián)網(wǎng)地圖(百度、高德、天地圖)等等,同時(shí)我們自己又有某個(gè)區(qū)域單獨(dú)的一套POI數(shù)據(jù),我們需要將互聯(lián)網(wǎng)地圖中這個(gè)區(qū)域的原有POI數(shù)據(jù)進(jìn)行遮罩然后只顯示我們自己的POI數(shù)據(jù)。
針對(duì)這樣的需求,我們首先想到的是能否我們只使用不包含注記的底圖瓦片,然后再疊加上我們的POI數(shù)據(jù)。事實(shí)上,實(shí)際需求中還需要考慮一點(diǎn),我們只有部分區(qū)域的POI數(shù)據(jù),卻沒有其他區(qū)域的POI數(shù)據(jù)。
所以這個(gè)需求真正的核心是:除這個(gè)不規(guī)則多邊形的指定區(qū)域外,地圖均是互聯(lián)網(wǎng)地圖加互聯(lián)網(wǎng)注記,而這個(gè)核心區(qū)域內(nèi)需要是互聯(lián)網(wǎng)地圖加上自己的注記。
2. 方案思路
a.整個(gè)地圖范圍中,仍然將互聯(lián)網(wǎng)底圖和互聯(lián)網(wǎng)注記圖作為底圖疊加。
b.再次疊加上該區(qū)域的互聯(lián)網(wǎng)底圖,可以視作遮罩將該范圍中的注記圖層屏蔽。
c.將糾偏后的自定義POI圖層切圖,作為最上層圖層疊加至地圖中。
地圖圖層順序如下所示:
3.待解決的難點(diǎn)
a.瓦片拼接技術(shù):需要將下載好的指定區(qū)域瓦片拼接成一個(gè)整體,然后將該區(qū)域PS出來。
b.圖片分割技術(shù):需要將PS后的區(qū)域圖按照瓦片大小分割。
c.瓦片重命名:需要將分割后的瓦片重新按照對(duì)應(yīng)行列號(hào)賦值。
4.實(shí)現(xiàn)
具體代碼實(shí)現(xiàn)過程由我的好基友涂涂涂不苦實(shí)現(xiàn),感謝,繼續(xù)努力。
4.1瓦片下載
利用自開發(fā)的瓦片下載工具將指定區(qū)域的互聯(lián)網(wǎng)底圖下載下來,其原理可以參考我之前的博客:WebGIS中通過行列號(hào)來換算出多種瓦片的URL 之在線地圖(http://www.cnblogs.com/naaoveGIS/p/3905523.html)。
4.2瓦片拼接并PS
4.2.1拼接原理
按照行列號(hào)將同一級(jí)別上的瓦片拼接成一整張圖。
4.2.2使用PS將拼接好的整圖進(jìn)行摳圖
這里要注意,每個(gè)級(jí)別的圖均需要分別拼接成一個(gè)對(duì)應(yīng)級(jí)別的整圖,PS也需要對(duì)每個(gè)級(jí)別的整圖進(jìn)行摳圖。
4.3圖片分割并賦值行列號(hào)
a.讀取原始拼接瓦片文件夾,依次獲取到原始瓦片的行列號(hào)名稱。
b.將摳圖后的整圖按照瓦片規(guī)定大小進(jìn)行分割。
c.將分割出的圖賦予原始瓦片行列號(hào)的名稱。
5.效果展示
-----歡迎轉(zhuǎn)載,但保留版權(quán),請(qǐng)于明顯處標(biāo)明出處:http://www.cnblogs.com/naaoveGIS/
如果您覺得本文確實(shí)幫助了您,可以微信掃一掃,進(jìn)行小額的打賞和鼓勵(lì),謝謝 ^_^