# 计算节点
nodes 属性是一个对象,nodes 的每一个属性是一个节点,属性名就是节点ID
"nodes": {
"node-1": { // 节点ID
"name": "io/extractVdataset", // 节点执行的操作
"title": "北京小区", // 节点标题
"settings": { // 节点配置项
"vdatasetId": "xxx",
"where": "\"id\"<10"
},
"timeout": 1800 // 节点运行超时时间,单位秒,默认半小时
}
}
所有操作及对应的 配置(settings) 的列表
# aggregation
# Dbscan
名称:
aggregation/Dbscan
描述:
使用 DBSCAN 算法进行聚类计算
输入端口:
0:{vdataset} 点数据,其它类型的几何对象会计算其所有节点
输出端口:
0:{vdataset} 原始点数据附加 cluster、dbscan 属性(原始数据若有同名属性会尝试添加 _x 后缀)
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
maxDistance | - | Number | 否 | 1000 | 聚类点的最大距离,单位米 |
minPoints | - | Number | 否 | 3 | 构成聚类的最少点数量 |
# GridGroup
名称:
aggregation/GridGroup
描述:
聚合到格网
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
groupField | - | String | 否 | - | 需要聚合的字段 |
groupMethod | sum | mean | median | mode | min | max | std | count | String | 否 | sum | 聚合的方法 |
cellType | square | point | hex | triangle | String | 否 | square | 格网的单元格类型 |
cellSize | - | Number | 否 | 10000 | 格网的间距,单位米 |
# Kmeans
名称:
aggregation/Kmeans
描述:
使用 k-means 算法进行聚类计算
输入端口:
0:{vdataset} 点数据,其它类型的几何对象会计算其所有节点
输出端口:
0:{vdataset} 原始点数据附加 cluster 属性(原始数据若有同名属性会尝试添加 _x 后缀)
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
clusters | - | Number | 否 | 生成聚类的数量,如不指定将根据点的数量计算 Math.sqrt(points) |
# calc
# Area
名称:
calc/Area
描述:
计算面积,单位平方米
输入端口:
0:{vdataset} 数据
输出端口:
0:{vdataset}
配置(settings):
无
# Length
名称:
calc/Length
描述:
计算长度,单位米
输入端口:
0:{vdataset} 数据
输出端口:
0:{vdataset}
配置(settings):
无
# combine
# Append
名称:
combine/Append
描述:
追加数据 B 到数据 A
输入端口:
0:{vdataset} 数据A
1:{vdataset} 数据B
输出端口:
0:{vdataset}
配置(settings):
无
# Join
名称:
combine/Join
描述:
对数据 A 和 数据 B 执行 join 操作
输入端口:
0:{vdataset} 数据A
1:{cdataset} 数据B,连接的数据不需要有空间信息,为普通数据集
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
fieldA | - | String | 是 | - | 用于连接的数据 A 的字段 |
fieldB | - | String | 是 | - | 用于连接的数据 B 的字段 |
method | inner | outer | String | 否 | inner | 连接的方法 |
# convert
# AddAttr
名称:
convert/AddAttr
描述:
添加一个属性字段并赋值
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 添加的属性字段名称 |
type | double | float | int | bigint | bool | String | 是 | double | 添加的属性字段类型 |
exp | - | String | 是 | - | 字段值的表达式,支持 JavaScript 语法和属性值引用,如 "Math.sqrt(${foo}) + ${bar}" |
# AttrNumberToText
名称:
convert/AttrNumberToText
描述:
将某个数值型属性值转为文本型
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 需要转换的属性字段 |
toFixed | - | Number | 否 | 0 | 保留的小数位数 |
# AttrTextToNumber
名称:
convert/AttrTextToNumber
描述:
将某个文本型属性值转为数值型
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 需要转换的属性字段 |
numberType | double | float | long | int | String | 否 | double | 转为数值的类型 |
# DropAttrs
名称:
convert/DropAttrs
描述:
丢弃某些属性字段
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
fields | - | Array | 是 | - | 需要丢弃的属性字段 |
# filter
# AttrFilter
名称:
filter/AttrFilter
描述:
对某个属性值进行过滤,只保留满足条件的数据
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 属性字段 |
operator | = | > | < | >= | <= | != | in | !in | String | 否 | = | 过滤的操作 |
value | - | Any | 是 | - | 属性值 |
# TopN
名称:
filter/TopN
描述:
过滤某个属性值最大或最小的不超过 N 个对象
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 排序的字段 |
sort | desc | asc | String | 否 | desc | 过滤的操作 |
n | - | Number | 否 | 10 | 过滤的数量 |
# interpolate
# Contour
名称:
interpolate/Contour
描述:
插值生成等高线
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 等高线的高程字段 |
breaks | - | Array | 是 | - | 等高线的高程值 |
cellSize | - | Number | 否 | 10000 | 插值点的间距,单位米 |
polygonize | - | Boolean | 否 | false | 是否将等高线构造成多边形 |
# IDW
名称:
interpolate/IDW
描述:
反距离加权法插值
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 插值计算的属性字段 |
cellType | square | point | hex | triangle | String | 否 | square | 插值的单元格类型 |
cellSize | - | Number | 否 | 10000 | 插值点的间距,单位米 |
weight | - | Number | 否 | 1 | 距离的影响权重 |
# KernelDensity
名称:
interpolate/KernelDensity
描述:
核密度估计插值
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
weightField | - | String | 否 | - | 用作权重的属性字段,如不设置相当于所有对象权重均相同 |
kernel | gaussian | quartic | epanechnikov | String | 否 | gaussian | 核函数 |
cellType | square | point | hex | triangle | String | 否 | square | 格网的单元格类型 |
cellSize | - | Number | 否 | 10000 | 格网的间距,单位米 |
searchRadius | - | Number | 否 | cellSize | 搜索半径,单位米 |
# io
# ExtractCdataset
名称:
io/ExtractCdataset
描述:
从 Cdataset 提取数据
输出端口:
0:{cdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
cdatasetId | - | String | 是 | - | 数据集 ID |
where | - | String | 是 | - | 查询的条件 |
limit | - | Number | 否 | 0 | 限制提取的数据量,如小于等于零则不作限制 |
batch | - | Number | 否 | 100 | 每批提取的数据量 |
# ExtractVdataconnector
名称:
io/ExtractVdataconnector
描述:
从 Vdataconnector 提取数据
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
vdataconnectorId | - | String | 是 | - | 数据集 ID |
filters | - | Object | 是 | - | 属性查询的条件,不同的 Connector 可以有不同的实现 |
geom | - | Object | 是 | - | 查询的几何对象,GeoJSON 格式 |
limit | - | Number | 否 | 0 | 限制提取的数据量,如小于等于零则不作限制 |
# ExtractVdataset
名称:
io/ExtractVdataset
描述:
从 Vdataset 提取数据
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
vdatasetId | - | String | 是 | - | 数据集 ID |
where | - | String | 是 | - | 查询的条件 |
geom | - | Object | 是 | - | 查询的几何对象,GeoJSON 格式 |
limit | - | Number | 否 | 0 | 限制提取的数据量,如小于等于零则不作限制 |
batch | - | Number | 否 | 100 | 每批提取的数据量 |
# ExtractVdataconnector
名称:
io/ExtractVdataconnector
描述:
从 Vdataconnector 提取数据
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
vdataconnectorId | - | String | 是 | - | 数据集 ID |
where | - | String | 是 | - | 查询的条件 |
geom | - | Object | 是 | - | 查询的几何对象,GeoJSON 格式 |
limit | - | Number | 否 | 0 | 限制提取的数据量,如小于等于零则不作限制 |
batch | - | Number | 否 | 100 | 每批提取的数据量 |
# ExtractVdatastream
名称:
io/ExtractVdatastream
描述:
从 Vdatastream 提取数据
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
VdatastreamId | - | String | 是 | - | 数据集 ID |
where | - | String | 是 | - | 查询的条件 |
geom | - | Object | 是 | - | 查询的几何对象,GeoJSON 格式 |
limit | - | Number | 否 | 0 | 限制提取的数据量,如小于等于零则不作限制 |
batch | - | Number | 否 | 100 | 每批提取的数据量 |
# SaveCdataset
名称:
io/SaveCdataset
描述:
保存 cdataset 到数据库中
输入端口:
0:{cdataset}
输出端口:
0:{kvs}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
title | - | String | 是 | - | 数据集标题 |
# SaveVdataset
名称:
io/SaveVdataset
描述:
保存 vdataset 到数据库中
输入端口:
0:{vdataset}
输出端口:
0:{kvs}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
title | - | String | 是 | - | 数据集标题 |
# ml
# GradientBoosting
名称:
ml/GradientBoosting
描述:
对数据进行梯度提升机器学习建模
输入端口:
0: {cdataset,vdataset}
1: {cdataset,vdataset}
输出端口:
0: {cdataset}
1: {json}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
yField | - | String | 是 | - | 目标字段 |
xFields | - | Array | 是 | - | 特征字段 |
outFields | - | Array | 是 | - | 需要输出的特征字段,如果为空数组则输出 ID 和 yField 字段 |
# RandomForest
名称:
ml/RandomForest
描述:
对数据进行随机森林机器学习建模
输入端口:
0: {cdataset,vdataset}
1: {cdataset,vdataset}
输出端口:
0: {cdataset}
1: {json}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
yField | - | String | 是 | - | 目标字段 |
xFields | - | Array | 是 | - | 特征字段 |
outFields | - | Array | 是 | - | 需要输出的特征字段,如果为空数组则输出 ID 和 yField 字段 |
# overlay
# Clip
名称:
overlay/Clip
描述:
用数据 B 去裁剪数据 A 输出与其重叠的部分
输入端口:
0:{vdataset} 数据A
1:{vdataset} 数据B
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
scaleFields | - | Array | 否 | [] | 需要按面积或长度比例重新计算的字段,比如一个区域的人口,在裁剪区域后就需要按比例计算剩余的人口 |
# Erase
名称:
overlay/Erase
描述:
用数据 B 去擦除数据 A 与其重叠的部分后输出
输入端口:
0:{vdataset} 数据A
1:{vdataset} 数据B
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
scaleFields | - | Array | 否 | [] | 需要按面积或长度比例重新计算的字段,比如一个区域的人口,在擦除区域后就需要按比例计算剩余的人口 |
# stats
# AttrStats
名称:
stats/AttrStats
描述:
统计某个字段的属性值
输入端口:
0:{vdataset}
输出端口:
0:{Number}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 用于计算的数值型字段 |
method | sum | mean | median | mode | min | max | std | count | String | 否 | mean | 统计的方法 |
# GiStar
名称:
stats/GiStar
描述:
用 Getis-Ord Gi\* 统计值进行插值
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 用于统计的属性字段 |
distance | - | Number | 否 | 10000 | 距离当前距离多远的算作临近,相当于缓冲区距离,单位米 |
weightMethod | fixed | inverse | String | 否 | mean | 按距离计算权重的方法 |
# MoranIndex
名称:
stats/MoranIndex
描述:
计算莫兰指数
输入端口:
0:{vdataset}
输出端口:
0:{kvs}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 是 | - | 用于计算的数值型字段 |
threshold | - | Number | 否 | 10000 | 临界值 |
p | - | Number | 否 | 2 | p |
binary | - | Boolean | 否 | false | 二进制 |
alpha | - | Number | 否 | -1 | 初始化 |
standardization | - | Boolean | 否 | true | 标准化 |
# NearbyStats
名称:
stats/NearbyStats
描述:
统计临近对象的属性值,计算后赋值到当前对象
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 否 | - | 用于计算的数值型字段 |
method | sum | mean | median | mode | min | max | std | count | String | 否 | mean | 统计的方法 |
distance | - | Number | 否 | 0 | 距离当前距离多远的算作临近,相当于缓冲区距离,单位米 |
# SpatialRelationStats
名称:
stats/SpatialRelationStats
描述:
根据两者的空间关系统计属性值,统计后赋值到当前对象
输入端口:
0:{vdataset}
1:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
field | - | String | 否 | - | 用于计算的数值型字段 |
method | sum | mean | median | mode | min | max | std | count | String | 否 | mean | 统计的方法 |
relation | intersects | contains | crosses | equals | overlaps | touches | within | String | 否 | intersects | 统计的方法 |
# transform
# Buffer
名称:
transform/Buffer
描述:
缓冲区计算
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
distance | - | Number | 否 | 0 | 缓冲的尺寸,单位米 |
# Centroid
名称:
transform/Centroid
描述:
提取几何中心点
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
无
# ChinaOffset
名称:
transform/ChinaOffset
描述:
根据中国的要求偏移坐标
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
method | wgs2gcj | bd2gcj | gcj2wgs | gcj2bd | String | 否 | wgs2gcj | 偏移方法 |
# Dissolve
名称:
transform/Dissolve
描述:
将多个多边形融合为一个复合多边形,也可以指定一个属性字段按照相同属性进行融合
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
field | String | 否 | - | 用于融合的属性字段 |
# Explode
名称:
transform/Explode
描述:
将多部分组成的复合几何形状炸开为简单几何形状
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
无
# Sector
名称:
transform/Sector
描述:
以点为圆心,向某个方向生成一个扇形区域
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
radius | - | Number | 是 | - | 扇形区域的半径,单位米 |
bearing | - | Number | 是 | - | 方向角,北为 0 度,顺时针方向 |
angle | - | Number | 是 | - | 扇形区域的开口角度 |
# ServiceArea
名称:
transform/ServiceArea
描述:
以点数据为起点进行到达圈计算,如输入不为点数据则以几何中心为起点
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
network | - | String | 是 | - | 计算使用的路网名称,可用路网名称可以通过 /api/routing/network/list 接口获取 |
distance | - | Number | 是 | 1000 | 服务距离,单位米 |
concavity | - | Number | 是 | 1 | 区域凹凸程度 |
limit | - | Number | 是 | 100000 | 向外搜索节点的数量限制 |
# Simplify
名称:
transform/Simplify
描述:
简化几何形状
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
tolerance | - | Number | 是 | - | 简化操作的容差值 |
# StandardEllipse
名称:
transform/StandardEllipse
描述:
生成标准差椭圆,用于描述数据在方向上的分布
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
无
# Tesselate
名称:
transform/Tesselate
描述:
切割多边形为三角格网
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
scaleFields | - | Array | 否 | [] | 需要按面积或长度比例重新计算的字段,比如一个区域的人口,在切割后就需要按比例计算剩余的人口 |
# TIN
名称:
transform/TIN
描述:
生成三角格网
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
无
# Voronoi
名称:
transform/Voronoi
描述:
生成沃罗诺伊图(泰森多边形)
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
无
# web
# TransformGeomAPI
名称:
overlay/TransformGeomAPI
描述:
用于转化几何对象的 API
注意,在配置中可以使用的变量有:${x} | ${y} | ${geojson} | ${wkt}
输入端口:
0:{vdataset}
输出端口:
0:{vdataset}
配置(settings):
属性名称 | 可选值 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|---|
url | - | String | 是 | - | 外部 API 的地址 |
method | GET | POST | String | - | GET | 请求的方法 |
responseType | json | text | String | 否 | json | 返回的结果类型 |
responseEncoding | - | String | 否 | utf8 | 返回的结果编码 |
headers | - | Object | 否 | - | 额外的请求头 |
data | - | Object | 否 | - | 通过请求体发送的数据 |
responseParser | - | String | 否 | "function parse(data){return data;}" | 用于解析响应数据的 JavaScript 函数,函数名必须为 parse,返回值为 GeoJSON 格式的几何对象 |
示例 settings:
{
"url": "https://api.mapbox.com/isochrone/v1/mapbox/walking/${x},${y}?contours_minutes=10&access_token=pk.eyJ1IjoibGFicy1zYW5kYm94IiwiYSI6ImNrMTZuanRmZDA2eGQzYmxqZTlnd21qY3EifQ.Q7DM5HqE5QJzDEnCx8BGFw",
"responseParser": "function parse(data){return data['features'][0];}",
}