最近不少人向我反映,用我提供的方法,Arcinfo运行AML脚本生成DHSVM河道文件时,河道文件中的级联关系无法正确生成,经检查发现问题与java脚本路径有关,本文提供一种简单的解决方法,来修复该问题。
`
一、问题描述和原因
部分使用我教程:DHSVM河道数据制作的同学反映,生成的河道数据文件stream.network.dat文件中,河道级联顺序不能正常生成,所有河道的上级、下级河道都为0 (第二列和最后一列,来自其他同学的实验结果):
且有报错提示:错误:找不到或无法加载主类 AddAat2
原因:
简单百度了一下该报错的原因,发现可能与Java里类的引用路径有关:使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析,Java的类的路径可能与我们理解的常规文件路径不同,因此在加载aml脚本路径的时候,没有正确找到AddAat2.class文件。
二、解决方法
方法1.改变AML脚本文件夹的位置
将AML脚本文件夹放到工作文件夹下,即AML脚本文件夹amlscripts,需要和用到的dem数据,mask数据处于同一个工作目录下(wtsh是mask数据):
在Arc中输入AML脚本位置时,仍然可以按绝对路径输入,或者采用相对路径:
运行,发现问题已经解决了:
方法2.使用官方提供的python脚本
Arcinfo平台比较老,现在已经基本不用了,因此官方也提供了python脚本来制作河道数据:
可以自行查看tutorial.pdf学习怎么使用,比较简单,就不介绍了,速度也比Arcinfo快,建议大家还是用python来做。
本文介绍了用AML脚本制作DHSVM河道数据文件时,如何解决级联顺序不正确的方法,但总的来说,Arcinfo仍然是落后的平台了,建议大家尽量用python来做。
https://blog.sciencenet.cn/blog-3452201-1356247.html
上一篇:
批量下载CMIP6数据的几种方法