PolygonGeometry

new Cesium.PolygonGeometry(options)

椭球体上多边形的描述。多边形由多边形层次定义。多边形几何体可以使用PrimitiveGroundPrimitive进行渲染。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
polygonHierarchy PolygonHierarchy 可以包含孔的多边形层次。
height Number 0.0 optional 多边形和椭球面之间的距离(以米为单位)。
extrudedHeight Number optional 多边形的挤出面与椭球曲面之间的距离(以米为单位)。
vertexFormat VertexFormat VertexFormat.DEFAULT optional 要计算的顶点属性。
stRotation Number 0.0 optional 纹理坐标的旋转,以弧度为单位。正旋转是逆时针旋转。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 用作参考的椭球体。
granularity Number CesiumMath.RADIANS_PER_DEGREE optional 每个纬度和经度之间的距离,以弧度为单位。确定缓冲区中的位置数。
perPositionHeight Boolean false optional 使用的高度选项.位置而不是使用选项.高度确定高度。
closeTop Boolean true optional 如果为false,则使挤出多边形的顶部保持打开状态。
closeBottom Boolean true optional 如果为false,则使挤出多边形的底部保持打开状态。
arcType ArcType ArcType.GEODESIC optional 多边形边必须遵循的线类型。有效选项为ArcType.GEODESICArcType.RHUMB
Example:
// 1. create a polygon from points
var polygon = new Cesium.PolygonGeometry({
  polygonHierarchy : new Cesium.PolygonHierarchy(
    Cesium.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  )
});
var geometry = Cesium.PolygonGeometry.createGeometry(polygon);

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

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

Members

packedLength : Number

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

Methods

static Cesium.PolygonGeometry.computeRectangle(options, result)Rectangle

返回给定选项的边界矩形
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
polygonHierarchy PolygonHierarchy 可以包含孔的多边形层次。
granularity Number CesiumMath.RADIANS_PER_DEGREE optional 每个纬度和经度之间的距离,以弧度为单位。确定采样位置的数量。
arcType ArcType ArcType.GEODESIC optional 多边形边必须遵循的线类型。有效选项为ArcType.GEODESICArcType.RHUMB
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 用作参考的椭球体。
result Rectangle optional 存储结果的对象。
Returns:
结果矩形

static Cesium.PolygonGeometry.createGeometry(polygonGeometry)Geometry|undefined

计算多边形的几何表示,包括其顶点、索引和边界球体。
Name Type Description
polygonGeometry PolygonGeometry 多边形的描述。
Returns:
计算的顶点和索引。

static Cesium.PolygonGeometry.fromPositions(options)PolygonGeometry

从位置数组对多边形的描述。多边形几何体可以使用PrimitiveGroundPrimitive进行渲染。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
positions Array.<Cartesian3> 定义多边形角点的位置数组。
height Number 0.0 optional 多边形的高度。
extrudedHeight Number optional 多边形挤出的高度。
vertexFormat VertexFormat VertexFormat.DEFAULT optional 要计算的顶点属性。
stRotation Number 0.0 optional 纹理坐标的旋转,以弧度为单位。正旋转是逆时针旋转。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 用作参考的椭球体。
granularity Number CesiumMath.RADIANS_PER_DEGREE optional 每个纬度和经度之间的距离,以弧度为单位。确定缓冲区中的位置数。
perPositionHeight Boolean false optional 使用的高度选项.位置而不是使用选项.高度确定高度。
closeTop Boolean true optional 如果为false,则使挤出多边形的顶部保持打开状态。
closeBottom Boolean true optional 如果为false,则使挤出多边形的底部保持打开状态。
arcType ArcType ArcType.GEODESIC optional 多边形边必须遵循的线类型。有效选项为ArcType.GEODESICArcType.RHUMB
Returns:
Example:
// create a polygon from points
var polygon = Cesium.PolygonGeometry.fromPositions({
  positions : Cesium.Cartesian3.fromDegreesArray([
    -72.0, 40.0,
    -70.0, 35.0,
    -75.0, 30.0,
    -70.0, 30.0,
    -68.0, 40.0
  ])
});
var geometry = Cesium.PolygonGeometry.createGeometry(polygon);
See:
  • PolygonGeometry#createGeometry

static Cesium.PolygonGeometry.pack(value, array, startingIndex)Array.<Number>

将提供的实例存储到提供的数组中。
Name Type Default Description
value PolygonGeometry 要打包的值。
array Array.<Number> 要打包到的数组。
startingIndex Number 0 optional 数组中开始打包元素的索引。
Returns:
被压缩到的数组

static Cesium.PolygonGeometry.unpack(array, startingIndex, result)

从压缩数组检索实例。
Name Type Default Description
array Array.<Number> 压缩数组。
startingIndex Number 0 optional 要解包的元素的起始索引。
result PolygonGeometry optional 要将结果存储到其中的对象。