当前位置: 首页 > wzjs >正文

如何用爬虫做网站监控谷歌广告代理公司

如何用爬虫做网站监控,谷歌广告代理公司,免费ppt模板下载应用,酒店网站建设策划方案文章目录 前言分割矢量多边形 一、安装turf二、加载高德三、绘制图形四、计算交点五、编写获取子多边形的函数六、调用分割函数并绘制图像七、效果 前言 分割矢量多边形 一、安装turf npm i turf/turf二、加载高德 AMapLoader.load({key: "你的key", // 申请好的…

文章目录

  • 前言
    • 分割矢量多边形
  • 一、安装turf
  • 二、加载高德
  • 三、绘制图形
  • 四、计算交点
  • 五、编写获取子多边形的函数
  • 六、调用分割函数并绘制图像
  • 七、效果


前言

分割矢量多边形

一、安装turf

npm i @turf/turf

二、加载高德

AMapLoader.load({key: "你的key", // 申请好的Web端开发者Key,首次调用 load 时必填version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15plugins: ["AMap.PolygonEditor", "AMap.LngLat", "AMap.Polygon"], // 需要使用的的插件列表,如比例尺'AMap.Scale'}).then((AMap) => {//此处处理后续操作
}

三、绘制图形

 map = new AMap.Map("container", {// 设置地图容器idviewMode: "3D", // 是否为3D地图模式zoom: 13, // 初始化地图级别center: [116.471354, 39.994257],});// 绘制折线var polylinePath = [[116.478, 40.000296],[116.478603, 39.997534],[116.478, 40.000296],];// 创建折线实例var polyline = new AMap.Polyline({path: polylinePath,strokeColor: "#FF0000",strokeWeight: 5,lineCap: "round",});map.add(polyline); // 添加至地图// 绘制多边形var polygonPath = [[116.475334, 39.997534],[116.476627, 39.998315],[116.478603, 39.99879],[116.478529, 40.000296],[116.475082, 40.000151],[116.473421, 39.998717],[116.475334, 39.997534],];// 创建多边形实例var polygon = new AMap.Polygon({path: polygonPath,fillColor: "#FFC0CB",strokeColor: "#000000",strokeWeight: 2,});map.add(polygon); // 添加至地图

四、计算交点

 // 格式转化// 转换折线为Turf线段var turfPolyline = turf.lineString(polylinePath.map((p) => [p[0], p[1]]));// 转换多边形为Turf多边形var turfPolygon = turf.polygon([polygonPath.map((p) => [p[0], p[1]])]);// // 计算折线与多边形的交点var intersections = turf.lineIntersect(turfPolyline, turfPolygon);// 获取交点数量var intersectionCount = intersections.features.length;console.log("交点个数:", intersectionCount);console.log("交点:",intersections.features.map((i) => i.geometry.coordinates));

五、编写获取子多边形的函数

function polygonCut(poly,line,tolerance = 0.001,toleranceType = "kilometers") {// 1. 条件判断if (poly.geometry === void 0 || poly.geometry.type !== "Polygon")throw "传入的必须为polygon";if (line.geometry === void 0 ||line.geometry.type.toLowerCase().indexOf("linestring") === -1)throw "传入的必须为linestring";if (line.geometry.type === "LineString") {if (turf.booleanPointInPolygon(turf.point(line.geometry.coordinates[0]),poly) ||turf.booleanPointInPolygon(turf.point(line.geometry.coordinates[line.geometry.coordinates.length - 1]),poly))throw "起点和终点必须在多边形之外";}// 2. 计算交点,并把线的点合并let lineIntersect = turf.lineIntersect(line, poly);const lineExp = turf.explode(line);for (let i = 0; i < lineExp.features.length - 1; i++) {lineIntersect.features.push(turf.point(lineExp.features[i].geometry.coordinates));}// 3. 计算线的缓冲区const lineBuffer = turf.buffer(line, tolerance, {units: toleranceType,});// 4. 计算线缓冲和多边形的difference,返回"MultiPolygon",所以将其拆开var _body = turf.difference(turf.featureCollection([poly, lineBuffer]));console.log(_body, 134);let pieces = [];if (_body.geometry.type === "Polygon") {pieces.push(turf.polygon(_body.geometry.coordinates));} else {_body.geometry.coordinates.forEach(function (a) {pieces.push(turf.polygon(a));});}return pieces;}

六、调用分割函数并绘制图像

let polygons = polygonCut(turfPolygon, turfPolyline);// 绘制子多边形(根据需求将数据保存只后台)var polygon1 = new AMap.Polygon({path: [polygons[0].geometry.coordinates],fillColor: "red",strokeColor: "#000000",strokeWeight: 2,});map.add(polygon1); // 添加至地图var polygon2 = new AMap.Polygon({path: [polygons[1].geometry.coordinates],fillColor: "green",strokeColor: "#000000",strokeWeight: 2,});map.add(polygon2); // 添加至地图

七、效果

在这里插入图片描述


文章转载自:

http://hgKrwRzM.bfrff.cn
http://TS3nP28V.bfrff.cn
http://DCqJe0bc.bfrff.cn
http://KkEX4m5o.bfrff.cn
http://s5iC8VLc.bfrff.cn
http://OwWzsZtb.bfrff.cn
http://VpcpekGz.bfrff.cn
http://DYrn565T.bfrff.cn
http://Zev4UFnn.bfrff.cn
http://7yl4yY9Y.bfrff.cn
http://cKDqDJc8.bfrff.cn
http://1m965OhA.bfrff.cn
http://diotNiPx.bfrff.cn
http://sjfDKH6N.bfrff.cn
http://Ga56LrrT.bfrff.cn
http://cRcCv4WV.bfrff.cn
http://QnnAp6sB.bfrff.cn
http://eQNqzTuM.bfrff.cn
http://VfBcKhPg.bfrff.cn
http://TQpGUJP6.bfrff.cn
http://Q2nCnpp7.bfrff.cn
http://wXaU1zdM.bfrff.cn
http://9ySVtvTo.bfrff.cn
http://cOSOhGda.bfrff.cn
http://wiZV2m8B.bfrff.cn
http://RzQW2qC3.bfrff.cn
http://WQ0cbb0z.bfrff.cn
http://QZQRp97G.bfrff.cn
http://ODwc9r6z.bfrff.cn
http://KYAieQAX.bfrff.cn
http://www.dtcms.com/wzjs/712693.html

相关文章:

  • 做网站是什么专业什么工作wordpress远程图片本地化插件
  • 网站页面设计与制作实践网页版微信二维码怎么扫
  • 怎样做简单公司网站wap网站 微信登录
  • 东莞网站关键排名培训机构咨询
  • 网站建设商虎小程序娱乐公司网站建设价格
  • 网站域名格式西安市建设工程信息网诚信信息平台诚信承诺书在哪儿下载
  • 茶具网站模板桥梁建设网站在哪里可以投稿
  • 免费永久网站注册wordpress 建论坛
  • 网站 建设运行情况报告wordpress删除文章数据库
  • 网站建设的建议和意见网站建设兼职在哪找
  • 想要自己做一个网站怎么做网站建设案例精粹 电子书
  • 烟台做网站的价格网站SEO优化托管
  • wordpress字段seo赚钱暴利
  • 培训机构不退钱最怕什么举报厦门seo管理
  • 做网站和推广公司商城网站 备案
  • 中国沈阳网站在哪里下载wordpress4.8.3安装
  • 衡水住房和城乡建设局网站青岛专业制作网站的公司吗
  • 如何给企业做网站网站建设有那些内容
  • 保险网站建设的目标外贸建站主机空间哪家好
  • 网站建设收费标准策划站酷网官方入口网页版
  • 网站建设越秀wordpress不能创建怎么解决方法
  • 网站建设需注意的destoon 网站搬迁
  • 大型门户网站建设哪家好秦皇岛城市建设局官网
  • 什么网站做调查能赚钱wordpress机械模板下载
  • 网站建设样板济南网站假设推广
  • 爱看视频的网站钢构网架公司
  • 2017做网站挣钱吗北京建设银行
  • 浏阳企业网站建设找人做网站被骗
  • 制作网站网站网站建设浦东
  • 长春网站开发推荐织梦模板库