ANUSPLIN插值后的数据最终处理
2019-07-01 本文已影响10人
荔枝猪
需求
ANUSPLIN插值后的数据一般为没有投影grd格式图像,为了方便后续处理,需将其转为有投影的tif格式图像。
基于Python的批量处理
import arcpy
#默认工作空间(数据文件夹)
arcpy.env.workspace="I:\\climate\\raw06_08"
#获取文件夹下的所有grd格式图像
rasterlist = arcpy.ListRasters("*", "grd")
#定义坐标系
Coordinate_System = "PROJCS['WGS_1984_Albers',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Albers'],PARAMETER['false_easting',0.0],PARAMETER['false_northing',0.0],PARAMETER['central_meridian',105.0],PARAMETER['standard_parallel_1',25.0],PARAMETER['standard_parallel_2',47.0],PARAMETER['latitude_of_origin',0.0],UNIT['Meter',1.0]]"
for raster in rasterlist:
#定义投影
arcpy.DefineProjection_management(raster, Coordinate_System)
#转tif格式
arcpy.RasterToOtherFormat_conversion(raster,"I:\\climate\\tif06_08","TIFF")
小贴士
-
Anusplin插值的教程可以参考下面这个专题,我也是在里面学习的。
Anusplin插值 -
定义坐标系的简单方法可以参考我的另一篇文章
批量定义投影 -
有些气象要素如降水、辐射等插值完后会可能会存在着负值,不符合逻辑,可以将出现的负值的地方设为0,方法可参考下面文章。
基于Python的条件函数(Con)批量处理 -
本来是想用Matlab处理的,但是利用geotiffwrite函数输出的TIFF图像,在ArcGIS中打开会出现识别不了其中的Nodata值,而造成Nodata和最小值的颜色一样的情况,没能解决故使用了Python。