Bag level ready for NSO data: mn_bags() and mn_read_bags() read and check a bag boundary file, and codes and names of all bags are built in.
Names and codes: mn_match() resolves English spellings, Cyrillic, NSO codes, ISO 3166-2 codes and P-codes; mn_codes() lists every unit; mn_translit() romanises Mongolian Cyrillic (MNS 5217 or NSO style).
mn_join() joins data to boundaries in one step, detecting the level and dropping totals from NSO tables. Ulaanbaatar’s values come from the Ulaanbaatar region row (code 5) when a table leaves the capital’s own row
Rasters (with terra): mn_elevation() and mn_hillshade() (Copernicus DEM, 1 km national or 90 m by area), mn_landcover() (ESA WorldCover, 1 km or 10 m), mn_population() (WorldPop 2015-2030, 1 km or 100 m) and mn_zonal() to summarise them over any map units. mn_map() draws rasters as well as polygons.