1. 程式人生 > >Arcgis python resample (重取樣)

Arcgis python resample (重取樣)

批量重取樣示例程式碼

注意引數是str型別,包括取樣解析度。

import arcpy

arcpy.env.workspace = r"D:/img"
rasterList = arcpy.ListRasters("*","tif")

# out path
output_path1 = "D:/imgResample/" 
for raster in rasterList:
    print raster
    # Set local variables
    inRaster = raster	
    # Execute 
    out = output_path1 + inRaster
    arcpy.Resample_management(inRaster, out, str(res), "CUBIC")

語法

Resample_management (in_raster, out_raster, {cell_size}, {resampling_type})
引數 說明 資料型別

in_raster

想要更改空間解析度的柵格資料集。

Mosaic Dataset; Mosaic Layer; Raster Dataset; Raster Layer

out_raster

要建立的資料集的名稱、位置和格式。

  • .bil - Esri BIL
  • .bip - Esri BIP
  • .bmp - BMP
  • .bsq - Esri BSQ
  • .dat - ENVI DAT
  • .gif - GIF
  • .img - ERDAS IMAGINE
  • .jpg - JPEG
  • .jp2 - JPEG 2000
  • .png - PNG
  • .tif - TIFF
  • .mrf - MRF
  • .crf - CRF
  • Esri Grid 無副檔名

以地理資料庫形式儲存柵格資料集時,請勿向柵格資料集的名稱新增副檔名。將柵格資料集儲存到 JPEG 檔案、JPEG 2000 檔案、TIFF 檔案或地理資料庫時,可以指定壓縮型別和壓縮質量。

Raster Dataset

cell_size

(可選)

使用現有柵格資料集的新柵格的像元大小或指定其寬度 (x) 和高度 (y)。

可通過 3 種不同方法指定像元大小:

  • 使用單個的數字指定方形像元大小
  • 使用兩個數字(以空格分隔)指定 X 和 Y 像元大小
  • 使用柵格資料集(從其匯入方形像元大小)的路徑
Cell Size XY

resampling_type

(可選)

根據您擁有的資料型別選擇相應的技術。

  • NEAREST — 最鄰近法是最快的重取樣方法;因為沒有新值建立,此方法可將畫素值的更改內容最小化。適用於離散資料,例如土地覆被。
  • BILINEAR — 雙線性插值可通過計算(距離權重)周圍 4 畫素的平均值來計算每個畫素的值。適用於連續資料。
  • CUBIC — 三次卷積插值法通過根據周圍的 16 畫素擬合平滑曲線來計算每個畫素的值。此操作將生成平滑影像,但可建立位於源資料中超出範圍外的值。適用於連續資料。
  • MAJORITY —眾數重取樣法基於 3 x 3 視窗中出現頻率最高的值來確定每個畫素的值。適用於離散資料。

程式碼示例

重取樣示例 1(Python 視窗)

這是“重取樣”工具的 Python 示例。

import arcpy
arcpy.Resample_management("c:/data/image.tif", "resample.tif", "10", "NEAREST")

重取樣示例 2(獨立指令碼)

這是“重取樣”工具的 Python 指令碼示例。

# Resample TIFF image to a higher resolution

import arcpy
arcpy.env.workspace = r"C:/Workspace"
    
arcpy.Resample_management("image.tif", "resample.tif", "10", "CUBIC")