Python?ArcPy批量掩膜、重采樣大量遙感影像的操作
本文介紹基于Python中ArcPy模塊,對(duì)大量柵格遙感影像文件進(jìn)行批量掩膜與批量重采樣的操作。
首先,我們來(lái)明確一下本文的具體需求?,F(xiàn)有一個(gè)存儲(chǔ)有大量.tif
格式遙感影像的文件夾;且其中除了.tif
格式的遙感影像文件外,還具有其它格式的文件。
我們希望,依據(jù)一個(gè)已知的面要素矢量圖層文件,對(duì)上述文件夾中的全部.tif
格式遙感影像進(jìn)行掩膜,并對(duì)掩膜后的遙感影像文件再分別加以批量重采樣,使得其空間分辨率為1000
m。
明確了需求后,我們就可以開(kāi)始具體的操作。首先,本文所需用到的代碼如下。
# -*- coding: utf-8 -*- """ Created on Fri Apr 15 16:44:26 2022 @author: fkxxgis """ import arcpy from arcpy.sa import * tif_file_path="E:/LST/Data/NDVI/03_Mosaic/" shp_file="E:/LST/Data/Region/YellowRiver_nineprovince.shp" out_file_path="E:/LST/Data/NDVI/04_Mask/" resample_file_path="E:/LST/Data/NDVI/05_Resample/" arcpy.env.workspace=tif_file_path arcpy.env.extent=shp_file tif_file_name=arcpy.ListRasters("*","tif") for tif_file in tif_file_name: mask_result=ExtractByMask(tif_file,shp_file) mask_result_path=out_file_path+"/"+tif_file.strip(".tif")+"_Mask.tif" mask_result.save(mask_result_path) arcpy.env.workspace=out_file_path tif_file_name=arcpy.ListRasters("*","tif") for tif_file in tif_file_name: resample_file_name=tif_file.strip(".tif")+"_Re.tif" arcpy.Resample_management(tif_file,resample_file_path+resample_file_name, 1000,"BILINEAR")
其中,tif_file_path
是原有掩膜前遙感圖像的保存路徑,shp_file
是已知面要素矢量圖層文件的保存路徑,out_file_path
是我們新生成的掩膜后遙感影像的保存路徑,resample_file_path
則是最終重采樣后遙感影像的保存路徑。
在這里,我們首先利用arcpy.ListRasters()
函數(shù),獲取路徑下原有的全部.tif
格式的圖像文件,并存放于tif_file_name
中;隨后,遍歷tif_file_path
路徑下全部.tif
格式圖像文件(即遍歷tif_file_name
),并利用ExtractByMask()
函數(shù)進(jìn)行掩膜操作;其次,對(duì)于掩膜好的圖層,在其原有文件名后添加"_Mask.tif"
后綴,作為新文件的文件名。
對(duì)全部圖像文件完成掩膜操作后,我們繼續(xù)進(jìn)行重采樣操作。和前述代碼思路類(lèi)似,我們依然還是先遍歷文件,并在其原有文件名后添加"_Re.tif"
后綴,作為新文件的文件名;隨后,利用Resample_management()
函數(shù)進(jìn)行重采樣。其中,1000
表示重采樣的空間分辨率,在這里單位為米;"BILINEAR"
表示用雙線(xiàn)性插值的方法完成重采樣。
以上便是本次操作的全部代碼;我們這里選擇在 IDLE (Python GUI) 中運(yùn)行代碼。運(yùn)行完畢,得到的一個(gè)結(jié)果文件如下圖;可以看到,遙感影像已經(jīng)完成了掩膜,且空間分辨率已經(jīng)為1000
m。
至此,大功告成。
到此這篇關(guān)于Python ArcPy批量掩膜、重采樣大量遙感影像的文章就介紹到這了,更多相關(guān)Python ArcPy批量掩膜內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python?ArcPy實(shí)現(xiàn)批量對(duì)大量遙感影像相減做差
- Python實(shí)現(xiàn)批量填補(bǔ)遙感影像的無(wú)效值NoData
- Python?ArcPy實(shí)現(xiàn)批量計(jì)算多時(shí)相遙感影像的各項(xiàng)元平均值
- Python實(shí)現(xiàn)批量繪制遙感影像數(shù)據(jù)的直方圖
- Python高光譜遙感影像處理問(wèn)題詳細(xì)分析講解
- 詳解Python修復(fù)遙感影像條帶的兩種方式
- Python 實(shí)現(xiàn)遙感影像波段組合的示例代碼
- 利用python GDAL庫(kù)讀寫(xiě)geotiff格式的遙感影像方法
- Python中使用OpenCV庫(kù)來(lái)進(jìn)行簡(jiǎn)單的氣象學(xué)遙感影像計(jì)算
- 基于Python批量鑲嵌拼接遙感影像/柵格數(shù)據(jù)(示例代碼)
相關(guān)文章
pycharm使用docker容器開(kāi)發(fā)的詳細(xì)教程
這篇文章主要介紹了pycharm使用docker容器開(kāi)發(fā)的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01Python實(shí)現(xiàn)Kmeans聚類(lèi)算法
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)Kmeans聚類(lèi)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02python實(shí)現(xiàn)圖像識(shí)別的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)圖像識(shí)別的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03opencv python Canny邊緣提取實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了opencv python Canny邊緣提取實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02全面分析Python的優(yōu)點(diǎn)和缺點(diǎn)
本篇文章給大家詳細(xì)分析了Python的優(yōu)點(diǎn)和缺點(diǎn)以及相關(guān)的優(yōu)勢(shì)劣勢(shì)分析,對(duì)此有興趣的朋友學(xué)習(xí)下。2018-02-02Django中session進(jìn)行權(quán)限管理的使用
本文主要介紹了Django中session進(jìn)行權(quán)限管理的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07JS設(shè)計(jì)模式之責(zé)任鏈模式實(shí)例詳解
這篇文章主要介紹了JS設(shè)計(jì)模式之責(zé)任鏈模式,結(jié)合實(shí)例形式詳細(xì)分析了責(zé)任鏈模式的概念、原理、功能、使用場(chǎng)景及相關(guān)操作技巧,需要的朋友可以參考下2018-02-02