PolygonGeometry

椭球上多边形的描述。多边形由多边形层次定义。多边形几何图形可以用PrimitiveGroundPrimitive渲染。
new PolygonGeometry(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.stRotation
Number
default 0.0
纹理坐标的旋转,以弧度表示。正旋转是逆时针的。
options.ellipsoid
Ellipsoid
default Ellipsoid.WGS84
用作参考的椭球体。
options.granularity
Number
default BMMath.RADIANS_PER_DEGREE
每一纬度和经度之间的距离,以弧度表示。确定缓冲区中的位置数。
options.perPositionHeight
Boolean
default false
对每个位置使用options.positions的高度,而不是使用options.height来确定高度。
options.closeTop
Boolean
default true
如果为“假”,则使挤出多边形的顶部保持打开状态。
options.closeBottom
Boolean
default true
如果为“假”,则使拉伸多边形的底部保持打开状态。
options.arcType
ArcType
default ArcType.GEODESIC
多边形边必须遵循的线条类型。有效选项为ArcType.GEODESICArcType.RHUMB
Example
// 1. create a polygon from points
var polygon = new bmgl.PolygonGeometry({
  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.PolygonGeometry.createGeometry(polygon);

// 2. create a nested polygon with holes
var polygonWithHole = new bmgl.PolygonGeometry({
  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.PolygonGeometry.createGeometry(polygonWithHole);

// 3. create extruded polygon
var extrudedPolygon = new bmgl.PolygonGeometry({
  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.PolygonGeometry.createGeometry(extrudedPolygon);
See:
  • PolygonGeometry#createGeometry
  • PolygonGeometry#fromPositions

Members

packedLength : Number

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

Methods

(static) computeRectangle(options, result) → {Rectangle}
返回给定选项的边框
Parameters:
options (Object)
Name Description
options.polygonHierarchy
PolygonHierarchy
包含孔的多边形层次结构。
options.granularity
Number
default BMMath.RADIANS_PER_DEGREE
每一纬度和经度之间的距离,以弧度表示。确定采样的位置数。
options.arcType
ArcType
default ArcType.GEODESIC
多边形边必须遵循的线条类型。有效选项为ArcType.GEODESICArcType.RHUMB
options.ellipsoid
Ellipsoid
default Ellipsoid.WGS84
用作参考的椭球体。
result (Rectangle) 存储结果的对象。
(static) createGeometry(polygonGeometry) → {Geometry|undefined}
计算多边形的几何表示,包括其顶点、索引和边界球。
Parameters:
polygonGeometry (PolygonGeometry) 多边形的描述。
(static) fromPositions(options) → {PolygonGeometry}
对位置数组中多边形的描述。多边形几何图形可以用PrimitiveGroundPrimitive渲染。
Parameters:
options (Object)
Name Description
options.positions
Array.<Cartesian3>
定义多边形角点的位置数组。
options.height
Number
default 0.0
多边形的高度。
options.extrudedHeight
Number
多边形拉伸的高度。
options.vertexFormat
VertexFormat
default VertexFormat.DEFAULT
要计算的顶点属性。
options.stRotation
Number
default 0.0
纹理坐标的旋转,以弧度表示。正旋转是逆时针的。
options.ellipsoid
Ellipsoid
default Ellipsoid.WGS84
用作参考的椭球体。
options.granularity
Number
default BMMath.RADIANS_PER_DEGREE
每一纬度和经度之间的距离,以弧度表示。确定缓冲区中的位置数。
options.perPositionHeight
Boolean
default false
对每个位置使用options.positions的高度,而不是使用options.height来确定高度。
options.closeTop
Boolean
default true
如果为“假”,则使挤出多边形的顶部保持打开状态。
options.closeBottom
Boolean
default true
如果为“假”,则使拉伸多边形的底部保持打开状态。
options.arcType
ArcType
default ArcType.GEODESIC
多边形边必须遵循的线条类型。有效选项为ArcType.GEODESICArcType.RHUMB
Example
// create a polygon from points
var polygon = bmgl.PolygonGeometry.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.PolygonGeometry.createGeometry(polygon);
See:
  • PolygonGeometry#createGeometry
(static) pack(value, array, startingIndex) → {Array.<Number>}
将提供的实例存储到提供的数组中。
Parameters:
value (PolygonGeometry) 要打包的值。
array (Array.<Number>) 要打包的数组。
startingIndex (Number) (default 0) 数组中开始打包元素的索引。
(static) unpack(array, startingIndex, result)
从压缩数组中检索实例。
Parameters:
array (Array.<Number>) 压缩数组。
startingIndex (Number) (default 0) 要解包的元素的起始索引。
result (PolygonGeometry) 存储结果的对象。