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.default optional 要用作参考的椭球体。
granularity number CesiumMath.RADIANS_PER_DEGREE optional 每个纬度和经度之间的距离,以弧度为单位。确定缓冲区中的位置数。
perPositionHeight boolean false optional 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
closeTop boolean true optional 如果为 false,则挤出多边形的顶部保持打开状态。
closeBottom boolean true optional 如果为 false,则挤出多边形的底部保持开放状态。
arcType ArcType ArcType.GEODESIC optional 多边形边必须遵循的线类型。有效选项为 ArcType.GEODESICArcType.RHUMB
textureCoordinates PolygonHierarchy optional 纹理坐标为 Cartesian2 点的 PolygonHierarchy。对 Ground Primitives 没有影响。
Example:
// 1. create a polygon from points
const 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
    ])
  )
});
const geometry = Cesium.PolygonGeometry.createGeometry(polygon);

// 2. create a nested polygon with holes
const 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
          ])
        )]
      )]
    )]
  )
});
const geometry = Cesium.PolygonGeometry.createGeometry(polygonWithHole);

// 3. create extruded polygon
const 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
});
const geometry = Cesium.PolygonGeometry.createGeometry(extrudedPolygon);
Demo:
See:
  • PolygonGeometry#createGeometry
  • PolygonGeometry#fromPositions

Members

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

Methods

static Cesium.PolygonGeometry.computeRectangleFromPositions(positions, ellipsoid, arcType, result)Rectangle

计算一个矩形,该矩形包含由位置列表定义的多边形,包括国际日期变更线和极点上的情况。
Name Type Default Description
positions Array.<Cartesian3> 定义多边形外边界的线性环。
ellipsoid Ellipsoid Ellipsoid.default optional 要用作参考的椭球体。
arcType ArcType ArcType.GEODESIC optional 多边形边必须遵循的线的类型。有效选项为 ArcType.GEODESICArcType.RHUMB
result Rectangle optional 用于存储结果的对象。
Returns:
The result rectangle

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 高度 polygon.
extrudedHeight number optional 高度多边形拉伸。
vertexFormat VertexFormat VertexFormat.DEFAULT optional 要计算的顶点属性。
stRotation number 0.0 optional 纹理坐标的旋转,以弧度为单位。正旋转是逆时针旋转。
ellipsoid Ellipsoid Ellipsoid.default optional 要用作参考的椭球体。
granularity number CesiumMath.RADIANS_PER_DEGREE optional 每个纬度和经度之间的距离,以弧度为单位。确定缓冲区中的位置数。
perPositionHeight boolean false optional 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
closeTop boolean true optional 如果为 false,则挤出多边形的顶部保持打开状态。
closeBottom boolean true optional 如果为 false,则挤出多边形的底部保持开放状态。
arcType ArcType ArcType.GEODESIC optional 多边形边必须遵循的线类型。有效选项为 ArcType.GEODESICArcType.RHUMB
textureCoordinates PolygonHierarchy optional 纹理坐标为 Cartesian2 点的 PolygonHierarchy。对 Ground Primitives 没有影响。
Returns:
Example:
// create a polygon from points
const 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
  ])
});
const 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 要在其中存储结果的对象。
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.