如何识别python中的当前位置?

时间:2010-06-30 13:17:04

标签: python geolocation

我的客户在德国和美国有两个办事处,一个python程序应该识别办公地点。实现这一目标最优雅的方式是什么?它只需要承认这个国家。此外,也可能没有永久的互联网连接。该程序适用于Windows,但解决方案应该是独立于操作系统。

有什么建议吗? 感谢

1 个答案:

答案 0 :(得分:5)

AFAIK,没有优雅的解决方案。你可以做出有根据的猜测,然后举个例子:我在德国拔掉笔记本电脑并去美国。我把它插在美国办公室 - 区域设置是相同的,时区没有改变,现在是什么?

您可以猜测的事情:

  • 区域和语言设置(但美国的德语可以使用de_DE)
  • 时区(但是我们在纽约或巴西吗?相同的TZ偏移;在您的情况下,(PDT / EDT)和CET是不同的)
  • 内部IP地址(假设您的办公室有不同的内部寻址(例如“10.5.20.0/24 - 德国,192.168.4.0 / 24 - 美国”; VPN是什么,未连接设备怎么样?)
  • 外部IP地址(如果你需要在美国/欧洲的规模上准确,这是可以接受的;当然,VPN会搞砸这个问题,并且问题说外部连接可能不可用)。
  • 列出哪个计算机位于哪里(凌乱且难以维护)
  • 保留哪个用户所在的列表
  • 记住此计算机在上次程序启动时的位置(以及是否已手动更正)

通过为每个事物分配一个分数,并检查每个分数,您可以获得计算机所在的概率分数。你可能会得到一些不正确的猜测,所以也要进行手动覆盖。

在一般情况下,综合得分可能非常准确;你需要做的是找到边缘和角落的情况,然后找到一些方法来识别它们。