php之判断点在多边形内的api
生活随笔
收集整理的这篇文章主要介绍了
php之判断点在多边形内的api
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1、判断点在多边形内的数学思想:以那个点为顶点,作任意单向射线,如果它与多边形交点个数为奇数个,那么那个点在多边形内,相关公式:
<?php class AreaApi{//$area是一个多边形经纬度集合,$lng是经度,$lat是纬度function inArea($area,$lng,$lat){$crossings=0;for($i=0;$i<count($area);$i++){$next_poit=$i+1;if($i==(count($area)-1)){$next_poit=0;}$slope=($area[$next_poit]['lng']-$area[$i]['lng'])/($area[$next_poit]['lat']-$area[$i]['lat']);$cond1=($area[$i]['lat']<=$lat)&&($lat<$area[$next_poit]['lat']);$cond2=($area[$next_poit]['lat']<=$lat)&&($lat<$area[$i]['lat']);$above=($lng<$slope*($lat-$area[$i]['lat'])+$area[$i]['lng']);if(($cond1||$cond2)&&$above){$crossings++;}}if($crossings%2!=0){return 'yes';}else{return "no";}} }2、参考链接:http://blog.csdn.net/shangquan2012/article/details/51912617
转载于:https://www.cnblogs.com/zhylioooo/p/8352617.html
总结
以上是生活随笔为你收集整理的php之判断点在多边形内的api的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 攻城锤-1重型坦克带什么军官?
- 下一篇: ubuntu:通过封装验证码类库一步步安