如何确定给定的纬度/经度是否在美国境内?我希望后台代码在美国境内和美国境外以某种方式运行。由于应用程序的要求,IP地理位置在这里不是一个选项。
理想情况下,我希望这种情况在不影响外部服务的情况下发生。
最佳答案
如果您将我们表示为多边形,则可以使用“多边形中的点”算法(如crossing number test)来测试该点是否位于多边形内。对于具有O(n)
边的多边形,此类查询在n
时间内运行。
如果你想要更快,但近似,你可以做一个(离线)的多边形分解,通过像四叉树之类的东西,并确定树中的哪些叶框位于边界内。找到点的封闭叶框的平均(联机)运行时,对于具有O(log(n))
框的树来说将是n
。
希望这有帮助。