工具/原料
BIGEMAP GIS Office,正版授權
globalmapper14 中文版,正版授權
- MapTiler Desktop Plus 10.0,正版授權
- nginx-1.8.1
- 帶白邊的tif數據
- cesiumjs基礎框架
一、BigeMap下載地圖瓦片
如果無法選擇谷歌【衛星影像】可以聯系bigemap客服,也可以自行百度FQ。
1、衛星地圖
注意:每級瓦片不要大於20G,可根據項目要求靈活下載。
1.1 選擇衛星影像地圖
1.2 下載全球衛星瓦片,1~8級
使用矩形框選擇要下載的范圍,我框選的是全球。街道樣式選擇風格(一),可以根據需要選擇風格,還可以自定義模式。點擊下載按鈕,彈出對話框。
- 任務名稱和保存路徑可以隨意修改。
- 圖層選擇混合圖,這樣的瓦片會把底圖和路網都包含。
- 地圖背景選擇透明。存儲選項選【瓦片:谷歌】png格式。
- 級別選擇1至8級。
- 這樣下載的是256*256像素大小的png圖片。
下載完成后的效果:
1.3 下載中國衛星瓦片,9~11級
可以使用行政區域選擇中國,然后點擊下載按鈕。
1.4 下載城關鎮相關衛星瓦片,12~18級
按照以上方法依次下載:甘肅省_衛圖12級,金昌市_衛圖13~16級,城關鎮_衛圖17~18級。效果如下:
2、電子地圖
2.1、選擇地圖源
打開BIGEMAP地圖下載器,如下圖,在軟件左上角選擇地圖源為【天地圖(墨卡托)】實際任意選擇都行,我們想要下載個性化無偏移電子地圖,由於bigemap經常升級,以前地圖源中有【個性化地圖】,現在沒有了,但提供了其它下載入口。
2.2、使用框選工具開始下載,下載:全球電子地圖
使用框選工具【矩形框或者多邊形】框選出目標區域,或者可以導入想要下載的目標區域kml邊界文件,然后進行下載。
開始下載:全球范圍電子地圖,框選全球區域,級別選擇1~8級,存儲選項選擇png格式的谷歌:瓦片。
2.3、設置地圖樣式
BIGEMAP預設了若干種樣式供您選擇,你可選擇其中一種樣式,然后框選需要的區域之后直接下載或者勾選倒數第二項【自定義】,設置自己想要的地圖樣式。鼠標雙擊下圖紅色圓圈區域,彈出地圖樣式對話框。我們渲染樣式選擇:其它風格(一)。
2.4、下載中國范圍電子地圖瓦片
行政區域選擇中國,級別選擇9~14級。
2.5、下載:甘肅省電子地圖瓦片,級別選擇15~16級。
2.6、下載:金昌市電子地圖瓦版,級別選擇17~19級。
二、去除tif影像黑邊/白邊
mart3d,pix4d等數據處理軟件處理出來的dom,如果沒有設置透明支持,會有黑邊。
(經常性不設置透明支持是為了加快處理速度,降低數據體積)
LSV下載的衛星影像如果是按邊界導出,也會有黑邊。
工具/原料
globalmapper14 中文版
帶白邊的tif數據
方法/步驟
1、打開軟件globalmapper14,找到數據***.tif
2、拖拽tif到globalmapper,使用打開數據選中也是可以的
3、點擊圖層按鈕,打開圖層控制,選中需要設置透明的圖層,點擊圖層控制下的選項按鈕。
4、勾選透明,設置需要透明的顏色,這里設置白色。
5、設置透明后的效果如圖
6、最后點擊file export導出為tif影像即可。
注意事項
如果影響當中也有白色數據,也是會被透明的
三、MapTiler Desktop正射影像切片
1、Tif影像文件,使用支白邊后的文件。
2、打開maptiler,選擇advance tiles,添加tif影像文件
3、點擊繼續,默認選擇Global geodetic(wgs84)
4、點擊繼續,選擇生成瓦片級別,選擇Folder文件路徑為瓦片生成路徑,其他的默認選擇。
5、瓦片生成目錄結構以數字排序格式。
6、修改瓦片級別
經多次測試我們以谷歌瓦片級別為准。因cesiumjs訪問瓦片級別是從0級開始,而Bigemap下載的的谷歌瓦片是從1級開始,即BigeMap的1級就相當於cesiumjs的訪問的0級。MapTiler Desktop切割的瓦片是從0級開始,所以切割的城關鎮正射18級文件夾名稱要修改為19,以次類推。把文件夾18、19、20、21,改為19、20、21、22。
四、Nginx發布瓦片地圖
1、新建目錄存放【衛星地圖】瓦片
在nginx的靜態文件html目錄下新建目錄:oyzMap\wt,oyzMap代表歐遠致地圖,wt是衛圖首字母縮寫。
把下載好的衛星地圖瓦片放wt目錄下。全球1~8級,中國9~11級,甘肅省12級,金昌市13~16級,城關鎮17~18級,城關鎮正射19~22級。
2、新建目錄存放【電子地圖】瓦片
在nginx的靜態文件html目錄下新建目錄:oyzMap\dz,oyzMap代表歐遠致地圖,dz是電子首字母縮寫。
把下載好的電子地圖瓦片放dz目錄下。全球1~8級,中國9~14級,甘肅省15~16級,金昌市17~19級。
3、nginx配置
server { listen 8888; server_name localhost; location / { root html; index index.html index.htm; #允許來自所有的訪問地址 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; #支持請求方式 add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Content-Type,*'; } }
五、Cesiumjs調用瓦片地圖
5.1、衛星地圖
// 衛星地圖,加載Bigemap下載的谷歌瓦片(EPSG:4326) var wtMapModel = new Cesium.UrlTemplateImageryProvider({ url:"http://192.168.1.91:8888/oyzMap/wt/{myZ}/{x}/{y}.png", customTags:{ myZ: function(imageryProvider, x, y, level) { return level + 1; } }, tilingScheme: new Cesium.GeographicTilingScheme({ ellipsoid: Cesium.Ellipsoid.WGS84, rectangle: Cesium.Rectangle.MAX_VALUE, numberOfLevelZeroTilesX: 2, numberOfLevelZeroTilesY: 1 }), fileExtension: 'png', minimumLevel: 1, maximumLevel: 22 }); viewer.imageryLayers.addImageryProvider(wtMapModel);
參數參考文檔:UrlTemplateImageryProvider - Cesium Documentation
customTags:允許替換 URL 模板中的自定義關鍵字。對象必須將字符串作為鍵,將函數作為值。
5.2、電子地圖
// 電子地圖(bigemap個性化無偏移),加載Bigemap下載的谷歌瓦片(EPSG:3857) var dzMapModel = new Cesium.UrlTemplateImageryProvider({ url:"http://192.168.1.91:8888/oyzMap/dz/{z}/{x}/{y}.png", tilingScheme: new Cesium.WebMercatorTilingScheme(), fileExtension: 'png', minimumLevel: 1, maximumLevel: 19 }); viewer.imageryLayers.addImageryProvider(dzMapModel);