VScode在Ubuntu上安装和使用SuperMap Python

原创
2019/10/29 11:27
阅读数 1.4K

VScode在Ubuntu上可以安装和使用SuperMap Python的相关模块,将各种Python库(如GDAL、Proj以及各种科学计算python库等)结合起来使用。通过同时调用iClient Python和iObjects Python,与SuperMap iServer及在线服务进行互访,将本地应用与在线服务实现无缝的整合。

1、GIS Python库

SuperMap的Python支持包括:

  • 基础模块
    • iClient Python,用于访问iServer及在线服务的Python库。
    • iObjects Python,基于iObjects Java的原生GIS支持库的Python接口。
  • 使用环境
    • Python console,python的原生console。
    • iPython console,ipython的原生console。
    • Jupyter Notebook,支持Notebook格式。
    • JupyterHub,支持基于多用户的Notebook环境。
    • JupyterHub for K8s,支持运行于Kubernetes集群上的基于多用户的Notebook环境。
    • iDesktop Python Console,在桌面GIS环境中的python原生console。
    • iServer with Jupyter Notebook,集成到iServer的Notebook服务。
    • iDataInsight,集成到"数据洞察"WebApp的python支持。
    • iPortal,集成到"GIS门户"WebApp的python支持。
    • SuperMap Online,集成到"在线服务"WebApp的python支持。

2、安装组件和支持库

需要同时安装iObjects Java和iObjects Python库。

2.1 下载iObjects Java组件

iObjects Python需要该组件来执行空间计算操作。

  • 默认安装路径:/opt/SuperMap

由于文件较大,使用wget -c实现断点续传。如下:

wget -c http://download.supermap.com.cn/2019/SuperMap9D/9.1.1/iObjects_911_release_20190129/supermap-iobjectsjava-9.1.1-16827-70590-linux64-all-Bin.tar.gz
  • 解压后复制所有文件到JupyterHub安装的根目录下的目录resources/Bin,这是我这里的默认目录。
    • 这是使用共享存储的目录,如果想要放到其它目录,需要同时修改下面的脚本文件。
  • 同时需要相应的license文件(可以在线申请获得),如resources/supermap_any_2019.lic9d,
    • 如果在Docker中使用:
      • 在Build过程放入 ./SuperMap/supermap_any_2019.lic9d。
      • 然后再复制到Docker image的/opt/SuperMap目录下。

2.2 下载libpng支持库,用于Ubuntu 18.04

iObjects Java需要用到libpng12-0_1.2.54-1ubuntu1.1_amd64.deb,但是我这个Docker镜像用的Ubuntu 18.04里没有默认安装,需要先下载下来,在Docker Build过程中安装进去。

2.3 安装iobjects-python

# 添加 iObjects-python 软件包。
RUN pip install iobjectspy==9.1.1

其它版本,相应指定安装即可。

2.4 安装iclient-python

# 添加 iclient-python 软件包。
RUN pip install iclientpy

其它版本,相应指定安装即可。

3、使用GIS库

打开VSCode,输入代码:

#导入iobjectspy的python库。
from iobjectspy import *

#获得工作空间对象。
ws=workspace()

#获得数据源集合对象。
ds=ws.datasources

#遍历数据源集合,输出相关信息。
for i in ds:
	print(i)

#遍历数据源集合,输出每个数据集的别名。
>>> for i in ds:
>>>     print(i.alias)
>>>     
SuperMapCloud
ChinaRS

查看工作空间对象ws的帮助信息,输入:

help(ws)

具体语法请参考iObjectPy,在iDesktop里也是完全一样的。

更多参考:

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部