【问题标题】:Check if a coordinate lie in a Polygon [closed]检查坐标是否位于多边形中[关闭]
【发布时间】:2020-04-14 17:25:02
【问题描述】:

我在数据库中有几个坐标组成了以下多边形,我想检查用户请求/坐标是否在这个红色区域下,那么它应该返回 true,如果请求/坐标在这个区域之外, 它应该返回 false。

我在后端使用 Laravel 和 Js,并为此使用谷歌地图。 我只想制作一个 API 来检查它是否位于当前区域。

【问题讨论】:

    标签: php laravel google-maps google-maps-api-3 polygon


    【解决方案1】:

    我喜欢这个问题!答案很酷!

    您需要计算 X 轴穿过多边形的次数。如果数字是奇数,它在你的里面,如果是偶数或零,它在外面!

    这是一个描述它的链接。 https://www.geeksforgeeks.org/how-to-check-if-a-given-point-lies-inside-a-polygon/

    【讨论】:

      【解决方案2】:

      你应该检查 turf.js https://turfjs.org/ 这是一个空间分析库。

      turf.booleanPointInPolygon() 方法正是你想要的。

      https://turfjs.org/docs/#booleanPointInPolygon

      来自网站文档:

      获取一个点和一个多边形或多多边形并确定是否 点位于多边形内。多边形可以是凸的或 凹。该函数可以解决漏洞。

      您只需要将点和多边形设为 GeoJSON 格式(turf.js 也有从其他格式转换为 GeoJSON 的方法)。

      【讨论】:

      • 谢谢,真的很有帮助。但是由于我的 Api 在 Laravel 中,所以我不得不调用 js 文件,该文件返回它的结果集。但它奏效了!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 2017-09-29
      • 2012-12-06
      • 2017-08-08
      • 1970-01-01
      相关资源
      最近更新 更多