处理自动化支持通过 Python 语言扩展开发工具,便于用户灵活定制更符合业务需求的工具,以满足更多应用场景。添加的 Python 工具不仅可以单独运行,还可以与工具箱中的其他工具串联使用。
使用说明
一、Python 工具扩展开发
以读取 Landsat 影像属性信息的 Python 工具为例,来说明自定义 Python 工具的扩展开发过程。该工具将读取指定根目录下的子目录,遍历该目录下所有名字中包含*_MTL的txt文件并获取影像属性信息,最后将子目录中所有影像属性信息保存到以根目录为名的.csv文件中。该工具扩展开发时需要注意的内容如下:
1、 文件名必须与类名保持一致,编写 Python 类命名为 Landsat8,因此,这里保存为 Landsat8.py 文件;
2、 类中添加一个 execute 方法作为 GPA 调用的入口,该方法通过 keyargs 参数接收建模输入的值,这里定义的两个输入参数分别是 baseDir 和 outputDir;
3、 通过 return 语句,返回定义好的输出参数作为建模结果参数,格式为输出:值,这里定义的输出参数是 outputFile 。
二、通过 SuperMap iDesktopX 添加 Python 工具
SuperMap iDesktopX 内置了 Python 运行环境,集成了 Python3.7 版本运行库,通过工具箱添加*.py文件,即可快速将扩展工具集成到 GPA 中使用。
1、添加 Python 工具
在工具箱 Python 工具分组处单击鼠标右键,选择添加 Python 工具。
2、定义工具的输入和输出参数
首先,在弹出的对话框中,定义工具的输入参数和结果参数,这里需要注意的是传入的参数要与 execute 方法参数中取出的参数名相同。接着,选择本地已有的 Landsat8.py 文件。最后,点击确定就完成了 Python 工具的添加。
3、使用 Python 工具
添加完成后即可在 Python 工具分组下查看新增工具,将工具拖拽到画布上填写参数。baseDir 参数中填写影像文件的根目录,以遍历该目录下所有名字中包含*_MTL的txt文件,outputDir 参数中填写.csv文件的输出路径。
4、查看工具执行结果
打开输出的.csv文件,可以看到每一行都记录着不同影像的属性信息。
三、通过 iServer 添加 Python 工具
1、配置 Python 运行环境
执行 Python 工具需要依赖 Python 运行环境的支持。iServer 目前支持配置 Python 运行环境的方式有:
常规 Python 工具的运行环境配置只需在 iServer 所在机器上安装 Python 3.0 以上版本,并将 Python 的安装路径配置到电脑的环境变量中即可。
如果工具中使用了 Python 组件,则需要从 SuperMap 官网技术资源中心的“组件 GIS”列表下下载 Python 运行环境包(supermap-iobjectspy-env-cpu.zip),将解压后的 conda 文件夹放置于【SuperMap iServer 产品目录】\support\Python下,最后将该路径配置到电脑的环境变量中。
2、添加 Python 工具
为了确保 iServer GPA 能够读取工具的输入和输出参数,除了.py文件外还需要一个配置文件,该配置文件用于定义工具分组名称、参数名称和参数描述信息。
配置文件可以按照上图格式自行编辑,也可以通过 iDesktopX 添加 Python 工具后拷贝获取。在 iDesktopX 添加完成后,进入 C:\Users\Username\AppData\Roaming\SuperMap\iDesktop\toolFiles\scripts 路径打开生成的 Python 工具文件夹,拷贝*.py文件和.property配置文件。
接着,将*.py文件和.property配置文件放置于【SuperMap iServer 产品目录】\support\geoprocessing\scripts 路径下。刷新 GPA 建模页面通过工具列表就可以查看新增的 Python 工具了,工具添加成功后使用方式与 iDesktopX 一致。