当桌面GIS遇上Python
Python是一种简单易学,功能强大的编程语言。它简洁的语法、对动态输入的支持以及解释性语言的本质,使得它在大多数平台上成为一种理想的脚本语言,在云计算、大数据挖掘、人工智能等领域有着广泛的应用,特别适用于快速的应用程序开发。而我们所熟知的GIS软件功能,都是一个个封装好的算法库,所以Python与GIS有着非常好的契合度。SuperMap iDesktop Java桌面产品从9D(2019)版本开始,融合了Python技术,它具体有哪些技术点?下面,就让我们一起来学习。
• 内置Python运行环境
Java桌面内置了Python运行环境PyDev,集成了Python 3.5的运行库,无须额外安装Python包,即可通过Java桌面编写和执行Python脚本。
• 内嵌Python IDE
Java桌面基于开源的文本编辑器RSyntaxTextArea,自主研发了Python集成开发环境。Java桌面的Python IDE支持Python编码风格,支持接口方法、参数的智能提示和自动补全能力,支持内嵌API的接口说明,并自动提示辅助快速开发Python脚本。
Python IDE和Java桌面做到了数据的互访问,可以很方便地进行结果校验。在IDE中可以直接调用Java桌面打开数据,IDE的执行结果支持保存到Java桌面的数据源中,可以在地图、场景上进行可视化显示,执行结果一目了然。
图1 Java桌面中内嵌的Python IDE示意
• Python工具
Java桌面工具箱提供了多个Python工具,并支持查看和修改工具脚本。Java桌面支持通过内置的IDE编写Python脚本创建工具,支持通过加载Python文件(*.py)的方式创建工具。在执行Python工具的时候,输出区会有对应的Python代码输出,方便及时跟踪代码的执行情况。
除此之外,工具箱中的工具支持查看Python接口,提供详细的Python接口的语法、功能介绍以及各个参数的说明,为Python语言开发提供便利。
图2 导入Python脚本
• Python与可视化建模结合
Java桌面提供的Python工具不仅可以直接运行,同时还支持Python工具的可视化建模。可以直接把Python工具添加到模型画布中,并与其他工具连接,构建自动化的数据生产处理等工作流程。
图3 使用导入的Python脚本构建工作流程
Java桌面创建的模型,不仅可以在桌面中执行,也支持将模型输出为Python脚本文件(*.py)方便重用。例如,输出的Python脚本,在编辑器中修改参数后,再次导入到Java桌面中使用,或者复制粘贴Python代码至Python编辑区域,直接执行代码。当然Java桌面输出的Python脚本也支持脱离桌面环境的重用。
图4 模型导出为Python文件示意
Java桌面集成了数据处理、拓扑、插值、邻近分析等众多SuperMap iObjects Python功能。借助Python语言,用户可以快速定制开发,实现更多符合业务需求逻辑的功能。
图5 Java桌面中集成的Python功能汇总
SuperMap iDesktop Java 9D(2019)中,重点实现了与Python语言的集成。在后续版本中,将逐渐实现更多与Python相关的功能,提升使用Python语言开发的易用性,敬请关注。
作者 | 端产品研发中心 刘晓妮 胡辰璞
责编 | 王静静
【近期回顾】
▼
02 超图与构力科技达成战略合作 深化建筑和BIM+智慧城市领域应用
05 超图宋关福总裁获评“2018 中国软件和信息服务业十大领军人物”
欢迎转载~