<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      NetCDF 文件批量轉(zhuǎn)柵格并導(dǎo)出柵格各波段

      兩年前,我曾發(fā)布過(guò)一篇名為《導(dǎo)出 NetCDF 柵格圖層的各個(gè)波段》的公眾號(hào)推文,講述了通過(guò)網(wǎng)絡(luò)中的ArcGIS工具將單個(gè) NetCDF 文件的各個(gè)波段分別導(dǎo)出為 tif 文件的方法。該工具提供了 arcpy 源代碼,我們以該代碼為基礎(chǔ),將其轉(zhuǎn)換為 ArcGIS Pro 環(huán)境下的 Python 3 代碼,并使程序可對(duì)多個(gè)文件進(jìn)行批處理,本文將對(duì)該代碼及其在 ArcGIS Pro 中的配置過(guò)程進(jìn)行介紹。

      1 數(shù)據(jù)來(lái)源及介紹

      本文所使用的數(shù)據(jù)為國(guó)家青藏高原科學(xué)數(shù)據(jù)中心的 中國(guó)1km分辨率逐月降水量數(shù)據(jù)集。對(duì)下載得到的 nc 文件通過(guò) Panoply 軟件進(jìn)行讀取可知,其X、Y及波段維度名稱分別為lon、lat、time,nc文件中共12個(gè)波段,分別存儲(chǔ)該年度1-12月每個(gè)月份的降水量。

      image

      2 腳本配置及相關(guān)代碼

      2.1 NetCDF 轉(zhuǎn)換為 tif

      在 ArcGIS Pro 地圖工程的默認(rèn)工具箱中新建腳本工具,命名為 NetCDF to TIF,并仿照 ArcGIS 的 創(chuàng)建 NetCDF 柵格圖層 工具設(shè)置其參數(shù)。該工具用于讀取文件夾中的所有 NetCDF 文件,根據(jù)其 X、Y、波段等維度將其轉(zhuǎn)換為 TIF 文件并逐一輸出至 TIF 文件夾中。由于單波段 NetCDF 文件不存在波段維度,故該參數(shù)設(shè)置為可選類型。

      image

      image

      右鍵單擊腳本工具,在彈出菜單中單擊編輯,將編輯窗口中的默認(rèn)代碼替換為下方 Python 代碼:

      import os
      import arcpy
      
      # 腳本工具核心代碼
      def script_tool(nc_folder, variable, x_dimension, y_dimension, band_dimension, tif_folder):
          # 基于工作空間為 tif_folder,后續(xù)輸出文件都將存放在該文件夾中
          arcpy.env.workspace = tif_folder
          # 遍歷文件夾中所有后綴名為 .nc 的文件,將其逐一轉(zhuǎn)換為 tif 文件
          for file in os.listdir(nc_folder):
              if file[-3:] == ".nc":
                  # 以原始文件名稱為基礎(chǔ),得到不包含后綴名部分的 tif 文件名
                  tif_file_name = file[:-3]
                  # 判斷 band_dimension 參數(shù)是否存在輸入值,有值則在后續(xù)函數(shù)中指定 band_dimension 參數(shù)
                  if band_dimension:
                      # 基于 NetCDF 文件創(chuàng)建柵格圖層
                      arcpy.MakeNetCDFRasterLayer_md(f"{nc_folder}/{file}", variable, x_dimension, y_dimension, tif_file_name, band_dimension)
                  else:
                      arcpy.MakeNetCDFRasterLayer_md(f"{nc_folder}/{file}", variable, x_dimension, y_dimension, tif_file_name)
                  # 基于柵格圖層創(chuàng)建 tif 文件
                  arcpy.CopyRaster_management(tif_file_name, tif_file_name + ".tif")
                  arcpy.AddMessage(tif_file_name + " " + "conversion successful!")
          return
      
      # 讀取輸入?yún)?shù),執(zhí)行程序
      if __name__ == "__main__":
          # 獲取 ArcGIS 腳本工具參數(shù)
          nc_folder = arcpy.GetParameterAsText(0)
          variable = arcpy.GetParameterAsText(1)
          x_dimension = arcpy.GetParameterAsText(2)
          y_dimension = arcpy.GetParameterAsText(3)
          band_dimension = arcpy.GetParameterAsText(4)
          tif_folder = arcpy.GetParameterAsText(5)
          # 執(zhí)行腳本工具核心代碼
          script_tool(nc_folder, variable, x_dimension, y_dimension, band_dimension, tif_folder)
      

      保存后可在右鍵菜單的工具屬性中看到下方界面:

      image

      配置完成后,將 Panoply 讀取到的參數(shù)輸入腳本,如下圖所示:

      image

      程序運(yùn)行完成后輸出的柵格數(shù)據(jù)如下圖所示:

      image

      2.2 遍歷并導(dǎo)出柵格各波段

      新建腳本工具,命名為 Band Split,并設(shè)置參數(shù)。

      image

      image

      將腳本工具的默認(rèn)代碼替換為下方 Python 代碼:

      import os
      import arcpy
      
      def script_tool(input_folder, output_folder):
          # 遍歷文件夾中所有 tif 文件
          for file in os.listdir(input_folder):
              if file[-4:] == ".tif":
                  # 根據(jù)文件名稱獲取對(duì)應(yīng)年份,此處為倒數(shù)第5位至倒數(shù)第8位,可根據(jù)實(shí)際情況調(diào)整
                  year = file[-8:-4]
                  # 創(chuàng)建循環(huán),遍歷各月份對(duì)應(yīng)波段,將波段逐一導(dǎo)出為單獨(dú)的 tif 文件并保存到輸出文件夾
                  for i in range(12):
                      input_band = f"{input_folder}/{file}/Band_{i+1}"
                      output_raster = f"{output_folder}/Pre_{year}_{i + 1}.tif"
                      arcpy.CopyRaster_management(input_band, output_raster)
                      arcpy.AddMessage(f"Pre_{year}_{i+1} conversion successful!")
          return
      
      if __name__ == "__main__":
          # 獲取 ArcGIS 腳本工具參數(shù)
          input_folder = arcpy.GetParameterAsText(0)
          output_folder = arcpy.GetParameterAsText(1)
          # 執(zhí)行腳本工具核心代碼
          script_tool(input_folder, output_folder)
      

      配置完成后,將上一步得到的 tif 文件夾作為輸入文件夾參數(shù)輸入腳本,如下圖所示:

      image

      程序運(yùn)行完成后輸出的柵格數(shù)據(jù)如下圖所示:

      image

      3 降水?dāng)?shù)據(jù)參考文獻(xiàn)格式

      3.1 數(shù)據(jù)的引用

      彭守璋. (2020). 中國(guó)1km分辨率逐月降水量數(shù)據(jù)集(1901-2023). 國(guó)家青藏高原數(shù)據(jù)中心. https://doi.org/10.5281/zenodo.3114194.

      Peng, S. (2020). 1-km monthly precipitation dataset for China (1901-2023). National Tibetan Plateau / Third Pole Environment Data Center. https://doi.org/10.5281/zenodo.3114194.

      3.2 文章的引用

      1、Peng, S.Z., Ding, Y.X., Wen, Z.M., Chen, Y.M., Cao, Y., & Ren, J.Y. (2017). Spatiotemporal change and trend analysis of potential evapotranspiration over the Loess Plateau of China during 2011-2100. Agricultural and Forest Meteorology, 233, 183-194. https://doi.org/10.1016/j.agrformet.2016.11.129

      2、Ding, Y.X., & Peng, S.Z. (2020). Spatiotemporal trends and attribution of drought across China from 1901–2100. Sustainability, 12(2), 477.

      3、Peng, S.Z., Ding, Y.X., Liu, W.Z., & Li, Z. (2019). 1 km monthly temperature and precipitation dataset for China from 1901 to 2017. Earth System Science Data, 11, 1931–1946. https://doi.org/10.5194/essd-11-1931-2019

      4、Peng, S., Gang, C., Cao, Y., & Chen, Y. (2017). Assessment of climate change trends over the loess plateau in china from 1901 to 2100. International Journal of Climatology.

      posted on 2024-08-12 12:44  姜顥睿  閱讀(996)  評(píng)論(0)    收藏  舉報(bào)

      主站蜘蛛池模板: 亚洲国产成人资源在线| 日韩精品国产另类专区| 中文字幕一区二区精品区| 成人午夜视频一区二区无码| 国产成人综合在线观看不卡| 国产sm调教折磨视频| 国产精品一区中文字幕| 亚洲大成色www永久网站动图| 平武县| 中文字幕亚洲精品乱码| 成 人色 网 站 欧美大片| 国产精品天干天干综合网| 精品久久久久久国产| 在线国产极品尤物你懂的| 欧洲无码一区二区三区在线观看 | 午夜一区二区三区视频| 亚洲色成人网站www永久下载| 丰满少妇呻吟高潮经历| 国产麻豆成人传媒免费观看| 欧美一区二区三区成人久久片| 老太脱裤子让老头玩xxxxx| 国产精品天干天干综合网| 在线观看潮喷失禁大喷水无码| 色综合 图片区 小说区| 日韩中文字幕人妻一区| 九九热久久这里全是精品| 一区二区三区av天堂| 亚洲欧美偷国产日韩| 91老熟女老人国产老太| 色就色中文字幕在线视频| 国产精品普通话国语对白露脸| 色偷偷亚洲女人天堂观看| 又大又紧又粉嫩18p少妇| 成人精品区| 无码熟妇人妻av影音先锋| 国偷自产一区二区免费视频| 亚洲v国产v天堂a无码二区| 深夜精品免费在线观看| 特黄特色的大片观看免费视频| 久久久久久99av无码免费网站| 人妻影音先锋啪啪AV资源|