描述椭球体上多边形的轮廓。多边形由多边形层次结构定义。
Name | Type | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
具有以下属性的对象:
|
- PolygonOutlineGeometry#createGeometry
- PolygonOutlineGeometry#fromPositions
Example:
// 1. create a polygon outline from points
var polygon = new SuperMap3D.PolygonOutlineGeometry({
polygonHierarchy : new SuperMap3D.PolygonHierarchy(
SuperMap3D.Cartesian3.fromDegreesArray([
-72.0, 40.0,
-70.0, 35.0,
-75.0, 30.0,
-70.0, 30.0,
-68.0, 40.0
])
)
});
var geometry = SuperMap3D.PolygonOutlineGeometry.createGeometry(polygon);
// 2. create a nested polygon with holes outline
var polygonWithHole = new SuperMap3D.PolygonOutlineGeometry({
polygonHierarchy : new SuperMap3D.PolygonHierarchy(
SuperMap3D.Cartesian3.fromDegreesArray([
-109.0, 30.0,
-95.0, 30.0,
-95.0, 40.0,
-109.0, 40.0
]),
[new SuperMap3D.PolygonHierarchy(
SuperMap3D.Cartesian3.fromDegreesArray([
-107.0, 31.0,
-107.0, 39.0,
-97.0, 39.0,
-97.0, 31.0
]),
[new SuperMap3D.PolygonHierarchy(
SuperMap3D.Cartesian3.fromDegreesArray([
-105.0, 33.0,
-99.0, 33.0,
-99.0, 37.0,
-105.0, 37.0
]),
[new SuperMap3D.PolygonHierarchy(
SuperMap3D.Cartesian3.fromDegreesArray([
-103.0, 34.0,
-101.0, 34.0,
-101.0, 36.0,
-103.0, 36.0
])
)]
)]
)]
)
});
var geometry = SuperMap3D.PolygonOutlineGeometry.createGeometry(polygonWithHole);
// 3. create extruded polygon outline
var extrudedPolygon = new SuperMap3D.PolygonOutlineGeometry({
polygonHierarchy : new SuperMap3D.PolygonHierarchy(
SuperMap3D.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 = SuperMap3D.PolygonOutlineGeometry.createGeometry(extrudedPolygon);
See:
Members
-
用于将对象打包到数组中的元素个数。
Methods
-
staticSuperMap3D.PolygonOutlineGeometry.createGeometry(polygonGeometry) → Geometry|undefined
-
计算多边形轮廓的几何表示,包括顶点、索引和包围球。
Name Type Description polygonGeometry
PolygonOutlineGeometry 对多边形轮廓的描述。 Returns:
计算出的顶点和索引。 -
staticSuperMap3D.PolygonOutlineGeometry.fromPositions(options) → PolygonOutlineGeometry
-
从位置数组描述多边形轮廓。
Name Type Description options
Object 具有以下属性的对象: Name Type Default Description positions
Array.<Cartesian3> 定义多边形角点的位置数组。 height
Number 0.0
optional 多边形的高度。 extrudedHeight
Number optional 挤出多边形的高度。 ellipsoid
Ellipsoid Ellipsoid.WGS84
optional 用作参考的椭球体。 granularity
Number Math.RADIANS_PER_DEGREE
optional 每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。 perPositionHeight
Boolean false
optional 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。 Returns:
- PolygonOutlineGeometry#createGeometry
Example:
// create a polygon from points var polygon = SuperMap3D.PolygonOutlineGeometry.fromPositions({ positions : SuperMap3D.Cartesian3.fromDegreesArray([ -72.0, 40.0, -70.0, 35.0, -75.0, 30.0, -70.0, 30.0, -68.0, 40.0 ]) }); var geometry = SuperMap3D.PolygonOutlineGeometry.createGeometry(polygon);
See:
-
将提供的实例存储到提供的数组中。
Name Type Default Description value
PolygonOutlineGeometry 要打包的值。 array
Array.<Number> 要装入的数组。 startingIndex
Number 0
optional 开始打包元素的数组的索引。 Returns:
被装入的数组。 -
staticSuperMap3D.PolygonOutlineGeometry.unpack(array, startingIndex, result) → PolygonOutlineGeometry
-
从打包数组中检索实例。
Name Type Default Description array
Array.<Number> 打包数组。 startingIndex
Number 0
optional 要解压缩的元素的起始索引。 result
PolygonOutlineGeometry optional 要在其中存储结果的对象。 Returns:
修改后的结果参数或一个新的PolygonOutlineGeometry实例(如果没有提供)。