我一直在研究CLDR和IANA,以便找到UN / LOCODE到Olsen时区的集中映射。
理想情况下,我希望有例如:
+--------------+--------------------+
|un_locode |timezone |
+--------------+--------------------+
|USLAX | America/Los_Angeles|
+--------------+--------------------+
每个UN / LOCODE 。
我的nube技能是否让我无法理解如何使用这些来源达到我的目标? (如果是这样,请帮助我指向允许我自动提供这些映射的脚本)。
或者,这些来源是否无法获得我正在寻找的数据关联? (如果是,请告诉我,如果您有可靠的来源)。
答案 0 :(得分:2)
GeoNames free database of cities(可供下载)提供:城市名称,纬度/经度,最重要的是时区信息。您可以根据名称/国家/坐标,快速建立自己的数据库,将此信息与UN/LOCODE code lists相关联。
答案 1 :(得分:2)
我们遇到了完全相同的问题,因此不得不提供解决方案。
此解决方案涉及将UN / LOCODES数据库与地理位置/时区数据库相关联。 Matt Johnson的回答和随附的评论记录了这种方法的一些注意事项。
即:
以下存储库https://github.com/Portchain/un_locodes_sql包含提取和链接数据的代码。它输出一个可以导入PostgreSQL DB的SQL文件。 地理位置/时区数据基于geo-tz [3]模块,该模块似乎从timezone-boundary-builder [4]中获取数据。
同样,我们的存储库提供的列表当然不完整且不准确。如果您在数据中看到任何错误,请打开github问题,让我们制作一份准确的开源UN / LOCODE列表,坐标和时区信息。
答案 2 :(得分:1)
我没见过这样的消息来源。您可以尝试通过映射具有它们的条目的纬度/经度坐标来创建一个,并通过one of the methods listed here与IANA时区相关联。
但是,请务必阅读Wikipedia's article about UN/LOCODE,特别是用坐标描述错误。另请注意,许多坐标根本就不在数据中 - 为什么?我不知道。
list of UN/LOCODE for the US is here,并将洛杉矶显示为US LAX
(不是UNLAX
)。其坐标字段为空白。
如果您能找到其他可靠的UN / LOCODE来源,那么您就可以开展业务了。快速搜索发现GeoNames claims to have this in their premium data subscription,但我没有进一步调查。
答案 3 :(得分:0)
CLDR的地图在这里:https://unicode.org/reports/tr35/#Time_Zone_Identifiers
我看到CLDR带有标签,但没有提及。