Names and codes

knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
library(mongolmaps)

Mongolian place names are written in many ways: Khovsgol, Khuvsgul, Hovsgol, Khövsgöl or Хөвсгөл are the same aimag. mongolmaps gives every unit one code and knows its other names.

The codes

pcode is unique across all levels:

| Unit | pcode | NSO code | ISO 3166-2 | |---|---|---|---| | Mongolia | MN | 0 | MN | | Western region | MNR1 | 1 | | | Khovd aimag | MN84 | 184 | MN-043 | | Jargalant soum (Khovd) | MN8401 | 18401 | | | Ulaanbaatar | MN11 | 511 | MN-1 | | Bayangol district | MN1107 | 51107 | | | Bayangol, 1st khoroo | MN110751 | 5110751 | |

pcodes match the humanitarian Common Operational Dataset (COD) and are the NSO codes without their leading region digit. mn_codes() lists them all:

mn_codes("aimag")
mn_codes("bag", within = "Baganuur")

Bags and villages (tosgon) have codes and names but no public boundary (has_geometry is FALSE).

Matching names

mn_match() turns names or codes into pcodes (or any other column):

mn_match(c("Khuvsgul", "Hovsgol", "Kh\u00f6vsg\u00f6l", "\u0425\u04e9\u0432\u0441\u0433\u04e9\u043b", "MN-041", "267"))
mn_match(c("MN84", "MN8401"), to = "name_mn")

It ignores case, punctuation and words such as "aimag", "province", "soum" or "district" -- but uses them as hints when a name is shared:

mn_match(c("Sukhbaatar", "Sukhbaatar district", "Sukhbaatar soum"), within = c(NA, NA, "Selenge"))

Small typos are matched and reported:

mn_match("Ulanbaatr")

When a name is shared by several units, mn_match() returns NA and says which ones; add within to choose:

mn_match("Bayan-Uul", level = "soum")
mn_match("Bayan-Uul", level = "soum", within = "Dornod")

Transliteration

mn_translit() romanises Cyrillic with a fixed table:

x <- c("\u04e8\u0432\u04e9\u0440\u0445\u0430\u043d\u0433\u0430\u0439", "\u0421\u04af\u0445\u0431\u0430\u0430\u0442\u0430\u0440")
mn_translit(x)
mn_translit(x, to = "nso")

The default is the national standard MNS 5217:2012; to = "nso" gives the plain-ASCII spellings used in NSO English tables.



Try the mongolmaps package in your browser

Any scripts or data that you put into this service are public.

mongolmaps documentation built on Oct. 10, 2026, 5:08 p.m.