PolygonOutlineGeometry

椭球上多边形轮廓的描述。多边形由多边形层次定义。
new PolygonOutlineGeometry(options)
Parameters:
options (Object)
Name Description
options.polygonHierarchy
PolygonHierarchy
包含孔的多边形层次结构。
options.height
Number
default 0.0
多边形与椭球面之间的距离,单位为米。
options.extrudedHeight
Number
多边形的挤压面和椭球面之间的距离,单位为米。
options.vertexFormat
VertexFormat
default VertexFormat.DEFAULT
要计算的顶点属性。
options.ellipsoid
Ellipsoid
default Ellipsoid.WGS84
用作参考的椭球体。
options.granularity
Number
default BMMath.RADIANS_PER_DEGREE
每一纬度和经度之间的距离,以弧度表示。确定缓冲区中的位置数。
options.perPositionHeight
Boolean
default false
对每个位置使用options.positions的高度,而不是使用options.height来确定高度。
options.arcType
ArcType
default ArcType.GEODESIC
大纲必须遵循的路径类型。有效选项为ArcType.GEODESICArcType.RHUMB
Example
// 1. create a polygon outline from points
var polygon = new bmgl.PolygonOutlineGeometry({
  polygonHierarchy : new bmgl.PolygonHierarchy(
    bmgl.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  )
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(polygon);

// 2. create a nested polygon with holes outline
var polygonWithHole = new bmgl.PolygonOutlineGeometry({
  polygonHierarchy : new bmgl.PolygonHierarchy(
    bmgl.Cartesian3.fromDegreesArray([
      -109.0, 30.0,
      -95.0, 30.0,
      -95.0, 40.0,
      -109.0, 40.0
    ]),
    [new bmgl.PolygonHierarchy(
      bmgl.Cartesian3.fromDegreesArray([
        -107.0, 31.0,
        -107.0, 39.0,
        -97.0, 39.0,
        -97.0, 31.0
      ]),
      [new bmgl.PolygonHierarchy(
        bmgl.Cartesian3.fromDegreesArray([
          -105.0, 33.0,
          -99.0, 33.0,
          -99.0, 37.0,
          -105.0, 37.0
        ]),
        [new bmgl.PolygonHierarchy(
          bmgl.Cartesian3.fromDegreesArray([
            -103.0, 34.0,
            -101.0, 34.0,
            -101.0, 36.0,
            -103.0, 36.0
          ])
        )]
      )]
    )]
  )
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(polygonWithHole);

// 3. create extruded polygon outline
var extrudedPolygon = new bmgl.PolygonOutlineGeometry({
  polygonHierarchy : new bmgl.PolygonHierarchy(
    bmgl.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  ),
  extrudedHeight: 300000
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(extrudedPolygon);
See:
  • PolygonOutlineGeometry#createGeometry
  • PolygonOutlineGeometry#fromPositions

Members

packedLength : Number

用于将对象打包到数组中的元素数。

Methods

(static) createGeometry(polygonGeometry) → {Geometry|undefined}
计算多边形轮廓的几何表示,包括顶点、索引和边界球。
Parameters:
polygonGeometry (PolygonOutlineGeometry) 多边形轮廓的描述。
(static) fromPositions(options) → {PolygonOutlineGeometry}
从位置数组中对多边形轮廓的描述。
Parameters:
options (Object)
Name Description
options.positions
Array.<Cartesian3>
定义多边形角点的位置数组。
options.height
Number
default 0.0
多边形的高度。
options.extrudedHeight
Number
多边形拉伸的高度。
options.ellipsoid
Ellipsoid
default Ellipsoid.WGS84
用作参考的椭球体。
options.granularity
Number
default BMMath.RADIANS_PER_DEGREE
每一纬度和经度之间的距离,以弧度表示。确定缓冲区中的位置数。
options.perPositionHeight
Boolean
default false
对每个位置使用options.positions的高度,而不是使用options.height来确定高度。
options.arcType
ArcType
default ArcType.GEODESIC
大纲必须遵循的路径类型。有效选项为LinkType.GEODESICArcType.RHUMB
Example
// create a polygon from points
var polygon = bmgl.PolygonOutlineGeometry.fromPositions({
  positions : bmgl.Cartesian3.fromDegreesArray([
    -72.0, 40.0,
    -70.0, 35.0,
    -75.0, 30.0,
    -70.0, 30.0,
    -68.0, 40.0
  ])
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(polygon);
See:
  • PolygonOutlineGeometry#createGeometry
(static) pack(value, array, startingIndex) → {Array.<Number>}
将提供的实例存储到提供的数组中。
Parameters:
value (PolygonOutlineGeometry) 要打包的值。
array (Array.<Number>) 要打包的数组。
startingIndex (Number) (default 0) 数组中开始打包元素的索引。
(static) unpack(array, startingIndex, result) → {PolygonOutlineGeometry}
从压缩数组中检索实例。
Parameters:
array (Array.<Number>) 压缩数组。
startingIndex (Number) (default 0) 要解包的元素的起始索引。
result (PolygonOutlineGeometry) 存储结果的对象。