kcp 介绍与源代码分析_leaflet结合turf.js实现绘制图形缓冲分析buffer(附源码下载)...

本文介绍了如何使用turf.js在leaflet中实现图形缓冲分析,并提供了源码示例。通过核心代码展示,辅助读者理解这一功能的实现过程。此外,还提及了GIS之家的作品店铺和源码咨询渠道,供感兴趣的人进一步学习。
摘要由CSDN通过智能技术生成

6599f489d073919fd80726eb6ca9755b.png

前言

leaflet 入门开发系列环境知识点了解:
leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等
leaflet 在线例子
leaflet 插件,leaflet 的插件库,非常有用

内容概览

leaflet结合turf.js实现绘制图形缓冲分析buffer功能
源代码demo下载

绘制图形buffer实现借助了一个插件turf.js:http://turfjs.org

9d6ae771bc20682ce6df4efa0de8c894.png

效果图如下:

ac14fc7bfebfd8ae09d56d14f40d2293.png
  • 部分核心代码,完整的见源码demo下载
 var bufferstyle = { 
 fillColor: "#e6d933", 
 fillOpacity: 0.3, 
 stroke: true, 
 fill: true, 
 color: "#FF0000", 
 opacity: 1, 
 weight: 2, 
    }; 
 var map = L.map('map'); 
  L.tileLayer('http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}').addTo(map); 
 var geojsonLayers = L.featureGroup([]).addTo(map); 
 var bufferLayers = L.featureGroup([]).addTo(map); 
  map.setView(L.latLng(22.95186415, 113.90271877), 14);  //设置缩放级别及中心点 
 
 //map.pm.setLang('zh'); 
  map.pm.addControls({ 
 position: 'topleft', 
 drawCircle: false, 
 drawMarker:false, 
 drawCircleMarker:false, 
 drawPolyline:false, 
 drawRectangle:false, 
 drawPolygon:false, 
 cutPolygon:false, 
 editMode:false, 
 dragMode:false, 
 removalMode:false 
  }); 
 
  map.on('pm:create', e => { 
    geojsonLayers.addLayer(e.layer); 
    map.pm.disableDraw("CircleMarker"); 
    map.pm.disableDraw("Line"); 
    map.pm.disableDraw("Polygon"); 
  }); 
 
 //缓冲分析 
  $("#buffer_btn").click(function(){ 
 var FeatureCollection = geojsonLayers.toGeoJSON(); 
 console.log("FeatureCollection:",FeatureCollection); 
 if (FeatureCollection.features.length > 0) { 
 if(bufferLayers){ 
            bufferLayers.clearLayers(); 
        } 
 for (var i = 0; i < FeatureCollection.features.length; i++) { 
 var feature = FeatureCollection.features[i]; 
 var buffered = turf.buffer(feature, Number($("#distance").val())?Number($("#distance").val())/1000.0:0.6, {units: 'kilometers'}); 
 console.log("buffered:",buffered); 
 var tempgeojsonLayer = L.Proj.geoJson(buffered, { 
 style: bufferstyle, 
             }); 
             bufferLayers.addLayer(tempgeojsonLayer); 
        } 
     } 
  });
……

更多详情以及源码见下面链接

leaflet结合turf.js实现绘制图形缓冲分析buffer(附源码下载) - 小专栏​xiaozhuanlan.com
f688060604ee02ff49dddc280620f5b4.png

对本专栏感兴趣的话,可以订阅一波

GIS之家作品店铺:GIS之家作品店铺

GIS之家源码咨询:GIS之家webgis入门开发系列demo源代码咨询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值