geomext~BezierCurveN(points, density)

贝塞尔N次曲线

Summary

Methods:
getBBox

获取贝塞尔曲线的三维包围盒

getCoordSeq

获取贝塞尔曲线的坐标序列

getLength

计算贝塞尔曲线组成点连线的长度

getType

获取几何体类型

setCtrlPoints

重新设置贝塞尔曲线控制点。

toLine

将贝塞尔曲线转化为线几何

Constructor

new BezierCurveN(points, density)

使用点几何体作为控制点构造贝塞尔曲线,控制点数量不少于2,且不可以重复。

Parameters:
Name Type Default Description
points Array.<module:geom~Point>

点几何体数组,数组长度小于2或非数组类型,则抛出构造异常。

density Number 50

点密度,默认50。

Throws:
RangeError | TypeError -

数组长度小于2或非数组类型,则抛出构造异常。

Example
let point1 = new hmap.geom.Point(new hmap.basetype.Coordinate(120,30,0));
let point2 = new hmap.geom.Point(new hmap.basetype.Coordinate(120,31,0));
let point3 = new hmap.geom.Point(new hmap.basetype.Coordinate(121,31,0));
let point4 = new hmap.geom.Point(new hmap.basetype.Coordinate(121,33,0));
let bezierNGeom = new hmap.geomext.BezierCurveN([point1,point2,point3,point4]);

Methods

getBBox() → {module:basetype~BBox}

获取贝塞尔曲线的三维包围盒

Returns:
module:basetype~BBox -

返回三维包围盒

getCoordSeq() → {module:basetype~CoordSeq}

获取贝塞尔曲线的坐标序列

Returns:
module:basetype~CoordSeq -

坐标序列

Example
let coordSeq = bezierNGeom.getCoordSeq();

getLength(srid) → {Number}

计算贝塞尔曲线组成点连线的长度

Parameters:
Name Type Description
srid String

坐标系类型。

Returns:
Number -

线段的三维长度,单位是米。

Example
let result = bezierNGeom.getLength(4326);

getType() → {String}

获取几何体类型

Returns:
String -

hmap拓展的几何类型,参见module:geom~GeometryExtType

Example
let type = bezierNGeom.getType();

setCtrlPoints(points)

重新设置贝塞尔曲线控制点。

Parameters:
Name Type Description
points Array.<module:geom~Point>

点几何体数组,数组长度小于2或非数组类型,则抛出构造异常。

Throws:
RangeError | TypeError -

数组长度小于2或非数组类型,则抛出构造异常。

Example
let point1 = new hmap.geom.Point(new hmap.basetype.Coordinate(120,30,0));
 let point2 = new hmap.geom.Point(new hmap.basetype.Coordinate(120,31,0));
 let point3 = new hmap.geom.Point(new hmap.basetype.Coordinate(121,31,0));
 let point4 = new hmap.geom.Point(new hmap.basetype.Coordinate(121,33,0));
 bezierNGeom.setCtrlPoints([point1,point2,point3,point4]);

toLine() → {module:geom~Line}

将贝塞尔曲线转化为线几何

Returns:
module:geom~Line -

线几何

Example
let line = bezierNGeom.toLine();