util

Methods

staticCesium.util.clone(input)

深度克隆两个对象
Name Type Description
input Object | Array 对象实例或多个对象实例的数组
Example:
clone(myObject)

staticCesium.util.extend(dest, sources)

给定目标对象和可选的许多源对象,将所有属性从源对象复制到目标。 给定的最后一个源对象将覆盖先前的对象源对象。对象实例,非对象结构。
Name Type Description
dest 目标对象
sources 属性的来源,数组,可以是多个object对象
Example:
globals = extend({}, globals, {zoom: Math.floor(globals.zoom)})
Demo:

staticCesium.util.getGeometryFrom3js(threejsGeometry)Cesium.Geometry

将THREE中的Geometry转化为Cesium的Geometry
Name Type Description
threejsGeometry THREE.Geometry THREE中的Geometry对象实例
Returns:
Cesium中的Geometry

staticCesium.util.kinks(featureIn)FeatureCollection.<Point>

判断一个要素是否存在自相交的现象,并返回自相交的点。
Name Type Description
featureIn Feature.<(LineString|MultiLineString|MultiPolygon|Polygon)> 输入要素
Returns:
返回自相交的点
Example:
var poly = {
     type: "Feature",
     geometry: {
         type: "Polygon",
         coordinates: [ [[-12.034835, 8.901183],[-12.060413, 8.899826],[-12.03638, 8.873199],[-12.059383, 8.871418],[-12.034835, 8.901183]] ]
     },
     properties: {}
};
var kinks = util.kinks(poly);

staticCesium.util.mix(mixins)

将多个类的接口“混入”(mix in)另一个类。
Name Type Description
mixins any repeatable 对象名, 例如: GeoElement, GeoSymbol, GeoFeatureLayer
Example:
class MyClass extends mix(Base, Calculate, Interface, Timer){
//... 
}

staticCesium.util.transformScale(geojson, factor, options)GeoJSON

对geojson进行缩放
Name Type Default Description
geojson GeoJSON 输入的geojson
factor number 缩放因子,必须大于0
options Object {} optional 参数选项
Name Type Default Description
origin string | Coord 'centroid' optional 以哪个点为依据进行缩放。string参数有:sw/se/nw/ne/center/centroid。也可以自己定义坐标。
mutate boolean false optional 是否对输入的geojson进行拷贝。如果为true,则不进行拷贝,意味着输入的geojson会被修改。设置true时效率比设置false时高。
Returns:
缩放后的GeoJSON
Example:
var poly = {
     type: "Feature",
     geometry: {
         type: "Polygon",
         coordinates: [ [0,29],[3.5,29],[2.5,32],[0,29]] ]
     },
     properties: {}
};
var scaledPoly = turf.transformScale(poly, 3);

staticCesium.util.unkinkPolygon(geojson)FeatureCollection.<Polygon>

将自相交的面解为多个不自相交的面
Name Type Description
geojson FeatureCollection | Feature.<(Polygon|MultiPolygon)> GeoJSON面(Polygon)或者多面(MultiPolygon)
Returns:
解除自相交后的面要素
Example:
var poly = {
     type: "Feature",
     geometry: {
         type: "Polygon",
         coordinates: [ [[0, 0],[2, 0],[0, 2],[2, 2],[0, 0]] ]
     },
     properties: {}
};
var result = util.unkinkPolygon(poly);