SuperMap.Geometry.LineString

几何对象线串类。

Inherits from

Summary
SuperMap.Geometry.LineString 几何对象线串类。
Constructor
SuperMap.Geometry.LineString 创建新的线串几何对象。
Functions
createBezier2 创建2次贝塞尔曲线。
createBezier3 创建3次贝塞尔曲线。
createBezierN 创建N次贝塞尔曲线。 创建N次贝塞尔曲线需要N+1个点 也就是传入 points ,得到的是points.length-1次贝塞尔曲线
createBspline 创建B样条曲线。 此曲线会穿过所有的点。
createCurve 创建扇形对象。
distanceTo 计算两个几个图形间的最小距离(x-y平面坐标系下)。
getVertices 返回几何图形的所有顶点的列表。
intersects 判断两个几何图形是否相交。
removeComponent 只有在线串上有三个或更多的点的时候,才会允许移除点(否则结果将会是单一的点)。
simplify

Constructor

SuperMap.Geometry.LineString

创建新的线串几何对象。

Parameters

points {Array(SuperMap.Geometry.Point)} 用来生成线串的点数组。
var points = [new SuperMap.Geometry.Point(4933.319287022352, -3337.3849141502124),
    new SuperMap.Geometry.Point(4960.9674060199022, -3349.3316322355736),
    new SuperMap.Geometry.Point(5006.0235999418364, -3358.8890067038628),
    new SuperMap.Geometry.Point(5075.3145648369318, -3378.0037556404409),
    new SuperMap.Geometry.Point(5305.19551436013, -3376.9669111768926)],
 roadLine = new SuperMap.Geometry.LineString(points);

Functions

removeComponent

removeComponent: function( point )

只有在线串上有三个或更多的点的时候,才会允许移除点(否则结果将会是单一的点)。

Parameters

point {SuperMap.Geometry.Point} 将被删除的点。

Returns

{Boolean} 删除的点。

intersects

intersects: function( geometry )

判断两个几何图形是否相交。

Parameters

geometry {SuperMap.Geometry} 任意的几何类型。

Returns

{Boolean} 输入几何图形与当前几何图形是否相交。

getVertices

getVertices: function( nodes )

返回几何图形的所有顶点的列表。

Parameters

nodes {Boolean} 对于线来说,仅仅返回作为端点的顶点,如果设为false,则返回非端点的顶点 如果没有设置此参数,则返回所有顶点。

Returns

{Array} 几何图形的顶点列表。

distanceTo

distanceTo: function( geometry,
options )

计算两个几个图形间的最小距离(x-y平面坐标系下)。

Parameters

geometry {SuperMap.Geometry} 目标几何图形。
options {Object}距离计算需要设置的可选属性。有效的选项取决于特定的几何类型。

Valid options

details {Boolean} 返回距离计算的细节,默认为false。
edge {Boolean} 计算一个几何图形到目标几何图形边缘的最近距离,默认为true。 如果设为true, 一个几何图形完全包含在目标几何图形中时,调用distanceTo返回非零结果,如果false,两个几何图形相交情况下 调用distanceTo结果返回0,而且如果false,将不返距离。

Returns

{Number | Object} 返回一个几何图形到目标几何图形的距离。

simplify

simplify: function( tolerance )
这个函数返回一个简化的线串,基于道格拉斯 普克简化算法进行简化。

Parameters

tolerance {number} 地图单位上的简化的阈值。

Returns

{SuperMap.Geometry.LineString} 被简化的线串。

createCurve

SuperMap.Geometry.LineString.createCurve = function( points,
method,
filterSize,
lineLength )

创建扇形对象。

Parameters

points {Array(SuperMap.Geometry.Point)} 曲线经过的点串。
method {String} 曲线类型,目前支持的有:”lanczos”,”cubic”,”linear”,默认为”lanczos”。
filterSize {Number} 曲线平滑曲度,在2~10之间的数值,默认为10,不支持method为”linear”的类型。
lineNum {Number} 曲线拟合的线数目,默认是80。 备注:需要依赖Smooth.js Returns: {SuperMap.Geometry.LineString} 几何线对象
var points = [];
points.push(new SuperMap.Geometry.Point(11983722.7315,3942864.5449));
points.push(new SuperMap.Geometry.Point(11986722.7315, 3946864.5449));
points.push(new SuperMap.Geometry.Point(11989722.7315, 3949864.5449));

var curve = SuperMap.Geometry.LineString.createCurve(points);

createBspline

SuperMap.Geometry.LineString.createBspline= function( points,
filterSize )

创建B样条曲线。 此曲线会穿过所有的点。

