美文网首页Ausplin插值知识变现的年代
基于ANUSPLIN的批量气象插值-从数据处理到最终结果(5)

基于ANUSPLIN的批量气象插值-从数据处理到最终结果(5)

作者: 画长空_yin | 来源:发表于2018-07-05 19:11 被阅读314次

    通过spss转为dat格式

    做完(1)-(4)后,表明前期的数据准备工作完成了一部分,需要进一步通过spss转为所需要的格式
    1.打开spss后,加载进去excel数据

    1. 设置好对应的表头信息,如下图所示:


      image.png

      需要注意的是,站点的数据类型为字符型
      设置好后,另存为固定ASCII码格式的:

    image.png

    在保存的时候注意spss会有个输出的日志文件:


    image.png

    图中标红的部分需要在脚本中用到
    通过第一步和第二步完成了spss的转换,接着需要将栅格的dem数据转化为ASCII码文件,在arcgis中通过数据转化就能够实现,如下图


    image.png

    设置好后,可以开始写插值的脚本了,脚本主要用到splina.exe和lapgrd.exe.splina的脚本如下所示:

    ssd2007
    0 #插值的单位,0表示无单位
    2 #自变量的个数,这里指经纬度
    1 #协变量的个数,这里指dem,注意也可以将高程设置为自变量,不用协变量
    0
    0
    1342316.1 6206316.3 0 1   ##前两数是对应dem文件中经度的范围(在arcgis中的source看),但要比dem中的范围要大一点才行
    1649788.01 5937788.2 0 1 ##前两数是对应dem文件中经度的范围,但也要比dem中的范围要大一点才行
    -163.422 7371.14 1 1         ##前两数dem文件的上下限
    1000
    0
    3
    365 #需要插值的个数,这是是对每天进行插值,故是365个
    0
    1
    1
    ssd2007.dat 
    1000 #站点的个数,可以设置的比实际站点数量大些
    5 #标签的宽度,我们的站点都是五位数的,所以是5
    (a12,f12.4,f12.4,f12.2,365f12.1)  #数据的格式,与上面spss的输出日志保持一致
    ssd2007.res
    ssd2007.opt
    ssd2007.sur
    ssd2007.lis
    ssd2007.cov
    (注意这里要留一行)
    

    lapgrd的脚本如下

    ssd2007.sur
    0 
    1
    
    1
    1
    1342316.25165 6206316.25165 8000 #前两个是dem文件中的经度范围,1000:插值的分辨率
    2
    1649788.1524 5937788.1524 8000 #前两个是dem中的纬度范围,1000:插值的分辨率,最好和dem的分辨率一致
    0
    2
    chinadem.txt  #ascii码的dem文件名称
    2
    -9999.0
    ssd2007_001.grd
    ssd2007_002.grd
    ssd2007_003.grd
    ssd2007_004.grd
    ssd2007_005.grd
    ssd2007_006.grd
    ssd2007_007.grd
    ssd2007_008.grd
    ssd2007_009.grd
    ....
    ssd2007_365.grd
    #注意这里有个空行才行
    

    将上述代码分别复制到记事本中,然后更改后缀为.cmd文件,假设文件名分别为ssd2007s.cmd和ssd2007l.cmd,注意#和#后面的文字需要删除,那个只是为了说明。
    新建一个运行的脚本,命名为run.cmd

    splina<ssd2007s.cmd>ssd2007s.log
    lapgrd<ssd2007l.cmd>ssd2007l.log
    

    将代码复制到run.cmd中,双击run.cmd就能够运行得到结果
    注意:上述文件必须都放在同一个文件夹下。
    得到grd后需要在arcgis中批量转换为tif格式。

    相关文章

      网友评论

      • 305ac6ac0ce8:打扰了,我想问如何新建一个运行脚本啊?还有我双击运行run.cmd文件,生成了俩.log文件,没有得到grd文件,求赐教。
        画长空_yin:@兰亭序_224f 证明你的脚本错误,看下log中的错误类型

      本文标题:基于ANUSPLIN的批量气象插值-从数据处理到最终结果(5)

      本文链接:https://www.haomeiwen.com/subject/rxlhuftx.html