Определение стандартной единицы расстояния из кода страны ISO 3166

ISO 3166 определяет коды стран, такие как GB, US, FR или RU.

Я хотел бы получить разумное окончательное сопоставление этих кодов стран с обычной единицей измерения расстояний между местами в этих странах.

В частности, на iOS и OS X код страны можно получить из NSLocale:

[[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];

NSLocale также предоставляет способ узнать, использует ли страна метрические или неметрические единицы:

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

Однако этого недостаточно. Например, в Великобритании (ГБ) широко используется метрическая система, но расстояния между местами официально измеряются в милях, а не в километрах.

3 ответа

Решение

Я тоже сталкивался с этой проблемой:-)

Страны, которые используют метрическую систему, но по-прежнему используют мили: - 1. ГБ - единственное исключение, в котором по-прежнему используются мили вместо метрики. Примечание: Канада также смотрела использование KM для автомобильного транспорта. Хотя, Канада все еще следует за милями для поезда и конного транспорта

Страны, которые не используют метрическую систему Либерия, Мьянма и Соединенные Штаты Америки. Примечание: Мьянма (бывшая Бирма) планирует перейти на метрическую систему. В настоящее время Мьянма использует свою собственную систему, отличную от имперской и метрической.

В моем приложении я проверяю, использует ли страна имперскую или метрическую систему.

Если (метрическая система), то назначьте км для всех стран, кроме Британии

если (имперский), то назначьте мили для всех стран, кроме Бирмы

если бирма, тогда назначьте единицу бирмы

если британец, то назначь мили

Доступна диаграмма, показывающая страны, использующие мили в час для скорости движения по дорогам. В качестве источника он цитирует статьи Википедии о милях в час, в которых говорится следующее:

К ним относятся дороги в Соединенном Королевстве, [1] Соединенных Штатах,[2] и на территории Великобритании и США; Американское Самоа,[3] Багамские острова,[4] Белиз,[5] Британские Виргинские острова,[6] Каймановы острова,[7] Доминика,[8] Фолклендские острова,[9] Гренада,[10] Гуам, [11] Бирма,[12] Северные Марианские острова,[13] Самоа,[14] Сент-Люсия,[15] Сент-Винсент и Гренадины,[16] Сент-Хелена,[17] Сент-Китс и Невис,[18] острова Теркс и Кайкос,[19] Виргинские острова США,[20], [21] Антигуа и Барбуда (хотя километры используются для определения расстояния),[22] и Пуэрто-Рико (такие же, как и прежние).[22]

Я не вижу способа загрузить его в виде данных из кода страны ISO3166, но его компиляция не так уж и сложна.


Я оставлю этот ответ неприемлемым, если будет доступно лучшее предложение.

Официально, дорожные расстояния в Великобритании указаны в километрах, а дорожные знаки в милях. Смешение? Да! Когда дорожный инженер получает план дороги, все в киолометрах, правительственная статистика в километрах, а дорожные знаки и одометры в милях. Для получения дополнительной информации см. https://en.wikipedia.org/wiki/Driver_location_sign.

Другие вопросы по тегам