Package: iobjectspy
SuperMap iObjects Python ( iObjectsPy ) 10.2.0 版本1 简介iObjectsPy 是 SuperMap iObjects Python 的简称。通过 iObjectsPy，用户可以直接使用 Python 语言操作 SuperMap 各种空间数据。iObjectsPy 提供空间数据导入导出、投影转换、地图制图、矢栅数据处理与分析、空间统计分析、机器学习等功能，帮助用户使用脚本进行空间数据快速处理和分析。2 功能模块结构data模块支持数据创建、管理和组织，包括工作空间、数据源、数据集、记录集、要素对象、几何对象等的创建和管理。enums模块提供基本的枚举对象，包括数据源引擎类型、数据集类型等。env模块提供全局参数设置，包括空间分析和数据处理使用大内存模式, 设置并行线程数等。conversion模块支持常用数据格式导入和导出操作，包括 shp、mif、cad等矢量数据，tif、img、png等栅格和影像数据。导入矢量数据和栅格数据到 SuperMap 数据源，以及将 SuperMap 数据源导出为外部矢量数据或栅格数据等功能。analyst模块支持空间数据处理和分析的能力，包括缓冲区分析、叠加分析等矢量数据处理与分析方法，密度分析、插值分析等栅格数据处理与分析方法，空间自相关、空间热点、空间抽样、空间回归等空间统计分析方法，以及二维、三维网络分析方法等。ml模块支持AI GIS相关能力，包括地址要素识别，倾斜摄影建筑物底面提取，影像数据目标检测、二元分类、地物分类、场景分类、对象提取，图片数据目标检测、图片分类，图时空回归功能；支持数据集（Dataset）与numpy、pandas的转换；支持基于深度学习的人工智能GIS完整工作流程，包括支持样本数据制作、模型训练、模型推理、模型评估。3 产品包结构3.1. iobjectspy 目录库文件所在目录3.2 examples 目录范例程序源码，供用户了解熟悉接口使用方式，根据功能模块分别提供以下几部分示例：analyst:矢量、栅格、空间统计等空间分析示例代码（包括地址匹配、密度聚类、栅格裁剪、密度分析、叠加分析等）。data：数据导入、导出等示例代码map：地图相关示例代码3.3 data 目录范例数据，供范例程序使用：Address.udbx：供范例程序地址匹配功能使用的UDBX数据源China400.udbx：供范例程序密度聚类功能使用的UDBX数据源example_data.udbx：供范例程序共用的UDBX数据源example_dbscan.udbx：供范例程序密度聚类功能使用的UDBX数据源mapmatching.udbx：供范例程序地图匹配功能使用的UDBX数据源tracks.udbx：供范例程序example_dataset_convertor.py 数据集类型转换功能使用的UDBX数据源world.udbx：供范例程序拓扑构面功能使用的UDBX数据源County_p.shp：供数据导入使用的矢量数据文件multibands.img：供数据导入使用的影像数据文件dem.npy：供NumPy数据交互使用的NumPy文件3.4 doc 目录Python接口说明，供开发人员查阅.3.5 lib 目录包含SuperMap iObjects Python 产品功能依赖的 SuperMap iObjects Java 组件包 objectsjava 。3.6 licenses 目录提供机器学习功能开源代码的许可。3.7 AI依赖文件如需使用AI相关功能，需要通过conda建立虚拟环境在线安装相关依赖:如需使用CPU进行深度学习（默认）:conda env create -f requirements-conda-cpu.yml如需使用GPU进行深度学习（性能更优）, 需自行安装 CUDA 10.1 及对应 cuDNN，并建议安装（更新）最新显卡驱动:conda env create -f requirements-conda-gpu.yml4 产品安装4.1 支持环境Python3.5+SuperMap iObjects Java10.2.04.2 许可说明4.2.1 普通许可SuperMap iObjects Python 使用 SuperMap GIS 10i 系列产品许可用于验证产品的可用性。针对 Windows 平台，提供 SuperMap 许可中心（SuperMap License Center）对许可进行配置和管理；在 Linux 平台，提供命令行方式配置许可。在 Windows 和 Linux 操作系统下，SuperMap GIS 10i 系列产品均提供两种许可：试用许可和正式许可，其中正式许可又分为软许可和硬件许可。试用许可SuperMap GIS 10i 系列产品默认提供了90天的试用许可，您也可以在线申请试用许可，申请地址：https://www.supermapol.com/web/pricing/triallicense用户只要安装了 SuperMap GIS 10i 系列产品，并在 Windows 平台部署 SuperMap 许可中心，或在 Linux 平台安装许可驱动 ，就可以查看到对应的产品的试用许可状态。正式许可正式许可的提供形式有两种：软许可和硬件许可。软许可，是以离线或在线方式获得合法的软件运行许可，激活到本机，即可生效。软许可分为单机软许可和网络软许可。如果激活单机软许可，则只能为本机提供许可服务；如果激活网络软许可，则可以为当前网络中的计算机提供许可服务。注意，在许可服务器上激活网络软许可后，无法转移该网络软许可。硬件许可，是以硬件加密锁（简称“硬件锁”）的形式获得合法的软件运行许可。您可以联系相关销售人员购买正式许可。4.2.2 Web许可SuperMap GIS 产品从10i 系列开始支持 Web 许可，Web许可是一种适配云环境的许可方式。要使用 Web 许可，您需要连接到可用的 Web 版许可中心。在连接到 Web 版许可中心后，通过 Web 版许可中心授权获得许可。许可获取方式正式版 Web 许可请联系销售获取，试用版许可可以在线申请获取，申请地址：https://www.supermapol.com/web/pricing/triallicense。使用 Web 许可配置 Web 版许可中心
您可以从超图技术资源中心下载 Web 版许可中心的安装包，地址为http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx。Web 版许可中心安装包中提供的 Readme 文档将为您介绍 Web 版许可中心安装和使用的流程，您可以参照该文档安装和使用 Web版许可中心。启用 Web 许可
Web 许可的激活在 Web 版许可中心进行，具体请参考 Web 版许可中心产品包中的 Readme 文档。配置许可环境
在环境变量中配置 BS_LICENSE_SERVER=[本机ip]:9183，如
Linux中exportBS_LICENSE_SERVER=192.168.3.3:9183windows中setBS_LICENSE_SERVER=192.168.3.3:9183代码中System.setProperty("BS_LICENSE_SERVER","192.168.3.3:9183")Note：1、 激活 Web 许可时，请确认 iObjects Python 所在机器上没有其他的许可（正式许可、试用许可)，如有其他许可将优先使用其他许可。
2、 按核许可的拆分/合并：
若您使用的是按核计算的运行许可，在连接到许可中心后，许可中心会校验 iObjects Python 所在机器的核数，如果机器的核心数小于/等于 Web 许可中心里可用的按核许可的核心数，则 Web 许可中心将为机器进行许可授权，按核许可的启用参见启用按核许可。授权后，许可中心的按核许可的可用核数会相应少：授权后许可中心的按核许可的可用核数 = 许可中心的按核许可原有可用核数 - 机器核数。4.3 安装说明(1) 安装Python 3.5.0或以上版本(2) 执行安装包内的 setup.py 脚本，命令为： python setup.py install(3) 如需使用AI相关功能，还需要配置机器学习资源包（Machine Learning Resources），并通过 conda 在线安装相关依赖：在官网下载 SuperMap iObjects Python Machine Learning Resources 10i 机器学习资源包，解压到iobjectspy根目录即可。资源包内包含示例模型、示例程序、示例文件、训练配置文件及训练所需的主干网络模型等。conda 环境配置：使用conda env create -f requirements-conda-cpu.yml建立iobjectspy虚拟环境。requirements-conda-cpu.yml: 如需使用CPU进行机器学习（默认）requirements-conda-gpu.yml: 如需使用GPU进行机器学习（性能更优）(4) 安装 Java 8 或以上版本(5) 安装 SuperMap iObjects Java 组件，注意使用与产品包相对应的组件版本，依赖的最低版本为 10.2.0.18927.82297。Windows 用户，可以通过以下任一方式配置 SuperMap iObjects Python 使用的 SuperMap iObjects Java 组件（这里的E:\SuperMap\iObjects\Bin_x64可修改为你的java_bin目录）:将 SuperMap iObjects Java 组件的 Bin 目录设置到 Path 变量。在安装完 SuperMap iObjects Python 后，在 cmd 命令行中执行 "iobjectspy set-iobjects-java E:\SuperMap\iObjects\Bin_x64"，通过这种方式，必须确保 Python 的 Scripts 目录在 PATH 环境中，或者直接在 Scripts 目录下执行。启动 python 窗口，执行以下代码:importiobjectspyiobjectspy.set_iobjects_java_path(r'E:\SuperMap\iObjects\Bin_x64')需要注意的是，通过方式 2 和 3 配置 SuperMap iObjects Java 组件，会将指定的 SuperMap iObjects Java 组件目录配置到 iobjectspy 库目录下的 evn.json 文件中，这样，用户无需多次设置，但在升级 SuperMap iObjects Java 组件版本时，需要再次通过 2 或 3 执行。Linux 用户，可以通过以下方式配置 SuperMap iObjects Python 使用的 SuperMap iObjects Java 组件（这里的/home/user/iobjects-java/bin可修改为你的java_bin路径）:将 SuperMap iObjects Java 组件的 Bin 直接设置到/opt/SuperMap/iobjects/1010/Bin将 SuperMap iObjects Java 组件的 Bin 设置在环境变量中export LD_LIBRARY_PATH=/home/user/iobjects-java/bin:$LD_LIBRARY_PATH在安装完 SuperMap iObjects Python 后，在 cmd 命令行中执行iobjectspy set-iobjects-java /home/user/iobjects-java/bin启动 python 窗口，执行以下代码::importiobjectspyiobjectspy.set_iobjects_java_path('/home/user/iobjects-java/bin（可修改为你的java_bin路径）')需要注意的是，通过方式 3 和 4 配置 SuperMap iObjects Java 组件，会将指定的 SuperMap iObjects Java 组件目录配置到 iobjectspy 库目录下的 evn.json 文件中，这样，用户无需多次设置，但在升级 SuperMap iObjects Java 组件版本时，需要再次通过 3 或 4 执行。所以需要确保当前操作对 iobjectspy 安装目录有写入权限（可以通过使用 root 用户权限执行命令）。(6) 完成后，可通过执行examples目录中的示例代码验证是否安装成功。
AI功能的介绍及操作可参考文档：《SuperMap 10i空间机器学习技术与产品介绍》4.3 在线帮助在线帮助文档，请参考http://iobjectspy.supermap.io5 版本历史10.2.0 - 2021-09
10.1.2 - 2021-03
10.1.1 - 2020-12
10.1.0 - 2020-09 
10.0.1 - 2019-12
10.0.0 - 2019-10
9.1.2 - 2019-05 
9.1.1 - 2018-12  
9.1.0 - 2018-09