Class: GeometryLineString

GeometryLineString

几何对象线串类。

new GeometryLineString(points)

Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/openlayers/iclient-ol.js"></script>
<script>
  new ol.supermap.Geometry.LineString(points);
  
  // 弃用的写法
  new SuperMap.Geometry.LineString(points);

</script>

// ES6 Import
import { GeometryLineString } from '@supermapgis/iclient-ol';

new GeometryLineString(points);

common/commontypes/geometry/LineString.js, line 7
Name Type Description
points Array.<GeometryPoint>

用来生成线串的点数组。

Example
var points = [new GeometryPoint(4933.319287022352, -3337.3849141502124),
    new GeometryPoint(4960.9674060199022, -3349.3316322355736),
    new GeometryPoint(5006.0235999418364, -3358.8890067038628),
    new GeometryPoint(5075.3145648369318, -3378.0037556404409),
    new GeometryPoint(5305.19551436013, -3376.9669111768926)],
var roadLine = new GeometryLineString(points);

Extends

Members

boundsBounds

几何对象的范围。

componentsArray.<Geometry>

存储几何对象的数组。

componentTypesArray.<string>

components 存储的几何对象所支持的几何类型数组。

Default Value:
["SuperMap.Geometry.Point", "SuperMap.PointWithMeasure"]

idstring

几何对象的唯一标识符。

parentGeometry

父类几何对象。

SRIDnumber

投影坐标参数。通过该参数,服务器判断几何对象的坐标参考系是否与数据集相同,如果不同,则在数据入库前进行投影变换。

Example
var geometry= new Geometry();
geometry. SRID=4326;

Methods

static calculateCircle(points){Array.<GeometryPoint>}

common/commontypes/geometry/LineString.js, line 103

三点画圆弧。

Name Type Description
points Array.<GeometryPoint>

传入的待计算的初始点串。

Returns:
Type Description
Array.<GeometryPoint> 计算出相应的圆弧控制点。
Example
var points = [];
points.push(new GeometryPoint(-50,30));
points.push(new GeometryPoint(-30,50));
points.push(new GeometryPoint(2,60));
var circle = GeometryLineString.calculateCircle(points);

static createLineEPS(points){Array.<GeometryPoint>}

common/commontypes/geometry/LineString.js, line 252

根据点的类型画出不同类型的曲线。 点的类型有三种:LTypeArc,LTypeCurve,NONE。

Name Type Description
points Array.<GeometryPoint>

传入的待计算的初始点串。

Returns:
Type Description
Array.<GeometryPoint> 计算出相应的 lineEPS 控制点。
Example
var points = [];
points.push(new GeometryPoint(-50,30));
points.push(new GeometryPoint(-30,50,"LTypeArc"));
points.push(new GeometryPoint(2,60));
points.push(new GeometryPoint(8,20));
var lineEPS = GeometryLineString.createLineEPS(points);

inherited addComponent(component, index){boolean}

common/commontypes/geometry/Collection.js, line 126

添加几何对象到集合中。如果设置了 componentTypes 类型,则添加的几何对象必须是 componentTypes 中的类型。

Name Type Description
component Geometry

待添加的几何对象。

index number 可选

几何对象插入的位置。

Returns:
Type Description
boolean 是否添加成功。

inherited addComponents(components)

common/commontypes/geometry/Collection.js, line 109

给几何图形对象添加元素。

Name Type Description
components Array.<Geometry>

几何对象组件。

Example
var geometryCollection = new GeometryCollection();
geometryCollection.addComponents(new SuerpMap.Geometry.Point(10,10));

inherited addPoint(point, index)

common/commontypes/geometry/MultiPoint.js, line 35

添加点,封装了 GeometryCollection.addComponent 方法。

Name Type Description
point GeometryPoint

添加的点。

index number 可选

下标。

inherited calculateBounds()

common/commontypes/geometry/Collection.js, line 88

通过遍历数组重新计算边界,在遍历每一子项中时调用 extend 方法。

inherited clearBounds()

common/commontypes/Geometry.js, line 85

清除几何对象的边界。 如果该对象有父类,也会清除父类几何对象的边界。

inherited clone(){GeometryCollection}

common/commontypes/geometry/Collection.js, line 58

克隆当前几何对象。

Returns:
Type Description
GeometryCollection 克隆的几何对象集合。

inherited destroy()

common/commontypes/geometry/Collection.js, line 48

销毁几何图形。

inherited equals(geometry){boolean}

common/commontypes/geometry/Collection.js, line 203

判断两个几何对象是否相等。如果所有的 components 具有相同的坐标,则认为是相等的。

Name Type Description
geometry Geometry

需要判断的几何对象。

Returns:
Type Description
boolean 输入的几何对象与当前几何对象是否相等。

inherited extendBounds(newBounds)

common/commontypes/Geometry.js, line 98

扩展现有边界以包含新边界。如果尚未设置几何边界,则设置新边界。

Name Type Description
newBounds Bounds

几何对象的边界。

inherited getArea(){number}

common/commontypes/geometry/Collection.js, line 190

计算几何对象的面积。注意,这个方法在 GeometryPolygon 类中需要重写。

Returns:
Type Description
number 几何图形的面积,是几何对象中所有组成部分的面积之和。

inherited getBounds(){Bounds}

common/commontypes/Geometry.js, line 113

获得几何图形的边界。如果没有设置边界,可通过计算获得。

Returns:
Type Description
Bounds 几何对象的边界。

inherited getComponentsString(){string}

common/commontypes/geometry/Collection.js, line 75

获取 components 字符串。

Returns:
Type Description
string components 字符串。

getSortedSegments(){Array}

common/commontypes/geometry/LineString.js, line 46

获取升序排列的点坐标对象数组。

Returns:
Type Description
Array 升序排列的点坐标对象数组。

getVertices(nodes){Array}

common/commontypes/geometry/LineString.js, line 82

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

Name Type Description
nodes boolean 可选

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

Returns:
Type Description
Array 几何图形的顶点列表。

removeComponent(point){boolean}

common/commontypes/geometry/LineString.js, line 32

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

Name Type Description
point GeometryPoint

将被删除的点。

Returns:
Type Description
boolean 删除的点。

inherited removeComponents(components){boolean}

common/commontypes/geometry/Collection.js, line 157

清除几何对象。

Name Type Description
components Array.<Geometry>

需要清除的几何对象。

Returns:
Type Description
boolean 元素是否被删除。

inherited removePoint(point)

common/commontypes/geometry/MultiPoint.js, line 46

移除点,封装了 GeometryCollection.removeComponent 方法。

Name Type Description
point GeometryPoint

移除的点对象。

inherited setBounds(bounds)

common/commontypes/Geometry.js, line 73

设置几何对象的边界。

Name Type Description
bounds Bounds

范围。