生成等值线或等值面的空间分析类,基于turf.js
支持turf和3d-countour算法,
3d-countour算法可以生成等值面和等值线,turf只支持生成等值线;
3d-countour算法使用一维值数组,turf算法使用规则点阵数组;
3d-countour算法目前使用贝塞尔曲线平滑,平滑后可能会出现等值线交叉现象;
支持turf和3d-countour算法,
3d-countour算法可以生成等值面和等值线,turf只支持生成等值线;
3d-countour算法使用一维值数组,turf算法使用规则点阵数组;
3d-countour算法目前使用贝塞尔曲线平滑,平滑后可能会出现等值线交叉现象;
Name | Type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ys |
YouScene | youScene对象 | ||||||||||||||||||||||||||||
options |
Object |
对象有下面这些属性:
|
Example:
var contour = new YS.Contour(ys, {
name: '等值线测试'
});
contour.makeByD3({
id: 'test',
points: {
values: getData2(),
rows: 512,
cols: 256,
miniPoint: {
x: 110,
y: 25
},
xstep: 0.01, *经度点距
ystep: 0.01 *纬度点距
},
usePolygon: true,
useLine: true,
bands: {
gradient: [
YS.Color.fromRGBA(0, 166, 0, 255),
YS.Color.fromRGBA(229, 229, 0, 255),
{r: 0.8, g: 0.8, b: 0.8, a: 1}
]
},
followSurface: false,
numbers: [4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384],
smooth: true
});
Demo:
Methods
-
清空所有已生成的等值线
-
销毁
-
生成一份等值面,使用d3库
Name Type Description options
Object 参数 Name Type Default Description id
String optional 新生成等值面的id,可用于查找、删除等 points
Object 格网数据 Name Type Description values
Array.<Number> 要生成等值线的规则格网点值,长度必须等于rows*cols rows
Number 规则格网的行数 cols
Number 规则格网的列数 miniPoint
XY 规则格网里最小的坐标点,单位度 xstep
Number 经度方向上两点间距离,单位度 ystep
Number 纬度方向上两点间距离,单位度 numbers
Array.<Number> optional 要生成等值线的值域数组,numbers和threshold必须提供一种 threshold
Object optional 要生成等值线的值域参数,和numbers只需提供一种 Name Type Description from
Number 等值线起始值,包含 to
Number 等值线终止值,包含 step
Number 两条等值线值的间差 usePolygon
Boolean false
optional 显示等值面 useLine
Boolean true
optional 显示等值线 smooth
Boolean true
optional 要不要平滑曲线 followSurface
Boolean false
optional 等值面/线是否贴地 width
Number 2
optional 线宽 color
RGBA Color.WHITE
optional 线颜色 object = {r:1,g:1,b:1,a:1} bands
Object optional 等值面填充色,默认不填充;且usePolygon=false时不使用 Name Type Description colors
Array.<RGBA> optional 固定填充色数组,长度需要和值域一致,colors和gradient只需要一种 gradient
Array.<RGBA> optional 等值面使用渐变色填充,最少两种颜色 Returns:
-
生成一份等值线
Name Type Description options
Object 参数 Name Type Default Description points
Array.<XYZ> 要生成等值线的规则格网点,长度不能等于0 numbers
Array.<Number> optional 要生成等值线的值域数组,numbers和threshold必须提供一种 threshold
Object optional 要生成等值线的值域参数,和numbers只需提供一种 Name Type Description from
Number 等值线起始值,包含 to
Number 等值线终止值,包含 step
Number 两条等值线值的间差 smooth
Boolean true
optional 要不要用贝塞尔曲线平滑 followSurface
Boolean false
optional 是否生成贴地线,followSurface=true可能会比较慢 width
Number 2
optional 线宽 color
RGBA Color.WHITE
optional 线颜色 object = {r:1,g:1,b:1,a:1} Returns: