您的位置:首页 > Web前端 > JavaScript

基于 geojson数据类型面转线Transforms Polygons and MultiPolygons to LineStrings.

2016-12-14 11:21 477 查看
function flatten(array) {
return [].concat.apply([], array);
}

function polygonToLineString(coordinates, properties) {
return coordinates.map(function(coordinates) {
return turf.lineString(coordinates, properties);
});
}

function multiPolygonToLineString(coordinates, properties) {
return flatten(coordinates.map(function(coordinates) {
return polygonToLineString(coordinates, properties);
}));
}

function toLineString(feature) {
var geometry = feature.geometry,
properties = feature.properties;

switch (geometry.type) {
case 'Polygon':
return polygonToLineString(geometry.coordinates, properties);
case 'MultiPolygon':
return multiPolygonToLineString(geometry.coordinates, properties);
default:
return feature;
}
}
/**
* Transforms Polygons and MultiPolygons to LineStrings.
*
* @module turf/polygonToLine
* @category transformation
* @param {Object} geojson any GeoJSON object
* @returns {Object} FeatureCollection where
* Polygons and MultiPolygons transformed to LineStrings.
*/
function polygon2line(geojson) {
var features = geojson.features.map(toLineString);
return turf.featureCollection(flatten(features));
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