vue cesium结合turf实现点线周边的缓冲分析

一.引入

2.使用

二维数组转换

代码:

  //绘画缓冲
    drawTurf(obj) {
      let tfArry = [];
      this.activeShapePoints.map((item) => {
        let arry = [this.GetWGS84FromDKR(item).x, this.GetWGS84FromDKR(item).y];
        tfArry.push(arry);
      });
      if (obj.type == "Point") {
        tfArry = tfArry.pop(1);
      }
      const tf =
        obj.type === "Point" ? turf.point(tfArry) : turf.lineString(tfArry);
      // 缓冲区分析,turf必须使用wgs84经纬度坐标

      const tbf = turf.buffer(tf, obj.distance, {
        //半径
        units: "kilometers", //单位
      });
      let obc = this.arrayConver(tbf.geometry.coordinates[0]);
      this.viewer.entities.add({
        name: "Green rhumb line",
        polygon: {
          hierarchy: Cesium.Cartesian3.fromDegreesArray(obc),
          arcType: Cesium.ArcType.RHUMB,
          material: geoMaterial,
        },
      });
    },

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值