PolygonGeometry

new Cesium.PolygonGeometry(options)

描述椭球上的一个多边形。多边形由多边形层级结构定义。多边形几何体可使用 PrimitiveGroundPrimitive 渲染。
Name Type Description
options object Object with the following properties:
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 optionalPolygonHierarchy 形式的 Cartesian2 点表示的纹理坐标。对贴地图元无效。
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 Object with the following properties:
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 optionalPolygonHierarchy 形式的 Cartesian2 点表示的纹理坐标。对贴地图元无效。
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:
被修改的 result 参数;如果未提供,则为一个新的 PolygonGeometry 实例。
需要帮助?获取答案的最快方式是在 Cesium 论坛 上向社区和团队提问。