• NetCDF数据在ArcMap中的使用


    NetCDF又称科学数据集,可以存储温度、湿度、风速、风向等多个维度的文件格式。本次气象数据来源于地理遥感生态网平台。

    下面我们来介绍如何在ArcMap中使用NetCDF。

    在ArcMap中显示NetCDF数据

    ArcMap不能直接读取NetCDF数据,需要使用GP工具Make NetCDF Raster Layer(创建NetCDF栅格图层),将NetCDF生成栅格图层。

    f182eb51627c19115181ad6671f0f603.jpeg

    1ffdd1cb153c0afae44041d874068c3f.jpeg

    显示特定年份的温度图层

    方式一:直接在图层属性中设置。

    cacff8101193e88bbb66bd73420b1200.jpeg

    方式二:使用GP工具Select by Dimention(按维度选择)。

    bf07cf8f3853a09e93d068e91fa2d6d2.jpeg

    按照时间动态展示数据

    首先对图层启用时间。

    7d02a1f2f5e8e6445b9a1f90ed251da4.jpeg

    然后打开时间滑块。

    73b019e97f6e17abc0fea4d6a288895b.jpeg

    b7965d711608355a34c03e0b8c4c3cc2.jpeg

    按照年份,导出NetCDF的每幅栅格

    1、设置NetCDF图层的波段维度为Year。

    4af61113512a1f674217bdd664f5d141.jpeg

    2、点击原文中的链接,下载NetCDF_time_slice_to_Raster.zip,解压后,添加到目录窗口中,然后运行工具。

    73bc27e7ce3cd4d11d043242ca2bd4af.jpeg

    生成结果是以Band_命名的。我们可以稍微改下代码,以年份命名。脚本如下:

    # ---------------------------------------------------------------------

    # export_netCDF_slice.py

    # Created on: 2011-06-02 10:18:49.00000

    # Description: This scipt will create a TIFF raster from a NetCDF layer, and

    # save each band of that TIFF as a seperate TIF raster (for each time slcie in a netcdf file) 

    # ---------------------------------------------------------------------

    # Import modules

    import arcpy, os

    #Inputs

    Input_NetCDF_layer = arcpy.GetParameterAsText(0)

    Output_Folder = arcpy.GetParameterAsText(1)

    Input_Name = Input_NetCDF_layer

    Output_Raster = Output_Folder + os.sep + "NetCDF_Raster.tif"

    #Copy the NetCDF layer as a TIF file. 

    arcpy.CopyRaster_management(Input_Name, Output_Raster)

    arcpy.AddMessage(Output_Raster + " " + "created from NetCDF layer")

    #Reading number of band information from saved TIF

    bandcount = arcpy.GetRasterProperties_management (Output_Raster, "BANDCOUNT") 

    resultValue = bandcount.getOutput(0)

    count = 1

    # Year

    yearN = 1875

    arcpy.AddMessage("Exporting individual bands from" + Output_Raster)

    #Loop through the bands and copy bands as a seperate TIF file.

    while count <= int(resultValue):

        Input_Raster_Name = Output_Raster + os.sep+ "Band_" + str(count)

        Output_Band = Output_Folder + os.sep +  str(yearN) +".tif"

        arcpy.CopyRaster_management(Input_Raster_Name, Output_Band)

        arcpy.AddMessage("Band_" + str(count) +".tif" + " " "exported" + " " + "successfully")

        yearN +=5

        count +=1

    # The following will delete the TIFF file that was created by CopyRaster tool.  

    arcpy.Delete_management(Output_Raster,"#")

    arcpy.AddMessage("Tool Executed Successfully")


    文章来源引用地理遥感生态网平台。

  • 相关阅读:
    视野修炼-技术周刊第52期
    Jenkins 如何设置GitLab的钩子
    【OI学习笔记】线性代数-高斯消元法
    连接工具和idea能查询出数据库数据,项目中查不到数据库数据:解决办法
    HTML CSS大学生期末网页大作业 DW个人网页设计 人物介绍 历史人物岳飞介绍
    Python 全栈系列253 再梳理flask-celery的搭建
    HCIA使用DHCP配置eNSP,给路由器加权限并且加密
    不知道10年老电脑如何重装系统?其实很简单
    640. 求解方程(JavaScript)
    【ACWing】273. 分级(配数学证明)
  • 原文地址:https://blog.csdn.net/m0_66875796/article/details/127826249