/* * @Author: shuishen 1109946754@qq.com * @Date: 2023-03-31 10:52:25 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-04-04 15:55:33 * @FilePath: \srs-police-affairs\src\utils\turfPolygon.js * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. */ import * as turf from '@turf/turf' export const computerCapacity = (data, type) => { if (type == 'region') { const pointArr = data.reduce((pre, cur) => { cur.position && JSON.parse(cur.position).coordinates[0][0].forEach(item => { console.log(item, 959) item[0] && item[1] && pre.push(turf.point(item)) }) return pre }, []) const features = turf.featureCollection(pointArr) const scope = turf.envelope(features).bbox const poly = turf.polygon([[[scope[0], scope[1]], [scope[0], scope[3]], [scope[2], scope[1]], [scope[2], scope[3]]]]) const scaledPoly = turf.transformScale(poly, 3) console.log(scope, scaledPoly, 5555) } else { let pointArr = [] data.forEach(item => { if (item.longitude && item.latitude) { pointArr.push(turf.point([item.longitude, item.latitude])) return } if (item.lng && item.lat) { pointArr.push(turf.point([item.lng, item.lat])) return } }) const features = turf.featureCollection(pointArr) const scope = turf.envelope(features).bbox console.log(scope, 5555) const poly = turf.polygon([[[0, 29], [3.5, 29], [2.5, 32], [0, 29]]]) global.viewer.flyToBounds(scope, { heading: 0, pitch: -45, roll: 0 }, (e) => { }, 3 ) } }