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.