Parameters

points {Array(SuperMap.Geometry.Point)} 曲线经过的点串。
filterSize {Number} 曲线平滑曲度,默认为10。 Returns: {SuperMap.Geometry.LineString} 几何线对象
var points = [];
points.push(new SuperMap.Geometry.Point(116, 39.4));
points.push(new SuperMap.Geometry.Point(118, 39.8));
points.push(new SuperMap.Geometry.Point(119, 39));

var curve = SuperMap.Geometry.LineString.createBspline(points,5);

createBezier2

SuperMap.Geometry.LineString.createBezier2 = function ( points,
part )

创建2次贝塞尔曲线。

Parameters

points -{Array(SuperMap.Geometry.Point)} 传入的待计算的初始点串(必须为三个点)。 part -{Number} 平滑度。取值越大,曲线越平滑。取值为大于1的整数。 Returns: {SuperMap.Geometry.LineString} 几何线对象

var points = [];
points.push(new SuperMap.Geometry.Point(-50,30));
points.push(new SuperMap.Geometry.Point(-30,50));
points.push(new SuperMap.Geometry.Point(2,60));

var bezier = SuperMap.Geometry.LineString.createBezier2(points, 20);

createBezier3

SuperMap.Geometry.LineString.createBezier3 = function ( points,
part )

创建3次贝塞尔曲线。

Parameters

points -{Array(SuperMap.Geometry.Point)} 传入的待计算的初始点串。(必须为四个点) precision -{Number} 拆分精度,表示贝塞尔曲线上任意两点间横向或纵向的最大距离。 决 Returns: {SuperMap.Geometry.LineString} 几何线对象

var points = [];
points.push(new SuperMap.Geometry.Point(-50,30));
points.push(new SuperMap.Geometry.Point(-30,50));
points.push(new SuperMap.Geometry.Point(2,60));
points.push(new SuperMap.Geometry.Point(8,20));

var bezier = SuperMap.Geometry.LineString.createBezier3(points, 20);

createBezierN

SuperMap.Geometry.LineString.createBezierN = function ( points,
part )

创建N次贝塞尔曲线。 创建N次贝塞尔曲线需要N+1个点 也就是传入 points ,得到的是points.length-1次贝塞尔曲线

Parameters

points -{Array(SuperMap.Geometry.Point)} 传入的待计算的初始点串。 part -{Number} 平滑度。取值越大,曲线越平滑。取值为大于1的整数,默认为20。 Returns: {SuperMap.Geometry.LineString} 几何线对象

//创建3次贝塞尔曲线
var points = [];
points.push(new SuperMap.Geometry.Point(-50,30));
points.push(new SuperMap.Geometry.Point(-30,50));
points.push(new SuperMap.Geometry.Point(2,60));
points.push(new SuperMap.Geometry.Point(8,20));

var bezier = SuperMap.Geometry.LineString.createBezierN(points, 20);
//创建4次贝塞尔曲线
var points = [];
points.push(new SuperMap.Geometry.Point(-50,30));
points.push(new SuperMap.Geometry.Point(-30,50));
points.push(new SuperMap.Geometry.Point(2,60));
points.push(new SuperMap.Geometry.Point(8,20));
points.push(new SuperMap.Geometry.Point(50,20));

var bezier = SuperMap.Geometry.LineString.createBezierN(points, 30);
......
removeComponent: function( point )
只有在线串上有三个或更多的点的时候,才会允许移除点(否则结果将会是单一的点)。
intersects: function( geometry )
判断两个几何图形是否相交。
getVertices: function( nodes )
返回几何图形的所有顶点的列表。
distanceTo: function( geometry,
options )
计算两个几个图形间的最小距离(x-y平面坐标系下)。
simplify: function( tolerance )
SuperMap.Geometry.LineString.createCurve = function( points,
method,
filterSize,
lineLength )
创建扇形对象。
SuperMap.Geometry.LineString.createBspline= function( points,
filterSize )
创建B样条曲线。 此曲线会穿过所有的点。
SuperMap.Geometry.LineString.createBezier2 = function ( points,
part )
创建2次贝塞尔曲线。
SuperMap.Geometry.LineString.createBezier3 = function ( points,
part )
创建3次贝塞尔曲线。
SuperMap.Geometry.LineString.createBezierN = function ( points,
part )
创建N次贝塞尔曲线。 创建N次贝塞尔曲线需要N+1个点 也就是传入 points ,得到的是points.length-1次贝塞尔曲线
几何对象曲线类。
点几何对象类。
几何对象类,描述地理对象的几何图形。
Close