Python中调用ENVI功能—ENVIPyEngine介绍、安装和示例
一.ENVI Py Engine简介
ENVI Py Engine提供了一个名为envipyengine的Python安装包,基于ENVI Py Engine,通过几行简单的Python代码,即可调用ENVI提供的强大数据处理、分析功能(ENVITasks),极大的方便了基于Python的遥感数据处理和分析。以下介绍如何安装并使用ENVI Py Engine。
二.ENVI Py Engine安装
软件要求:
ENVI:ENVI5.4及以上
Python:文章使用版本为3.6.2,其它版本未知。
启动CMD命令,输入:
pip install envipyengine
三.ENVI Py Engine使用
3.1 运行环境确认
确认当前目录有写入权限,若无写入权限,请切换至其它目录,如:
cd /d D:\ ENVIpyengine
切换至python:
python
确认envipyengine运行环境:
>>> import envipyengine
>>> engine = envipyengine.config.get('engine')
若上述命令报错,则需手动指定taskengine.exe完整路径(分隔符使用\\),以ENVI55为例:
>>> envipyengine.config.set('engine', 'C:\\ProgramFiles\\Harris\\ENVI55\\IDL87\\bin\\bin.x86_64\\taskengine.exe')
3.2 在Py中查询ENVITask列表
创建Engine class 实例并查询当前所有可用ENVITask。
>>> from envipyengine import Engine
>>> envi_engine = Engine('ENVI')
>>> envi_engine.tasks()
3.3 在Py中初始化一个ENVITask对象
初始化一个Task,以快速大气校正为例:
>>> task = envi_engine.task('QUAC')
查询该Task参数
>>> task.parameters
3.4 在Py中执行一个Task
>>> input_raster = dict(url='C:\\ProgramFiles\\Harris\\ENVI55\\data\\qb_boulder_msi',factory='URLRaster')
>>> parameters = dict(INPUT_RASTER=input_raster,OUTPUT_RASTER_URI='D:\\quac.dat')
>>> task.execute(parameters)
英文原版链接:http://envi-py-engine.readthedocs.io/en/latest/
IDL 8.5中的Python Bridge:https://www.cnblogs.com/enviidl/p/16377779.html