生成等值线或等值面的空间分析类,基于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 optionsObject 参数 Name Type Default Description idString optional 新生成等值面的id,可用于查找、删除等 pointsObject 格网数据 Name Type Description valuesArray.<Number> 要生成等值线的规则格网点值,长度必须等于rows*cols rowsNumber 规则格网的行数 colsNumber 规则格网的列数 miniPointXY 规则格网里最小的坐标点,单位度 xstepNumber 经度方向上两点间距离,单位度 ystepNumber 纬度方向上两点间距离,单位度 numbersArray.<Number> optional 要生成等值线的值域数组,numbers和threshold必须提供一种 thresholdObject optional 要生成等值线的值域参数,和numbers只需提供一种 Name Type Description fromNumber 等值线起始值,包含 toNumber 等值线终止值,包含 stepNumber 两条等值线值的间差 usePolygonBoolean falseoptional 显示等值面 useLineBoolean trueoptional 显示等值线 smoothBoolean trueoptional 要不要平滑曲线 followSurfaceBoolean falseoptional 等值面/线是否贴地 widthNumber 2optional 线宽 colorRGBA Color.WHITEoptional 线颜色 object = {r:1,g:1,b:1,a:1} bandsObject optional 等值面填充色,默认不填充;且usePolygon=false时不使用 Name Type Description colorsArray.<RGBA> optional 固定填充色数组,长度需要和值域一致,colors和gradient只需要一种 gradientArray.<RGBA> optional 等值面使用渐变色填充,最少两种颜色 Returns:
-
生成一份等值线
Name Type Description optionsObject 参数 Name Type Default Description pointsArray.<XYZ> 要生成等值线的规则格网点,长度不能等于0 numbersArray.<Number> optional 要生成等值线的值域数组,numbers和threshold必须提供一种 thresholdObject optional 要生成等值线的值域参数,和numbers只需提供一种 Name Type Description fromNumber 等值线起始值,包含 toNumber 等值线终止值,包含 stepNumber 两条等值线值的间差 smoothBoolean trueoptional 要不要用贝塞尔曲线平滑 followSurfaceBoolean falseoptional 是否生成贴地线,followSurface=true可能会比较慢 widthNumber 2optional 线宽 colorRGBA Color.WHITEoptional 线颜色 object = {r:1,g:1,b:1,a:1} Returns:
