Methods
深度克隆两个对象
Name | Type | Description |
---|---|---|
input |
Object | Array | 对象实例或多个对象实例的数组 |
Example:
clone(myObject)
给定目标对象和可选的许多源对象,将所有属性从源对象复制到目标。
给定的最后一个源对象将覆盖先前的对象源对象。对象实例,非对象结构。
Name | Type | Description |
---|---|---|
dest |
目标对象 | |
sources |
属性的来源,数组,可以是多个object对象 |
Example:
globals = extend({}, globals, {zoom: Math.floor(globals.zoom)})
Demo:
将THREE中的Geometry转化为Cesium的Geometry
Name | Type | Description |
---|---|---|
threejsGeometry |
THREE.Geometry | THREE中的Geometry对象实例 |
Returns:
Cesium中的Geometry
判断一个要素是否存在自相交的现象,并返回自相交的点。
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);
将多个类的接口“混入”(mix in)另一个类。
Name | Type | Description |
---|---|---|
mixins |
any | repeatable 对象名, 例如: GeoElement, GeoSymbol, GeoFeatureLayer |
Example:
class MyClass extends mix(Base, Calculate, Interface, Timer){
//...
}
对geojson进行缩放
Name | Type | Default | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
geojson |
GeoJSON | 输入的geojson | |||||||||||||
factor |
number | 缩放因子,必须大于0 | |||||||||||||
options |
Object |
{}
|
optional
参数选项
|
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);
将自相交的面解为多个不自相交的面
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);