Polygon

几何面

new YS.Polygon(options)

几何面
Name Type Description
options Object optional 对象有下面这些属性:
Name Type Default Description
id String optional 几何面的唯一标识. 如果为空, GUID自动生成.
name String optional 几何面名称
category String optional 几何面分类
extrudedHeight Number optional 几何面的拉伸高度
minDisplayAltitude Number optional 几何面显示最小视角高度
maxDisplayAltitude Number optional 几何面显示最大视角高度
polygonColor RGBA {r:1,g:1,b:1,a:1} optional 几何面内填充颜色,默认白色
material Material optional 几何面材质, 有材质时优先使用材质
fill Boolean optional 是否用颜色填充几何面
visible Boolean true optional 面是否可见
classificationType Boolean ClassificationType.BOTH optional 面的分类方式
points Array.<XYZ> | PolygonData | MultiPolygonData optional 几何面的点集合,经纬度坐标数组或多面或带洞面数据,单位度
isFollowSurface Boolean true optional 几何面是否贴地(贴地时请将extrudedHeight设置为undefinde)
Implements:
Examples:
//定义Polygon
var polygon = new YS.Polygon({
             polygonColor: { r: 1, g: 0, b: 0, a: 0.5 },
             fill: true,
             points: [{
                 x: 114,
                 y: 30,
                 z: 0
             }, {
                 x: 114,
                 y: 25,
                 z: 0
             }, {
                 x: 110,
                 y: 29,
                 z: 0
             }],
             isFollowSurface: true
         });
//带洞Polygon
var polygon = new YS.Polygon({
                 points: new YS.PolygonData(line, holes) //参见PolygonData的示例
             });
//多面
var polygon = new YS.Polygon({
                 points: new YS.MultiPolygonData([polygon1, polygon2]) //参见MultiPolygonData的示例
             });
//wkt
var polygon2 = new YS.Polygon({
                 points: YS.MultiPolygonData.fromWKT('MULTIPOLYGON(((108 26,109 25, 108 25)),((108 26,109 25, 108 25))')
             });
var polygon3 = new YS.Polygon({
                 points: YS.PolygonData.fromWKT('POLYGON((108 26,109 25, 108 25))')
             });

Members

category : String

获取几何面的分类.

classificationType : ClassificationType

获取或设置面的分类方式
Default Value: ClassificationType.BOTH

extrudedHeight : Number

获取或设置几何面的拉伸高度.

fill : Boolean

获取或设置是否用颜色填充几何面.

floatHeight : Number

获取几何面相对椭球体高度.

isFollowSurface : Boolean

获取几何面是否贴地.

material : Material

获取或设置几何面材质

maxDisplayAltitude : Number

获取或设置几何面显示最大视角高度.

minDisplayAltitude : Number

获取或设置几何面显示最小视角高度.

points : Array.<XYZ>|PolygonData|MultiPolygonData

获取或设置几何面的点集合,经纬度坐标数组,单位度.
See:

polygonColor : Object

获取或设置几何面内填充颜色.

visible : Boolean

获取或设置面是否可见
Implements:
Default Value: true

Methods

staticYS.Polygon.contain(polygon1, polygon2)Boolean

第一个Polygon是否包含第二个Polygon
Name Type Description
polygon1 Polygon 第一个Polygon
polygon2 Polygon 第二个Polygon
Returns:

staticYS.Polygon.difference(polygon1, polygon2)Array.<Object>

通过第一个Polygon中剪切掉第二个Polygon留下的区域
Name Type Description
polygon1 Polygon 第一个Polygon
polygon2 Polygon 第二个Polygon
Returns:
输出对象数组, 如[ { type:'Point', array:[ {x:112, y:32} ] } ]

staticYS.Polygon.intersect(polygon1, polygon2)Array.<Object>

计算两个Polygon的交集
Name Type Description
polygon1 Polygon 第一个Polygon
polygon2 Polygon 第二个Polygon
Returns:
输出对象数组, 如[ { type:'Point', array:[ {x:112, y:32} ] } ]

staticYS.Polygon.isClockwise(polygon)Boolean

格林公式判断当前面的绘制方向是不是顺时针
参考地址:https://www.cnblogs.com/kyokuhuang/p/4250526.html
Name Type Description
polygon Polygon 要判断的多边形
Returns:
顺时针方向返回true,逆时针返回false

staticYS.Polygon.union(polygon1, polygon2)Array.<Object>

计算两个Polygon的并集
Name Type Description
polygon1 Polygon 第一个Polygon
polygon2 Polygon 第二个Polygon
Returns:
输出对象数组, 如[ { type:'Point', array:[ {x:112, y:32} ] } ]

getBoundingRect(ys)Object

Feature的外接矩形,此方法在Icon和Label类中被重写
Name Type Description
ys YouScene YouScene对象
Returns:
Implements: