通过iServer REST API使用分布式分析服务 |
发送反馈 |
iServer 分布式分析服务目前已支持出图作业,空间分析作业等。所有功能均提供 REST API,可通过执行
POST 请求来创建处理任务。系统管理员也可以在 iServer 中通过访问 processingJobs
资源页面来创建空间分析作业,进而发布 GIS 服务。下面将介绍如何通过 REST API 资源页面创建空间处理任务以及如何构建 REST请求。
注:默认ADMIN角色的用户才可创建分布式分析作业。如果其他角色的用户想要访问并使用该服务,请参见分布式分析服务的安全配置。
通过 REST API 资源页面创建空间处理任务
创建分析任务步骤如下:
- 分布式分析服务启用成功后,进入 iServer 服务资源页面,如http://supermapiserver:8090/iserver/services。
- 进入“distributedanalyst/rest”服务资源,依次点击进入“jobs”、"spatialanalyst"资源页面。目前空间分析作业支持密度分析、点聚合分析、单对象叠加分析等功能。根据您的需求,点击进入需要执行的空间分析资源页面。
- 单击右上角“创建分析任务”。
- 依次填入空间分析任务配置,带“*”号为必填信息。
- 填写完成后,单击“创建分析任务”。页面将自动跳转至正在执行的任务,并显示配置信息,待任务执行完成后,还会显示自动发布的服务地址。
相关 REST API 介绍请参考 processingJobs。
构建REST请求
通过REST
API请求资源创建空间处理任务时,可支持多种数据格式的输入输出,具体如下:
输入:input:【以下不做特殊说明的均为必填参数】支持以下两种输入形式:
- datasetName:数据集名称。具体包括:通过数据目录服务导入的数据、注册到
iServer 的数据以及 iServer DataStore 中存储的数据集。
- 输入数据集信息。 当输入数据集文件路径及信息时,需使用此方式。
支持输入以下四种格式文件:
- csv文件:输入 csv 数据源时,需指定文件路径。该路径下应有与csv文件对应的.meta文件,才可进行分布式分析服务。
- filePath:csv 所在路径。例如"filePath":"E:\iserver\\ProcessingData\\newyork_taxi_2013-01_14k.csv"
- udb 文件:
- datasetInfo:数据集信息描述。具体包括:
- type:指定为UDB
- url:udb文件所在路径。例如E:\\ProcessingData\\processing.udb
- datasetType:数据集类型。指定为 POINT
- datasetName:数据集名称。待分析的数据集名称
- bounds:数据集范围。非必填
- epsgCode:数据集坐标系对应的epsgCode。非必填
- readonly:是否为只读数据集。非必填
- numSlices:分布式读取数据集时指定的分片数目。
空间数据库
- datasetInfo:数据集信息描述。具体包括:
- type:数据集类型
- name:数据集名称
- datasourceConnectionInfo:数据库连接信息。具体如下:
- engineType:ORACLE、MONGODB、 POSTGRESQL或者POSTGIS
- dataBase:连接的数据库名称
- password:当前数据库的用户密码
- user:当前数据库用户名
- server:数据库服务IP
- 存于hdfs的索引文件
- datasetInfo:数据集描述信息。具体包括:
- type:定义为INDEXEDHDFS
- url:索引文件的地址
输出:output:【选填参数】分析结果的输出。支持输出以下格式:
- 本地udb文件。默认输出。默认路径为:【SuperMap iServer 安装目录】/webapps/iserver/processingResultData/Analyst/{id}
- outputPath:分析结果工作空间输出路径。支持相对路径,以【SuperMap iServer 安装目录】/webapps为相对目录
- datasourcePath:结果数据源的存放路径。支持相对路径,以【SuperMap iServer
安装目录】/webapps为相对目录
- type:指定为udb
- 数据库(现支持 PostgreSQL、PostGIS、MongoDB)
- type:指定数据库类型
- datasetName:分析结果数据集的名称
- datasourceInfo:结果数据源的连接信息
- server:数据库服务器名
- alias:数据库别名
- dataBase:数据库名称
- user:用户名
- engineType:MONGODB、POSTGRESQL或者POSTGIS
- password:密码