从纬度经度查找时区

Mat*_*ard 79 api timezone web-services geocoding

是否有可以从纬度/经度转换为时区的库(甚至更好的Web服务)?

Jam*_*s D 64

对于我正在研究的项目,我深入研究了这个问题.GeoNames.org和EarthTools.com在许多情况下都是不错的选择,但有以下严重缺陷:

  • GeoNames.org通过在数据库中搜索包含时区字段的最近点来查找时区.这通常会导致边界附近的错误结果.它也很慢,导致每个请求的查询时间大约为几秒.如果查询点附近的数据库中没有项目,它也不会返回有效时区.GeoNames还限制了每天可以进行的查询数量,从而使批量操作变得困难.
  • EarthTools.org使用地图并且能够快速返回查询,但它没有考虑大多数地点的夏令时,并且它返回原始偏移而不是时区ID(即,它们返回"GMT-7" "而不是"美国/芝加哥").此外,我只是在准备这篇文章时查看了他们的页面,Google Chrome警告他们网站上的恶意软件.这对我来说是新的,它可能会改变,但显然是令人担忧的原因.

这些缺陷意味着这些现有工具不适合我的需求,因此我推出了自己的解决方案并将其发布以供一般使用.你可以在这里找到它:

http://www.askgeo.com/

AskGeo基于世界的时区地图,因此它为每个有效的纬度和经度返回一个有效的时区.它返回在Linux和大多数其他操作系统和编程框架上使用的标准时区ID(例如,"America/Los_Angeles").它还会返回当前偏移量,同时充分考虑夏令时.

它非常易于使用,并且在网站的主页上记录了使用情况.API支持批量查询,因此如果您需要进行大量查找,请使用批处理界面,而不是使用串行请求使我们的服务器陷入困境.批量查询也快得多,所以每个人都赢了.

当我们首次推出时,我们在Google App Engine(GAE)上构建了它,并向所有用户免费提供.这是可能的,因为当时GAE的价格非常低.从那时起,我们的服务器负载大幅增加,GAE的价格上涨.这两个因素的结合使我们转而使用亚马逊网络服务进行托管,并开始为商业用途收费,同时为非营利,非商业开源项目和研究人员提供免费服务.对于商业用户,我们提供1000个免费查询,让潜在客户评估API以确保其满足他们的需求.有关定价和条款,请访问网站.

底层库是用Java编写的,由于受欢迎的需求,我们还在商业许可下发布了库.网站上提供了完整的图书馆文档和价格详细信息.

我希望这很有用.这当然对我正在进行的项目很有用.

  • 除非我错过了一些不再免费的内容:API可以免费试用,并且可以免费用于非商业和个人用途.开源项目,学生和个人可以免费使用它(根据我们的使用指南).任何希望将API用于商业用途的用户必须每年支付200美元的访问费. (8认同)
  • 感谢您提供这项免费服务.很好的答案,在阅读您的信息性答案之前,我一直在关注GeoNames和EarthTools. (5认同)

Fre*_*rin 28

看看Geonames.org

这是一个免费的Web服务,允许您从long/lat获取大量信息

他们还为GeoNames Webservices库提供了一个免费的(和开源的)Java客户端(也提供了其他语言的库:ruby,python,perl,lisp ...)

以下是您可以从long/lat获得的一些信息:( 完整的web服务列表)

  • 查找最近的地址
  • 查找最近的交叉点
  • 查找附近的街道
  • 海拔
  • 时区


Jih*_*ang 8

Yahoo places API通过反向地理定位提供时区信息.

看看这个.

http://developer.yahoo.com/geo/placefinder/guide/requests.html


Tom*_*Tom 5

你需要多少准确度?将经度除以15几乎是正确的:p

  • 当我做出这个答案时,我非常滑稽,但直到我在尝试解决问题时再次遇到这个问题时我才意识到这个想法是多么无用:http://upload.wikimedia.org/wikipedia/commons /e/e7/Timezones2008.png(除非你在国际水域) (6认同)
  • 从政治的角度来看,使用数学来获取时区并不总是值得推荐.但是,如果需要知道是否有夜晚或白天,这种方法可以在没有任何Web服务的情况下以编程方式解决.谢谢你的想法. (2认同)

Tim*_*nti 5

Eric Muller为 tz (Olson) 数据库的时区制作了shapefile 地图。不过,有一些小警告:

  1. 使用的边界通常是非官方的。
  2. 它不像 tz 数据库本身那样定期更新,因此一些新形成或调整的区域可能会丢失。

然而,撇开这些不谈,它对于大多数用途来说似乎都非常准确。