Skip to content

TurfJs 地理空间分析

官网-中文 https://turfjs.fenxianglu.cn/

这里通过TurfJs生成的点线面等数据都是Geo格式的,在cesium当中通过GeoJsonDataSource进行加载数据

js
function addTurf() {
    const point = turf.point([125.343, 39.984])
    const line = turf.lineString([[124, 23], [123, 20], [125, 25], [120, 29]], {name: 'line 1'});
    const polygon = turf.polygon([[[115, 32], [114, 46], [112, 31], [117, 34], [115, 32]]], {name: 'poly1'});
    const options = {steps: 360, units: 'kilometers', properties: {foo: 'bar'}};
    const circle = turf.circle([120.343, 29.984], 50, options);

    // 扇形
    const sector = turf.sector([120.343, 20], 100, 25, 120);
    // 圆弧
    const arc = turf.lineArc([120.343, 20], 120, 25, 120);
    const collection = turf.featureCollection([
        point,
        line,
        polygon,
        circle,
        sector,
        arc
    ]);
    const promise = Cesium.GeoJsonDataSource.load(collection);
    promise.then(dataSource => {
        viewer.value.dataSources.add(dataSource);
        viewer.value.zoomTo(dataSource)
    });
}

By Modify.