基于QGIS的研究區(qū)域遙感影像裁切下載方法(以岳麓區(qū)為例)
前言
之前有朋友曾經(jīng)跟我交流反饋,想根據(jù)一個研究區(qū)域的矢量范圍,去下載這個研究區(qū)域內(nèi)的高清遙感影像作為底圖,而不想要其它區(qū)域的。當時考慮有兩種實現(xiàn)方案,第一種就是看研究區(qū)域的大小,如果可以提供原始的tif數(shù)據(jù),再使用研究區(qū)域的矢量數(shù)據(jù)進行掩膜處理裁切就好。這種方式如果是一些在線圖源和瓦片圖源,幾乎比較麻煩。也有朋友指導,說可以自己在后端去處理瓦片和研究區(qū)域的空間關(guān)系,相當與是空間分析,如果瓦片在研究區(qū)域中,則將瓦片放到包中,供用戶打包下載,如果不再研究區(qū)域中,則忽略。這種方式?jīng)]具體實踐過,想來是比較麻煩的。
最近在看一個GIS思維的實操案例,它支持按照空間矢量范圍把在線的遙感影像瓦片轉(zhuǎn)為tif。有了tif不是巧婦難為無米之炊了?;趖if和shp就可以進行柵格數(shù)據(jù)掩膜提取,順利實現(xiàn)完全按照矢量數(shù)據(jù)范圍提供的影像數(shù)據(jù)了。
本文以湖南省長沙市岳麓區(qū)為例,主要講解如何基于QGIS這款軟件,把岳麓區(qū)范圍內(nèi)的遙感影像下載,并使用QGIS進行切片,最后用Leaflet進行展示的例子。對于不熟悉QGIS軟件的掩膜操作以及如何根據(jù)自己的需要下載在線高清影像的朋友有一定的指導作用。
本文敘述的方式經(jīng)過本人實操檢驗,如果有更方便快捷的方法,勞煩朋友在評論區(qū)留下經(jīng)驗心得,在這不甚感謝。
一、數(shù)據(jù)說明
這里的數(shù)據(jù)分類三種:第一種是原始數(shù)據(jù),第二種是過程數(shù)據(jù),第三種是結(jié)果數(shù)據(jù)。下面對這些數(shù)據(jù)進行相應的說明。在介紹數(shù)據(jù)的時候,對本文涉及的數(shù)據(jù)和處理流程做一個說明:
原始數(shù)據(jù)是最開始的兩種輸入數(shù)據(jù),一是岳麓區(qū)的空間矢量數(shù)據(jù),二是遙感影像數(shù)據(jù)。過程數(shù)據(jù)是第一步操作之后的結(jié)果,生成矢量范圍邊界內(nèi)的tif數(shù)據(jù)。結(jié)果數(shù)據(jù)是第二個步驟的結(jié)果,是完全符合矢量范圍內(nèi)的tif文件。
1、遙感影像
為了演示簡單,這里使用的在線影像采用湖南衛(wèi)星云遙系統(tǒng)的在線影像。當然,您可以使用其它的圖源,比如天地圖、星圖地圖、高德影像等等,都是可以的。在QGIS中的XYZ瓦片中添加云遙影像的訪問地址:
序號 | 參數(shù) | 值 |
1 | 名稱 | 云遙在線影像 |
2 | URL | https://wprd01.is.autonavi.com/appmaptile?&x={x}&y={y}&z={z}&lang=zh_cn&size=2&scl=1&style=6<ype=7 |
3 | 坐標參照系(CRS) | EPSG:3857 - WGS 84 / Pseudo-Mercator - 投影 |
4 | 范圍 | -20037508.3427892439067364,-20037508.3427892550826073 : 20037508.3427892439067364,20037508.3427892439067364 |
5 | 單位 | 米 |
使用QGIS加載云遙遙感影像的效果如下所示:
2、矢量范圍
本文以湖南省長沙市岳麓區(qū)為例,使用岳麓區(qū)的矢量范圍作為研究區(qū)域。
在QGIS中打開岳麓區(qū)的空間范圍數(shù)據(jù)效果如下:
以上是對研究區(qū)域和遙感影像底圖做一個簡要介紹,為下面的操作提供一個堅實的基礎。
二、按矢量范圍導出
這一節(jié)對應上面的第一步,按照矢量范圍導出tif文件。這一步的結(jié)果是至關(guān)重要的一環(huán),沒有這一步的過程數(shù)據(jù),將不能生產(chǎn)出實際的數(shù)據(jù)。本節(jié)將按照操作步驟來進行操作介紹。
1、第一步、導出影像
點擊在線圖源的圖層,鼠標右鍵點擊導出,操作界面如下:
2、第二步、設置輸出格式
在這里,要設置輸出格式原始數(shù)據(jù),同時創(chuàng)建vrt的選項建議勾選掉。同時設置當前的tif文件生成后保存的目錄。
3、設置裁切范圍
下面設置導出范圍,值得注意的是,這里的導出范圍其實并不是空間范圍的實際邊界,而是這個矢量編輯的外包框,也就是bbox。雖然不能直接打到我們的目的,但是也是將數(shù)據(jù)的范圍進行了極大的減少?;究蚨舜笾碌挠跋駭?shù)據(jù)范圍。
4、設置分辨率
分辨率的設置根據(jù)圖源做具體的設置,如想要高清的圖片,可以把水平和垂直的數(shù)字設置的小一點,這樣生成的tif就會小很多。
在上述界面中運行之后可以得到以下的結(jié)果,這里可以看到,基本是按照我們的預期導出了遙感影像,使用gis軟件也可以正常打開。操作表明第一階段的目標已達到。
三、按矢量范圍掩膜
在得到上述的結(jié)果之后,怎么將遙感影像完全按照區(qū)域范圍來展示了,而不是有多余的部分,這一節(jié),我們重點闡述使用矢量范圍掩膜進行數(shù)據(jù)處理,以此達到我們的目的。
1、第一步、打開裁剪工具
在qgis的右邊工具欄中打開裁剪工具,可以支持直接在搜索欄中進行搜索查找。
2、第二步、參數(shù)設置
這里的輸入圖層選擇上一步導出的結(jié)果,掩膜圖層依然選擇岳麓區(qū)的矢量數(shù)據(jù)。特別注意:掩膜圖層后面的綠色圖標一定要勾上,否則無效。按鈕勾上的作用是遍歷圖層,然后拆分單獨輸出。
3、執(zhí)行掩膜
參數(shù)設置完畢后,點擊運行,執(zhí)行掩膜操作,可以在操作界面中看到以下的操作日志記錄。
執(zhí)行完畢后,得到以下的掩膜結(jié)果,這個跟我們的需要的是一致的。
至此,基于QGIS的研究區(qū)域遙感影像裁切下載方法-以岳麓區(qū)為例的數(shù)據(jù)實操過程結(jié)束。如果您想把tif發(fā)布成jpg瓦片,并使用Leaflet的gis組件進行web展示應該怎么做。再簡單介紹一下。
四、webgis支持
為了使tif數(shù)據(jù)更加容易被Leaflet或者Cesium、OpenLayers等這些第三方框架進行WebGIS系統(tǒng)的展示,還可以進行jpg瓦片的發(fā)布。依然以QGIS和Leaflet為例,說明如何進行瓦片發(fā)布。
1、生成運行框架
在配置完相應的參數(shù)后,點擊執(zhí)行,然后等待執(zhí)行完成即可。為了演示方便,我們只切到5-9級。
QGIS版本:3.16.0-Hannover QGIS代碼版本:43b64b13f3 Qt版本:5.11.2 GDAL版本:3.1.4 GEOS版本:3.8.1-CAPI-1.13.3 PROJ版本:Rel. 6.3.2, May 1st, 2020 處理算法... 正在啟動“生成 XYZ 圖塊(目錄)”算法… 參數(shù)輸入: { 'BACKGROUND_COLOR' : QColor(0, 0, 0, 0), 'DPI' : 96, 'EXTENT' : '12535412.114300000,12575346.466499999,3245784.656600000,3284165.097400000 [EPSG:3857]', 'METATILESIZE' : 4, 'OUTPUT_DIRECTORY' : 'D:\\test0305', 'OUTPUT_HTML' : 'D:/test0305/index.html', 'QUALITY' : 75, 'TILE_FORMAT' : 0, 'TILE_HEIGHT' : 256, 'TILE_WIDTH' : 252, 'TMS_CONVENTION' : False, 'ZOOM_MAX' : 9, 'ZOOM_MIN' : 5 } Using 4 CPU Threads: Generating tiles for zoom level: 5 Generating tiles for zoom level: 6 Generating tiles for zoom level: 7 Generating tiles for zoom level: 8 Generating tiles for zoom level: 9 執(zhí)行完成,花了0.75 秒 結(jié)果: {'OUTPUT_DIRECTORY': 'D:\\test0305', 'OUTPUT_HTML': 'D:/test0305/index.html'} 載入結(jié)果圖層 算法“生成 XYZ 圖塊(目錄)”執(zhí)行已完成 已生成該算法 HTML 格式輸出結(jié)果。 請打開結(jié)果對話框進行檢查。
qgis默認的webgis展示框架采用的是leaflet,這里以leaflet為例進行說明。
2、leaflet展示
可以看到leaflet的展示結(jié)果如下,還是比較簡單的。leaflet的源碼也比較簡單,很多都是使用在線的資源,完整代碼如下:
<!DOCTYPE html> <html> <head> <title>Leaflet Preview</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" rel="external nofollow" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/> <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" crossorigin=""></script> <style type="text/css"> body { margin: 0; padding: 0; } html, body, #map{ width: 100%; height: 100%; } </style> </head> <body> <div id="map"></div> <script> var map = L.map('map').setView([28.126732442018323, 112.78689114484018], 10.5); L.tileLayer('file:///D%3A/test0305/{z}/{x}/{y}.png', { minZoom: 9, maxZoom: 12, tms: false, attribution: 'Generated by TilesXYZ' }).addTo(map); </script> </body> </html>
總結(jié)
以上就是本文的主要內(nèi)容,本文以湖南省長沙市岳麓區(qū)為例,主要講解如何基于QGIS這款軟件,把岳麓區(qū)范圍內(nèi)的遙感影像下載,并使用QGIS進行切片,最后用Leaflet進行展示的例子。對于不熟悉QGIS軟件的掩膜操作以及如何根據(jù)自己的需要下載在線高清影像的朋友有一定的指導作用。如果您也有這樣的需求,心動不如行動,來實際操作一下,看能否解決您當下遇到的問題。歡迎評論交流。
到此這篇關(guān)于基于QGIS的研究區(qū)域遙感影像裁切下載方法-以岳麓區(qū)為例的文章就介紹到這了,更多相關(guān)QGIS遙感影像裁切下載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
net-snmp靜態(tài)編譯鏈接的獲取程序及生成執(zhí)行程序詳解
這篇文章主要介紹了net-snmp靜態(tài)編譯鏈接的獲取程序及生成執(zhí)行程序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08php和asp利用Shell.Application來執(zhí)行程序的代碼
關(guān)于用Shell.Application來執(zhí)行程序,在海陽頂端asp木馬里已有示例。用的是ShellExecute 這個方法。2008-12-12git-github 子模塊倉庫更新(git submodule)及git中submodule子模塊
這篇文章主要介紹了git-github 子模塊倉庫更新(git submodule)/git中submodule子模塊的添加、使用和刪除,使用子模塊后,不必負責子模塊的維護,只需要在必要的時候同步更新子模塊即可,需要的朋友可以參考下2023-03-03