ENVI/ArcGIS桌面一体化集成开发问题小结
分享
ENVI/ArcGIS桌面一体化集成开发问题小结
ENVI和ArcGIS一体化集成技术使得遥感和GIS实现了一体化的应用。对于一些初学者来说利用Python脚本将ENVI/IDL编写的图像处理功能集成到ArcGIS中,进行一体化的数据处理和分析时可能会遇到一些问题,因为涉及到两种语言(IDL和python)的混合编程。
混合编程成功的关键就是先要保证各类功能程序的正确性。保证IDL的程序,在IDL下调试正确;python脚本在python环境下能正确运行。这是混合编程一体化集成成功运行的先决条件。
现在将遇到的问题和解决方法给罗列一些,供大家参考。
1、错误类型,如下图所示。虽然提示错误,但是能生成正常的结果。
<Expression> STRING = 'Unable to invoke method on NULL object reference: <OBJREF (<NullObject>)>.'
错误原因:在程序中添加了如下代码
envi,/RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
…………………….
ENVI_BATCH_EXIT
解决方法:
(1)去掉ENVI_BATCH_EXIT即可。
(2)去掉初始化ENVI的代码(上述代码)。因为python脚本中必须导入envipy,而envipy就是初始化和恢复ENVI的。
2、错误类型:Python脚本有错误。如下图,
错误原因:是“IndentationError: unexpected indent”,脚本代码中,第19行的起始位置有空格。
解决方法:去掉空格即可。在python的代码中,不论是在命令行还是文本框中的程序都必须顶格开始。(一条语句换行除外)。
3、错误类型:ImportError: No module named arcpy
错误原因:python脚本中,只有在ArcGIS10及以上的版本才能调用Arcpy。
解决方法:ArcGIS9系列可以参照ENVI for ArcGIS的帮助文档(在ENVI4.8及以上的版本中)。
4、错误类型:在arctoolbox中无法使用ENVItool中的工具。
错误原因:ENVI许可问题。(正版许可没有问题)。
解决方法:更换正版的ENVI许可。经测试正版的ENVI许可,在arcgis93系列及以上版本,运行没问题。
如果你遇到了其他问题,请仔细研读博客《ArcGIS中自定义ENVI/IDL图像处理工具》http://blog.sina.com.cn/s/blog_764b1e9d0100pqii.html和本文中提到的注意事项。
同样地,如果有其他问题,解决或者未解决的,可以贴上来,大家分享。
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0100xhh0.html
ENVI和ArcGIS一体化集成技术使得遥感和GIS实现了一体化的应用。对于一些初学者来说利用Python脚本将ENVI/IDL编写的图像处理功能集成到ArcGIS中,进行一体化的数据处理和分析时可能会遇到一些问题,因为涉及到两种语言(IDL和python)的混合编程。
混合编程成功的关键就是先要保证各类功能程序的正确性。保证IDL的程序,在IDL下调试正确;python脚本在python环境下能正确运行。这是混合编程一体化集成成功运行的先决条件。
现在将遇到的问题和解决方法给罗列一些,供大家参考。
1、错误类型,如下图所示。虽然提示错误,但是能生成正常的结果。
<Expression> STRING = 'Unable to invoke method on NULL object reference: <OBJREF (<NullObject>)>.'
错误原因:在程序中添加了如下代码
envi,/RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
…………………….
ENVI_BATCH_EXIT
解决方法:
(1)去掉ENVI_BATCH_EXIT即可。
(2)去掉初始化ENVI的代码(上述代码)。因为python脚本中必须导入envipy,而envipy就是初始化和恢复ENVI的。
2、错误类型:Python脚本有错误。如下图,
错误原因:是“IndentationError: unexpected indent”,脚本代码中,第19行的起始位置有空格。
解决方法:去掉空格即可。在python的代码中,不论是在命令行还是文本框中的程序都必须顶格开始。(一条语句换行除外)。
3、错误类型:ImportError: No module named arcpy
错误原因:python脚本中,只有在ArcGIS10及以上的版本才能调用Arcpy。
解决方法:ArcGIS9系列可以参照ENVI for ArcGIS的帮助文档(在ENVI4.8及以上的版本中)。
4、错误类型:在arctoolbox中无法使用ENVItool中的工具。
错误原因:ENVI许可问题。(正版许可没有问题)。
解决方法:更换正版的ENVI许可。经测试正版的ENVI许可,在arcgis93系列及以上版本,运行没问题。
如果你遇到了其他问题,请仔细研读博客《ArcGIS中自定义ENVI/IDL图像处理工具》http://blog.sina.com.cn/s/blog_764b1e9d0100pqii.html和本文中提到的注意事项。
同样地,如果有其他问题,解决或者未解决的,可以贴上来,大家分享。
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0100xhh0.html
0 个评论
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 【抽奖结果已出】ArcGIS知乎社区活动 之 你不知道的地理空间革命【转发分享有奖】【附奖品寄送照片】
- 苹果系统下可以使用arcgis 吗?
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- arcgis版本兼容性
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- 安装完arcgis10.3后,为何没有Envi tools这个工具箱?
- ArcGIS如何求栅格图像的“质心”
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?