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。对地面图元无效。
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:
结果矩形

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.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。对地面图元无效。
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)PolygonGeometry

从打包的数组中检索实例。
Name Type Default Description
array Array.<number> 打包数组。
startingIndex number 0 optional 要解包的元素起始索引。
result PolygonGeometry optional 存储结果的对象。
Returns:
修改后的结果参数,若未提供则返回新的PolygonGeometry实例。
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.