椭球上多边形轮廓的描述。多边形由多边形层次定义。
new PolygonOutlineGeometry(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.polygonHierarchy
PolygonHierarchy
|
包含孔的多边形层次结构。 |
options.height
Number
default 0.0
|
多边形与椭球面之间的距离,单位为米。 |
options.extrudedHeight
Number
|
多边形的挤压面和椭球面之间的距离,单位为米。 |
options.vertexFormat
VertexFormat
default VertexFormat.DEFAULT
|
要计算的顶点属性。 |
options.ellipsoid
Ellipsoid
default Ellipsoid.WGS84
|
用作参考的椭球体。 |
options.granularity
Number
default BMMath.RADIANS_PER_DEGREE
|
每一纬度和经度之间的距离,以弧度表示。确定缓冲区中的位置数。 |
options.perPositionHeight
Boolean
default false
|
对每个位置使用options.positions的高度,而不是使用options.height来确定高度。 |
options.arcType
ArcType
default ArcType.GEODESIC
|
大纲必须遵循的路径类型。有效选项为ArcType.GEODESIC 和ArcType.RHUMB 。
|
Example
// 1. create a polygon outline from points
var polygon = new bmgl.PolygonOutlineGeometry({
polygonHierarchy : new bmgl.PolygonHierarchy(
bmgl.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
])
)
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(polygon);
// 2. create a nested polygon with holes outline
var polygonWithHole = new bmgl.PolygonOutlineGeometry({
polygonHierarchy : new bmgl.PolygonHierarchy(
bmgl.Cartesian3.fromDegreesArray([
-109.0, 30.0,
-95.0, 30.0,
-95.0, 40.0,
-109.0, 40.0
]),
[new bmgl.PolygonHierarchy(
bmgl.Cartesian3.fromDegreesArray([
-107.0, 31.0,
-107.0, 39.0,
-97.0, 39.0,
-97.0, 31.0
]),
[new bmgl.PolygonHierarchy(
bmgl.Cartesian3.fromDegreesArray([
-105.0, 33.0,
-99.0, 33.0,
-99.0, 37.0,
-105.0, 37.0
]),
[new bmgl.PolygonHierarchy(
bmgl.Cartesian3.fromDegreesArray([
-103.0, 34.0,
-101.0, 34.0,
-101.0, 36.0,
-103.0, 36.0
])
)]
)]
)]
)
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(polygonWithHole);
// 3. create extruded polygon outline
var extrudedPolygon = new bmgl.PolygonOutlineGeometry({
polygonHierarchy : new bmgl.PolygonHierarchy(
bmgl.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
])
),
extrudedHeight: 300000
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(extrudedPolygon);
- PolygonOutlineGeometry#createGeometry
- PolygonOutlineGeometry#fromPositions
See:
Members
packedLength : Number
用于将对象打包到数组中的元素数。
Methods
(static) createGeometry(polygonGeometry) → {Geometry|undefined}
计算多边形轮廓的几何表示,包括顶点、索引和边界球。
Parameters:
从位置数组中对多边形轮廓的描述。
Parameters:
options
(Object)
Name | Description |
---|---|
options.positions
Array.<Cartesian3>
|
定义多边形角点的位置数组。 |
options.height
Number
default 0.0
|
多边形的高度。 |
options.extrudedHeight
Number
|
多边形拉伸的高度。 |
options.ellipsoid
Ellipsoid
default Ellipsoid.WGS84
|
用作参考的椭球体。 |
options.granularity
Number
default BMMath.RADIANS_PER_DEGREE
|
每一纬度和经度之间的距离,以弧度表示。确定缓冲区中的位置数。 |
options.perPositionHeight
Boolean
default false
|
对每个位置使用options.positions的高度,而不是使用options.height来确定高度。 |
options.arcType
ArcType
default ArcType.GEODESIC
|
大纲必须遵循的路径类型。有效选项为LinkType.GEODESIC 和ArcType.RHUMB 。
|
Example
// create a polygon from points
var polygon = bmgl.PolygonOutlineGeometry.fromPositions({
positions : bmgl.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
])
});
var geometry = bmgl.PolygonOutlineGeometry.createGeometry(polygon);
- PolygonOutlineGeometry#createGeometry
See:
将提供的实例存储到提供的数组中。
Parameters:
array
(Array.<Number>)
要打包的数组。
startingIndex
(Number)
(default 0
)
数组中开始打包元素的索引。
从压缩数组中检索实例。
Parameters:
array
(Array.<Number>)
压缩数组。
startingIndex
(Number)
(default 0
)
要解包的元素的起始索引。