ArcSWAT各种报错总结
- 1 变量未实例化
- 1.1 报错内容
- 1.2 解决方法
- 2 Error Number :-2147467259; 对 COM 组件的调用返回了错误 HRESULT E_FAIL
- 2.1 报错内容
- 2.2 解决方法
- 3 INSER INTO 语句的语法错误。: IN, mWriteInputFiles.sol
- 3.1 报错内容
- 3.2 解决方法
- 4 IN, mWriteInputFiles.wgn
- 4.1 报错内容
- 4.2 解决方法
- 5 系统找不到指定的文件。:Unable to open Access database from ArcSWAT
- 5.1 报错内容
- 5.2 解决方法
- 6 Outlet输入文件格式:Type field does not exist
- 6.1 报错内容
- 6.2 解决方法
- 经纬度坐标转平面坐标
- 7 Overlay时:Unhandled exception has occured in a component in your application. Exception from HERSULF: 0x800A01C9
- 7.1 报错内容
- 7.2 解决方法
- 参考
本文总结了本人在利用ArcSWAT模拟过程中,出现的各种错误。希望能和大家共同学习!
1 变量未实例化
1.1 报错内容
ArcGIS报错:变量未实例化
Spatial Reference: Object reference not set to an instance of an object
1.2 解决方法
把Arcgis的并行计算改为0即可。
打开Arcgis,点击Geoprocessing——Environments,进入Environment Settings面板,找到Parallel Processing, 输入0,点击OK。
2 Error Number :-2147467259; 对 COM 组件的调用返回了错误 HRESULT E_FAIL
2.1 报错内容
出错位置:土地利用/土壤数据/坡度 覆盖overlay
Error Number :-2147467259
Eror Message: Eror HRESULTE FAIL has been retuned froma alltoa a COM component.
Module:mAnalysis
Function:dissolve
Procedurure:1
随后,依次弹出以下界面:
Description:
Microsoft Jet数据引擎找不到输入表或查询’FulLHRU’。确定它是否存在,以及它的名称的拼写是否正确。
尝试将并行设置更改为0,但依旧报错。
2.2 解决方法
不勾选overlay中的前一选项。
3 INSER INTO 语句的语法错误。: IN, mWriteInputFiles.sol
3.1 报错内容
在用ArcSWAT进行Write SWAT Input Tables操作中,遇到报错:INSERTINTO 语句的语法错误。:IN,mWritelnputFiles.wg。
3.2 解决方法
在建的工程里面打开swat2012,打开usersoil,然后将没有数据的其他土壤层用0补齐,再进行操作。
4 IN, mWriteInputFiles.wgn
4.1 报错内容
在用ArcSWAT进行Write SWAT Input Tables操作中,遇到报错:INSERTINTO 语句的语法错误。:IN,mWritelnputFiles.wg。
随后,依次弹出以下界面:
通过查看SWAT2021.mdb数据库中的WGEN_user表,发现ObjectID的值与气象站点编号不匹配。这是因为导入电子表格时,Access自动将ObjectID中的值更改为从1开始的序号。
4.2 解决方法
在导入表时,选择【我自己选择主键】,如下图:
5 系统找不到指定的文件。:Unable to open Access database from ArcSWAT
5.1 报错内容
在执行保存文件后,点击【Open SWATOutput.mdb 】,如下:
显示系统找不到指定文件。如下
5.2 解决方法
发现问题在于,SWATOutput.mdb保存在Default文件夹中,将此新建文件夹Copy后即可。
6 Outlet输入文件格式:Type field does not exist
6.1 报错内容
在导入实测水文站作为outlet时,报错显示“Type field does not exist”。
查阅SWAT2012手册可知:
此表必须具有3.3节中指定的子流域出口位置表(Subbasin Outlet Location Table)中的相同字段。
表中列出的所有位置必须为 “O”型出口 。如果指定了不同的“Type”值,则会出现一个对话框,报告如图5.33所示的错误,并且加载过程将停止。
6.2 解决方法
按手册制作Outlet表:
将此文件保存为.dbf格式后,可成功导入在SWAT中:
确定后,显示以下界面:(成功导入14个outlet)
经纬度坐标转平面坐标
在工具箱中依次点击数据管理工具->投影和变换->要素->投影,弹出投影对话框,如下图所示:
此时将arcmap右侧内容列表中之前导出的shp文件数据要素类拖动至输入数据集或要素类文本框中,此时见输入坐标系文本框中自动填写此shp文件的之前已经定义过的坐标系。
#pic_center
在弹出的对话框中点击左上角按钮,在弹出的菜单中点击添加字段,在弹出的添加字段对话框中,填写字段名及字段类型,如下图所示:
点击确定,完成字段的添加。在新建的字段名上右键,在弹出的菜单中选择计算几何,弹出计算几何对话框,属性栏选择点的X坐标或者Y坐标,计算对应的XY平面坐标值。
点击确认完成X坐标的计算,同以上步骤添加字段、计算几何完成Y坐标的计算工作。如下图:
如果需将表格数据导出,可在工具栏中点击搜索按钮,输入表转Excel,如下图:
点击搜索到的表转Excel工具,弹出对话框表转Excel对话框,将上述步骤得到的数据要素拖至输入表文本框中,在输出Excel文件文本框中选择输出路径及Excel表名,点击确定,完成Excel导出步骤,如下图所示:
7 Overlay时:Unhandled exception has occured in a component in your application. Exception from HERSULF: 0x800A01C9
7.1 报错内容
Land Use/Soils/Slope Definition成功重分类后,选择overlay时,弹出以下错误:
7.2 解决方法
参考
1、CSDN博客-ArcSWAT报错:Error Number :-2147467259; 对 COM 组件的调用返回了错误 HRESULT E_FAIL
2、在ArcSWAT中一直弹出INSECT INFO 语句的语法错误。
3、arcgis经纬度转平面坐标教程
4、ArcGIS之“异常来自HRESULT:0x8004021F”解决方法