| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-03-31 10:52:25 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-31 11:36:28 |
| | | * @LastEditTime: 2023-04-04 15:55:33 |
| | | * @FilePath: \srs-police-affairs\src\utils\turfPolygon.js |
| | | * @Description: |
| | | * |
| | |
| | | */ |
| | | import * as turf from '@turf/turf' |
| | | |
| | | export const computerCapacity = (data) => { |
| | | if (data.length) { |
| | | 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 => { |
| | |
| | | |
| | | 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: -90, roll: 0 }, |
| | | { heading: 0, pitch: -45, roll: 0 }, |
| | | (e) => { }, |
| | | 3 |
| | | ) |