首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有基于坐标返回TimeZone或偏移量的函数?

有没有基于坐标返回TimeZone或偏移量的函数?
EN

Stack Overflow用户
提问于 2012-10-30 21:44:57
回答 1查看 905关注 0票数 2

有没有一个函数可以在给定坐标的情况下返回时区(或距某个“支点”的偏移量,如GMT或UTC)?

我想(假设"TimeZoneType“是一个类或枚举):

代码语言:javascript
复制
TimeZoneType timeZone = getTimeZoneForCoordinates(<latitude>, <longitude>);

-or:

代码语言:javascript
复制
int timeZoneDifferential = getTimeZoneOffsetFromUTCForCoordinates(<latitude>, <longitude>);

我在这里和在gis.stackexchange上发布这个问题之间左右为难。如果有人建议我这样做,我会删除这个问题并将其发布到……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-29 04:47:45

一个简单的问题,一个重要的答案:

很少有公司能够做到这一点。iphone是我所知道的第一个可以从地理位置确定timeZone的设备。即使我的TomTom导航也不能做到这一点,我必须手动输入TimeZone偏移量。

下面是你将如何做到这一点。

  1. 购买一些xxx欧元的navteq "WorldMaps",或去更便宜的使用OpenStreetMap。进行一些转换之后,您将获得世界上每个国家的多边形。这样的国家通常会有50.000个或更多的点代表国家边界。

  1. 一旦有了多边形,你就必须编写一个函数,给出给定(稍后/稍后)的countryPolygonId (或countryID)。

(countryId = findCountry(lat,lon);//使用多边形方法中的点

  • 一旦您有了国家,您必须找到下一个大城市:您需要有一个系统的TimeZone模块支持的城市列表(我认为这是有规范的,但我不确定。)

然后,您必须将countryId,cityId转换为类似“奥地利/维也纳”的字符串。这是您的TimeZone,您可以使用TimeZone zt = new TimeZone(“奥地利/维也纳”)进行初始化;

我希望这很有趣,但这对实现和获取该任务所需的数据要求很高。

我已经针对不同的用例执行了步骤1和2。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13140364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档