|
import * as turf from '@turf/turf'
|
|
/**
|
* 线缩放通用方法
|
* @param data 数据源 格式 [[lng, lat], [lng, lat], [lng, lat]]
|
* @param multiple 缩放倍数
|
*/
|
export const lineTransformScale = (data, multiple = 3) => {
|
const line = turf.lineString(data)
|
const scaledLine = turf.transformScale(line, multiple)
|
|
return scaledLine.geometry.coordinates
|
}
|
|
/**
|
* 盒子缩放通用方法
|
* @param data 数据源 格式 [[lng, lat], [lng, lat], [lng, lat]]
|
* @param multiple 缩放倍数
|
*/
|
export const boxTransformScale = (data, multiple = 3) => {
|
const line = turf.lineString(data)
|
const bbox = turf.bbox(line)
|
const bboxPolygon = turf.bboxPolygon(bbox)
|
const scaledPolygon = turf.transformScale(bboxPolygon, multiple)
|
|
return turf.bbox(scaledPolygon)
|
}
|
|
export const polygonTransformScale = (data, multiple = 3) => {
|
const line = turf.lineString(data)
|
const bbox = turf.bbox(line)
|
const bboxPolygon = turf.bboxPolygon(bbox)
|
const scaledPolygon = turf.transformScale(bboxPolygon, multiple)
|
|
return scaledPolygon
|
}
|