js根据坐标判断构成单个多边形是否合法

本文介绍如何在JavaScript中根据坐标判断用户在高德地图上绘制的多边形是否合法。关键在于检查相邻线段之间是否存在交点。
摘要由CSDN通过智能技术生成

前言

需求:在高德地图中判断用户绘制的围栏是否合法。

核心解决点:倒序依次判断如果是相邻的二根线段,判断是否有交点,非相邻的线段不相交。

安装

npm install  @turf/helpers  @turf/line-intersect

代码

/**
 * geometric 几何工具库
 * @author maybe
 * @license https://gitee.com/null_639_5368
 */
import * as  turf from "@turf/helpers"
import lineIntersect from "@turf/line-intersect"
/**
 * 坐标转线段
 * @param {*} path 
 * @returns {arr}
 */
export function pathToLines(path) {
   
    const lines = [];

    path.forEach((p, pi) => {
   
        let line;
        if (pi == path.length - 1) {
   
            line = turf.lineString([path[pi], path[0]]);
            lines.push(line)
            return;
        }
        line = turf.lineString([path[pi], path[pi + 1]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值