GIS常用算法( 三 )

1.9、geojson 面转线适用场景:只有geojson面数据,获取线的边界
/*** 面转线* @param geojson 面geojson** @return geojson 线geojson*/function convertPolygonToPolyline(polygonGeoJson) {var polylineGeoJson = JSON.parse(JSON.stringify(polygonGeoJson))for (var i = 0; i < polylineGeoJson.features.length; i++) {var MultiLineString = []if (polylineGeoJson.features[i].geometry.type === 'Polygon') {var Polygon = polylineGeoJson.features[i].geometry.coordinatesPolygon.forEach(LinearRing => {var LineString = LinearRingMultiLineString.push(LineString)})} else if (polylineGeoJson.features[i].geometry.type === 'MultiPolygon') {var MultiPolygon = polylineGeoJson.features[i].geometry.coordinatesMultiPolygon.forEach(Polygon => {Polygon.forEach(LinearRing => {var LineString = LinearRingMultiLineString.push(LineString)})})} else {console.error('请确认输入参数为geojson格式面数据!')return null}polylineGeoJson.features[i].geometry.type = 'MultiLineString' //面转线polylineGeoJson.features[i].geometry.coordinates = MultiLineString}return polylineGeoJson}2、在线示例在线示例:
http://gisarmory.xyz/blog/index.html?demo=GISAlgorithm
代码地址:
http://gisarmory.xyz/blog/index.html?source=GISAlgorithm


推荐阅读