登录
首页 >  Golang >  Go问答

确定给定位置是否在多边形或多段线的内部或附近的GOOGLE MAPS API

来源:stackoverflow

时间:2024-02-10 17:09:24 236浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《确定给定位置是否在多边形或多段线的内部或附近的GOOGLE MAPS API》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我的 API 是关于确定给定点是否位于多边形或多段线内部或附近。我知道有一个使用 Javascript 的解决方案,但我不知道如何使用 Go Lang 来做到这一点。


正确答案


假设不允许进行预处理,您可以通过考虑穿过该点的水平线来检查内部情况。当一条边在该线的两侧都有端点时,它就穿过多边形轮廓。然后您可以检查边缘和线的交点是否位于该点的右侧。正确交叉点的数量告诉您内部情况(奇数意味着内部)。

https://math.stackexchange.com/q/590830/1020730

距离计算稍微复杂一些。依次考虑每条线段,设PQ。应用将 P 带到原点的平移,然后进行将 Q 带到 (D, 0) 的旋转。现在,让 R 成为变换后的目标点。如果0≤Rx≤D,则到该线段的距离为|Ry|。否则,认为它是无限的。那么,到折线的距离是到所有线段的距离和到所有顶点的距离中最短的。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>