查看原文
其他

当桌面GIS遇上Python

超图集团 2020-09-15

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语言开发的易用性,敬请关注。


作者 | 端产品研发中心 刘晓妮 胡辰璞

责编 | 王静静


【近期回顾】


 01 重温 | 和超图一起走过的2018

 02 超图与构力科技达成战略合作 深化建筑和BIM+智慧城市领域应用

 03 流数据真三维可视化,这个“地图大屏”很炫酷

 04 循数治理 应用驱动:深圳坪山让“智慧”无处不在

 05 超图宋关福总裁获评“2018 中国软件和信息服务业十大领军人物”

 06 为什么我们需要边缘计算GIS技术?


欢迎转载~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存