椭球上多边形的描述。多边形由多边形层次结构定义。多边形几何体可通过
Primitive和GroundPrimitive渲染。
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
包含以下属性的对象:
|
- PolygonGeometry#createGeometry
- PolygonGeometry#fromPositions
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:
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.GEODESIC和ArcType.RHUMB。 |
result |
Rectangle | optional 用于存储结果的对象。 |
Returns:
结果矩形
static Cesium.PolygonGeometry.createGeometry(polygonGeometry) → Geometry|undefined
计算多边形的几何表示,包括其顶点、索引和边界球。
| Name | Type | Description |
|---|---|---|
polygonGeometry |
PolygonGeometry | 多边形的描述。 |
Returns:
计算得到的顶点和索引。
static Cesium.PolygonGeometry.fromPositions(options) → PolygonGeometry
从位置数组定义的多边形描述。多边形几何体可通过
Primitive和GroundPrimitive渲染。
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
包含以下属性的对象:
|
Returns:
- PolygonGeometry#createGeometry
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:
将提供的实例存储到提供的数组中。
| 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实例。
