openlayers使用turf完成点线周边缓冲分析

一.引入

二.使用

 

 //绘画缓冲
    drawTurf(evt, obj) {
      const geometry = evt.feature.getGeometry();
      const type = geometry.getType();
      // geometry.transform("EPSG:3857", "EPSG:4326");
      const coords = geometry.getCoordinates();
      const tf =
        obj.type === "Point" ? turf.point(coords) : turf.lineString(coords);
      // 缓冲区分析,turf必须使用wgs84经纬度坐标
      const tbf = turf.buffer(tf, obj.distance, {
        //半径
        units: "kilometers", //单位
      });
      const obf = new GeoJSON().readFeature(tbf);
      obf.setStyle(() => {
        return new Style({
          stroke: new Stroke({
            color: "#07B9EE",
            width: 2,
          }),
          fill: new Fill({
            color: "rgba(89, 148, 241, 0.3)",
          }),
        });
      });
      this.source.addFeature(obf);
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值