2011-08-25 94 views
3

如何确定给定经纬度是否在美国境内?我希望后端代码能够在美国和美国以外的地区以一种方式行事。由于应用程序的要求,此处不提供IP地理位置选项。确定给定经纬度是否在美国境内

理想情况下,我希望这种情况发生时不会触及外部服务。

+2

您正在查找数据集,而不是编程建议。 – TheBlastOne

+2

或者你可以等到美国完成征服世界其他地方,然后总是返回“真实”:p –

回答

4

如果您将美国表示为多边形,则可以使用“多边形点”算法(例如crossing number test)来测试该点是否位于多边形内。这种类型的查询在O(n)时间内运行,对于具有n边的多边形。

如果你想要的东西更快,但近似的,你可以做你的多边形的(离线)空间分解,通过类似四叉树,并确定在树谎言的边界内,其叶框。对于具有n框的树,找到某个点的封闭叶盒的平均(在线)运行时间将为O(log(n))

希望这会有所帮助。

相关问题