php判断坐标是否在指定的多边形中「建议收藏」

php判断坐标是否在指定的多边形中

大家好,又见面了,我是全栈君。

点击上方“码农编程进阶笔记”,选择“关注公众号”

技术文章第一时间送达!

如何判断一个坐标点是否在一个多边形中,具体的应用场景就是,外卖派送,用户提供的坐标是否是在外卖的派送范围之内。用户的坐标可以通过手机设备获取到,派送范围就是通过在地图上,进行多边形的绘制,获取多个坐标点连接起来的配送范围。下面来看看代码上是如何简单判断的。

mjaschen/phpgeo是一个php的geo的库,提供了一些关于地理经纬度相关的功能,例如地理围栏、距离计算等。

坐标点参考腾讯地图的demo:

https://lbs.qq.com/javascript_v2/case-run.html#sample-overlay-polygon-contains

首先composer安装此包: PHP要求至少大于7

composer require mjaschen/phpgeo

然后编写测试代码:

<?php
require './vendor/autoload.php';
 
//引入两个类
use Location\Coordinate;
use Location\Polygon;
 
//绘制一个多边形
$geo = new Polygon();
 
$geo->addPoint(new Coordinate(39.930131, 116.417301));
$geo->addPoint(new Coordinate(39.930131, 116.377476));
$geo->addPoint(new Coordinate(39.911305, 116.377476));
$geo->addPoint(new Coordinate(39.911305, 116.417301));
 
//两个坐标做测试
$a = new Coordinate(39.916527, 116.397128);
$b = new Coordinate(39.901305, 116.397128);
 
//判断是否在执行的多边形中
if ($geo->contains($a)) {
    echo "a点在多边形的范围内";
} else {
    echo "a点不在多边形的范围内";
}
 
echo "<br/>";
 
if ($geo->contains($b)) {
    echo "b点在多边形的范围内";
} else {
    echo "b点不在多边形的范围内";
}

结果:

php判断坐标是否在指定的多边形中「建议收藏」

php开发中常用的Composer包

php判断坐标是否在指定的多边形中「建议收藏」

php判断坐标是否在指定的多边形中「建议收藏」

相关视频教程:PHP高级实战教程全集(43集)

获取方式:进入公众号回复关键字:【 PHP高级实战 】

关注公众号,回复「进群」即可进入PHP高级技术交流群。

php判断坐标是否在指定的多边形中「建议收藏」

(扫码关注,获取更多知识讲解)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112053.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月11日 上午9:00
下一篇 2022年2月11日 上午9:00


相关推荐

  • 不同组织的窗宽窗位

    不同组织的窗宽窗位头颅,脑组织:窗宽设定为80Hu~100Hu,窗位为30Hu~40Hu,垂体及蝶鞍区病:变窗宽宜设在200Hu~250Hu,窗位45Hu~50Hu,脑出血患者可改变:窗宽位80Hu~140Hu,窗位30Hu~50Hu,脑梗死患者:常用窄窗60Hu,能提高病灶的检出率,清楚显示梗死及软化灶,颌面部眼眶:窗宽定为150Hu~250Hu,窗位30Hu~40Hu,…

    2022年6月20日
    39
  • dsp28335复位电路_28335串口不能中断

    dsp28335复位电路_28335串口不能中断0前言本期实验目标:采用外部中断方式响应按键触发,实现LED电平反转。外部中断是DSP十分常用的功能,通常用来响应一些控制操作,比如判断按键是否按下,传感器是否接收到信号等等。那么通过该例程,大家则可以快速学会使用外部中断的功能!本节仍然将分为硬件部分、软件部分和实验展示三个方面进行介绍。1硬件部分DSP28335支持XINT1-XINT7和XNMI共8路外部中断源,其中中断源XINT1/2和XNMI可以设定为从GPIO端口A的任意一个管脚输入,即GPIO0-GPIO31。而XINT3/4/5/

    2025年9月26日
    7
  • 硬币问题 动态规划_动态规划

    硬币问题 动态规划_动态规划动态规划-硬币问题分析

    2022年4月22日
    54
  • python浮雕图片_用Python来画浮雕画

    python浮雕图片_用Python来画浮雕画浮雕艺术在世界各地都可以见到,中国古代在唐朝以来就有许多浮雕效果的东西,很多的大型纪念性建筑都有这种作为装饰,常见的有花窗,龙柱等。简单的来说,浮雕就是把所要呈现的图像突起于石头表面,根据凹凸的程度不同从而形成三维的立体感。用Python画一张浮雕画,那就进行类似的原理,通过勾画图像的轮廓,并且降低周围的像素值,那就可以产生一张具有立体感的浮雕效果图片。我们可以采用相邻像素相减的方法来得到轮廓与平…

    2022年6月20日
    32
  • SQL Server中的聚集索引(clustered index) 和 非聚集索引 (non-clustered index)

    SQL Server中的聚集索引(clustered index) 和 非聚集索引 (non-clustered index)本文转载自http://blog.csdn.net/ak913/article/details/8026743面试时经常问到的问题:1.什么是聚合索引(clusteredindex)/什

    2022年8月4日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号