根据ISO 3166国家/地区代码确定惯用距离单位

时间:2014-07-10 11:13:26

标签: locale iso-3166

ISO 3166定义国家/地区代码,例如 GB 美国 FR RU

我希望从这些国家/地区代码到这些国家/地区之间距离的惯用度量单位有一个明确的确定关联。

特别是在iOS和OS X上,可以从NSLocale

中检索国家/地区代码
[[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];

NSLocale还提供了查看某个国家/地区是使用指标还是非指标单位的方法:

const bool useMetric = [[[NSLocale currentLocale] objectForKey: NSLocaleUsesMetricSystem] boolValue];

然而,这还不够。例如,在英国( GB ),公制系统被广泛使用,但地点之间的距离继续以英里而不是公里为单位进行官方测量。

3 个答案:

答案 0 :(得分:2)

我也遇到了这个问题: - )

使用公制系统但仍使用里程的国家/地区: - 1. GB只是例外,仍然使用英里而不是公制。 注意:加拿大还盯着使用知识管理进行公路运输。虽然,加拿大仍然沿着里程乘坐火车和马匹运输

未使用指标系统的国家 利比里亚,缅甸和美利坚合众国。 注:缅甸(旧缅甸)正计划转向公制。目前,缅甸使用不同于帝国和公制的自己的系统。

在我的应用中,我会检查国家/地区是使用英制还是公制。

if(metric)然后为除britan之外的所有国家/地区分配kms

if(imperial)然后为除缅甸以外的所有国家分配里程

如果缅甸然后分配缅甸单位

如果britan然后指定里程

答案 1 :(得分:0)

显示countries using miles per hour for road speeds的图表可用。它引用了维基百科关于miles per hour的文章作为其来源,其中包括以下内容:

  

这些包括英国的道路,[1]美国,[2]以及英国和美国的领土;美属萨摩亚,[3]巴哈马,[4]伯利兹,[5]英属维尔京群岛,[6]开曼群岛,[7]多米尼加,[8]福克兰群岛,[9]格林纳达,[10]关岛, [11] Burma,[12] N. Mariana Islands,[13] Samoa,[14] St. Lucia,[15] St. Vincent&格林纳丁斯,[16]圣赫勒拿,[17]圣基茨&尼维斯,[18]特克斯和凯科斯群岛,[19]美属维尔京群岛,[20] [21]安提瓜岛和安提瓜群岛。巴布达(虽然公里用于距离),[22]和波多黎各(与前者相同)。[22]

我没有看到以ISO3166国家/地区代码为基础的数据下载方法,但编译一个数据并不是一项艰巨的任务。


如果有更好的建议,我将不接受此答案。

答案 2 :(得分:-1)

据官方统计,英国的公路距离以公里为单位,但道路标志以英里为单位。混乱?是!当一个道路工程师得到一个道路计划,每个标志都是kiolometres,政府统计数字是公里,但道路标志和汽车里程表是英里。有关详细信息,请参阅https://en.wikipedia.org/wiki/Driver_location_sign