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 作为 PolygonHierarchyCartesian2 点的纹理坐标。对地面原语没有影响。
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 作为 PolygonHierarchyCartesian2 点的纹理坐标。对地面原语没有影响。
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 存储结果的对象.
需要帮助?获得答案的最快方法是来自社区和团队 Cesium Forum.