您好,登錄后才能下訂單哦!
這篇文章主要介紹GIS開發(fā)中如何使用開源影像切割,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在影像數據的使用過程中,有時候需要根據一個坐標范圍,將影像數據進行切割,常用的使用arcmap等工具可進行切割,下邊介紹一個使用開源的類庫進行影像切割,開發(fā)的語言為python。
開源庫的名稱為:rasterio,github的網址為:https://github.com/mapbox/rasterio,rasterio是一個專門的影像處理類庫,有各種影像處理函數,具體可參見網站上的說明。
下邊簡單說一下,使用rasterio做一個簡單的影像數據切割。
開發(fā)之前,準備一個基礎影像,一個切割影像的面狀矢量數據,這里準備了一個shp文件,要保證矢量切割數據和影像數據的坐標系保持一致。
具體的python代碼如下:
import fiona
import rasterio
import rasterio.mask
#fiona打開shp文件,使用conda或者pip進行安裝
#以只讀的形式打開一個shp文件
with fiona.open("矢量文件路徑clipdata.shp","r") as shapfile:
#循環(huán)遍歷shp文件的面狀坐標信息
features = [feature["geometry"] for feature in shapfile]
#打開被切割的tif文件路徑
with rasterio.open("被切割的tif文件路徑L15.tif") as src:
#根據矢量的坐標范圍,切割圖層
out_image,out_transform = rasterio.mask.mask(src,features,
crop=True)
#拷貝源tif的數據
out_meta = src.meta.copy()
#根據切割的信息,更新復制的源tif數據
out_meta.update({"driver": "GTiff",
"height": out_image.shape[1],
"width": out_image.shape[2],
"transform": out_transform})
#保存tif到新文件中,并寫入到磁盤上
with rasterio.open("保存路徑clip.tif", "w", **out_meta) as dest:
dest.write(out_image)
切割的影像效果圖:
以上是“GIS開發(fā)中如何使用開源影像切割”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。