溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GIS開發(fā)中如何使用開源影像切割

發(fā)布時間:2022-01-13 16:24:46 來源:億速云 閱讀:120 作者:小新 欄目:大數據

這篇文章主要介紹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ā)中如何使用開源影像切割


以上是“GIS開發(fā)中如何使用開源影像切割”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

gis
AI