VScode在Ubuntu上安裝和使用SuperMap Python

VScode在Ubuntu上能夠安裝和使用SuperMap Python的相關模塊,將各類Python庫(如GDAL、Proj以及各類科學計算python庫等)結合起來使用。經過同時調用iClient Python和iObjects Python,與SuperMap iServer及在線服務進行互訪,將本地應用與在線服務實現無縫的整合。html

一、GIS Python庫

SuperMap的Python支持包括:java

  • 基礎模塊
    • 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支持。

二、安裝組件和支持庫

須要同時安裝iObjects Java和iObjects Python庫。python

2.1 下載iObjects Java組件

iObjects Python須要該組件來執行空間計算操做。linux

  • 默認安裝路徑:/opt/SuperMap

因爲文件較大,使用wget -c實現斷點續傳。以下:ubuntu

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過程當中安裝進去。ide

2.3 安裝iobjects-python

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

其它版本,相應指定安裝便可。ui

2.4 安裝iclient-python

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

其它版本,相應指定安裝便可。spa

三、使用GIS庫

打開VSCode,輸入代碼:.net

#導入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裏也是徹底同樣的。

更多參考:

相關文章
相關標籤/搜索