FIPS Publication 10-4, COUNTRIES, DEPENDENCIES, AREAS OF SPECIAL SOVEREIGNTY, AND THEIR PRINCIPAL ADMINISTRATIVE DIVISIONS, as well as its predecessor FIPS Publication 10-3, provides a list of the basic geopolitical entities in the world, together with the principal administrative divisions that comprise each entity.
The codes for basic geopolitical entities are made of two letters (e.g. US for the United States of America). The codes for principal administrative divisions are four letters: the first two are the letters for the entity and the last two enumerate the regions (01, 02, ..., 99, A1, A2, ..., A9, B1, ...).
Over time, as the entities and divisions adressed by FIPS 10-4 change, some codes are retired and others are added. The principle is that a code corresponds to a geographic area. For example, the “old” Maluku division of Indonesia was split in the “new” Maluku division and the Maluku Utara division. The old division had the code ID16, and the two new divisions have the codes ID28 and ID29 respectively; thus there are different codes for the old and new Maluku, because they have different geographical extents. Such changes are announced in change notices, Change Notice 6 in this case.
While the principle is generally followed, there are exceptions. For example, the Selangor state of Malaysia (MY12) was split into Putrajaya (which received code MY17) and a “new” Selangor state, and a code should have been assigned to that “new” state. Instead, MY12 ambiguously represents the “old” and the “new” Selangor state.
For our purposes, we sometime want to augment FIPS 10-4 with codes for divisions which have not been recorded. All the virtual codes we add are of the form xx_A, xx_B, ...
The names used by FIPS 10-4 may not always be the most appropriate for a given use, and may even contains obvious mistakes. Since our goal is to expose the FIPS 10-4 data, we do not try to “improve” those names or correct mistakes. We treat the names given by FIPS 10-4 as almost arbitrary labels, with the expectation that they can be mapped, by means external to FIPS 10-4, to any set of names one may prefer. One such external mean is the list of names from the US Board on Geographic Names.
The primary source of the data is:
In addition, the script tabulate.sh produces fips-tabular.txt that makes it a bit easier to see the evolution of the codes over time.
All the files are in UTF-8, one record per line, fields delimited by _ (underscore):
Bahrain: In 2002, five governorates were established (by this decree). Change notice 12 adds five codes, but removes only one of the old ones. Given the pattern followed in similar situations, it seems that all codes before BA15 should have been retired, not just BA03.
Bangladesh: BG87 (Rangpur) is the result of a split of the Rājshāhi division, BG83; a FIPS code should have been assigned to the resulting Rājshāhi division.
Buthan: BT23 (Gasa) is the result of a split of the Punakha (BT15) district; a FIPS code should have been assigned to the resulting Punakha district. BT24 (Trashi Yangtse) is the result of a split of the Trashigang (BT19) district; a FIPS code should have been assigned to the resulting Trashigang district.
Kazakhstan: Version 400 has a single code KZ for the country, and version 401 introduces codes for the 14 oblasts and 3 cities as they exist in 2000. Using the history described at http://www.statoids.com/ukz.html, we can recreate the lineage from the 19 oblasts and 1 city as they existed at the time Kazakhstan became independent. We have assigned virtual FIPS 10 codes to the entities, and use the statoid names:
Liberia: LI07 (Monrovia) does not appear as a division in any source. Secondary sources indicate four counties which are not present in the primary sources:
Malaysia: MY17 (Putrajaya) is the result of a split of the Selangor state, MY12; a FIPS code should have been assigned to the resulting Selangor state. MY15 (Labuan) is the result of a split of the Sabah state; there is a code for the resulting Sabah state (MY16) but no code for the resulting Selangor state.
Mongolia: MG24 (Govisumber) is the result of a split of the Dornogovi province, MG07; a FIPS code should have been assigned to the resulting Dornogovi province.
New Zealand: versions before 410 correspond to the organization before 1989, in 22 local government regions. In 1989, New Zealand reorganized in 14 regional concils. A further adjustment occurred in 1992, and FIPS version 410 captures the result of that further adjustment, except that it does not include a code for the newly formed Tasman region. Here is a picture starting from the 1989 situtation, with virtual codes:
North Korea: FIPS 10-4 still includes KN14 Namp'o-si. According to Wikipedia, was a provincial-level Directly Governed City (Chikhalsi) from 1980 to 2004, when it was designated a "Special City" (T'ŭkgŭpsi) and made a part of South P'yŏngan (KN15). On the other hand, it is lacking codes for the Kumgangsan Tourist Region (Kŭmgangsan Kwangwang Chigu) and the Sinuiju Special Administrative Region (Sinŭiju T'ŭkpyŏl Haengjŏnggu).
Spain: FIPS 10-4 does list the 17 autonomous communities, but does not list the 2 autonomous cities, Ceuta and Melilla.
Sri Lanka: FIPS 10-4 (all versions listed here) lists the 25 districts. There is also a subdivision in 9 provinces, which is not accounted by any of the primary FIPS sources, but is returned as the result of a ADM1 query on the NGA name server (http://geonames.nga.mil/ggmagaz/geonames4.asp, “lookup tables”, “ADM 1 codes”) and is described in many secondary sources. Note that there is a single code for the two provinces Eastern and Northern:
|Eastern||CE31, North Eastern|
United States: FIPS 10-4 does not have a code for the Guantanamo Bay base: we will use US_A.
The change notices do not detail the changes. For example, change notice 10 only describes that AF20 and AF22 have been replaced by AF39 through AF42. However, looking at the history of changes at http://www.statoids.com, we can see that this corresponds to two independent changes, AF20 replaced by AF39 and AF41 on the one hand, and the AF22 replaced by AF40 and AF42 on the other. The table below attempts to capture the changes to the smallest level of granularity. Many thanks to Gwillim Law describing the changes with enough details. This table does not yet capture the changes from version 399 to version 400.
apparently not covered by previous versions
|AF||300||AF04 AF12 AF25||AF30 AF31 AF32 AF33|
|409||AF15 AF16||AF34 AF35 AF38|
apparently, 10 of the original counties split
|409||AL* (01-39)||AL* (40-51)||36 districts reorganized in 12 counties|
|BA||412||BA03||BA15 BA16 BA17 BA18 BA19||According to Wikipedia, the first level administrative boundaries of Bahrain have changed in July 3, 2002, from 12 municipalities to 5 governorates. Change notice 12 seems to address this, and one could have expected that the 12 municipalities (BA01-03, BA05-06, BA07-BA14) would have been retired, but they have been retained. Also, the Wikipedia names for the governorates are English names, while FIPS uses Arabic names: Central = BA19, Northern = BA18, Muharraq = BA15, Southern = BA17, Capital = BA16.|
|BE||407||BE02||BE10 BE11 BE12|
|BG||401||BG* (01-79)||BG* (80-83)|
|410||BG80||BG84 BG85 BG86|
|BU||405||BU* (29-37)||BU* (38-65)|
|CB||401||CB01 CB06 CB11 CB15 CB16||CB20 CB21 CB22 CB23 CB24 CB25 CB26 CB27 CB28|
|CD||413||CD04||CD15 CD18 CD21|
|CG||402||CG07||CG10 CG11 CG12|
|DA||412||DA* (01-16)||DA* (17-21)|
|DJ||410||DJ02 DJ03||DJ06 DJ07 DJ08|
|EN||401||EN06 EN09 EN15||merged into EN03|
|401||EN10||merged into EN11|
|401||EN16||merged into EN01|
|401||EN17||merged into EN18|
|ET||407||ET* (01-43)||ET* (44-54)|
|EZ||406||EZ* (01-77 minus 52)||ET* (78-90 plus 52)|
|FI||402||FI02 FI03 FI04 FI05 FI07 FI09 FI10 FI11 FI12||FI13 FI14 FI15|
|407||GV20||GV33 GV34 GV35|
|407||GV14 GV26||GV32 GV37 GV39|
|IC||410||IC* (01-37)||IC* (38-45)|
|ID||403||ID27||TT||creation of TIMOR LESTE|
should probably be:
|410||IR30||IR41 IR42 IR43|
|406||IV04 IV43 IV58||IV61 - IV73|
|410||IV * (01-73)||IV * (74-92)|
|JO||402||JO07 JO10 JO11 JO13 JO14||JO15 JO16 JO17 JO18 JO19 JO20 JO21 JO22 JO23|
|412||KU03 KU06||KU07 KU08 KU09|
|LA||401||LA04 LA05 LA06 LA08 LA09 LA10 LA11||LA15 LA16 LA17 LA18 LA19 LA20 LA22 LA23 LA24 LA25 LA26 LA27|
|LE||401||LI03 LI04 LI06 LI08||LI11 LI12 LI13 LI14|
|MD||404||MD* (01-45 minus 13)||MD* (46-56 plus 13)|
|410||MD* (13, 46-56 minus 51)||MD* (57-92 plus 51)|
|MG||408||MG05 MG22||MG23 MG24 MG25|
|409||MI14||MI27 MI29 MI30|
|MO||401||MO33||MO42 MO43 MO44|
|410||MO* (01-44 minus 33)||MO* (45-58 plus 33)|
|MV||401||MV* (01-29 minus 01 and 05)||MV* (30-47 plus 01 and 05)|
|NH||402||NH* (05-15 minus 07, 13, 15)||NH* (16-18 plus 07, 13, 15)|
|404||NI34 NI38||NI45 NI47 NI53|
|401||NL12 NL13 NL14|
|NZ||410||NZ* (01-E6 minus 10)||NZ* (E7-G3 plus 10)|
|PA||401||PA03 PA21||PA24 PA22|
|PL||402||PL* (01-71)||PL* (72-87)|
|QA||409||QA05 QA07||QA10 QA11 QA12|
|412||RS18 RS74 RS39||RS91|
|RW||411||RW* (01-10)||RW* (11-15)|
|SE||410||SE04 SE13 SE15 SE16 SE21||SE24 SE25 SE26 SE27 SE28 SE29 SE30|
|SG||410||SG04 SG08||SG13 SG14 SG15|
|SI||409||SI10 SI18 SI21 SI23 SI33 SI41 SI43 SI48 SI56 SI58 SI59 SI60 SI63 SI65 SI67 SI69 SI70 SI75 SI85 SI90 SI93 SI95 SI96 SIA4 SIA5 SIA9 SIB5 SIC3 SID9 SIE4 SIE8||SIF4 ... SFN8|
|411||SO11 SO15||SO18 SO19 SO22|
|SU||401||SU* (26-34 minus 29)||SU* (35-59 plus 29)|
|401||SW01 SW04 SW17||SW28|
|TH||401||TH21||TH73 TH78||creation of Mukdahan province out of Nakhon Phanom province in 1982|
|401||TH71||TH75 TH77||creation of Amnat Charoen province out of Ubon Ratchathani province in 1993|
|401||TH19||TH76 TH79||creation of Nong Bua Lamphu province out of Udon Thani province in 1993|
|401||TH45||TH74 TH80||creation of Sa Kaeo province our of Prachinburi province in 1993|
|TO||410||TO* (01-21)||TO* (22-26)|
|TU||405||TU01 TU18 TU27 TU36 TU67||TU81 TU82 TU83 TU84 TU85 TU86 TU87 TU88 TU89 TU90 TU91 TU92 TU93|
|UG||401||UG* (05-25)||UG* (26-64)|
|409||UG35||UG79 UG81 UG85|
|UK||407||UK* (01-97)||UK* (A1-Z4)|
|UV||409||UV16 UV17 18 UV22 UV23 UV24 UV25 UV26 UV27 UV29 UV30 UV31 UV32 UV35 UV37 UV38 UV39 UV41 UV43||UV45 UV46 UV47 UV48 UV49 UV50 UV51 UV52 UV53 UV54 UV55 UV56 UV57 UV58 UV59 UV60 UV61 UV62 UV63 UV64 UV65 UV66 UV67 UV68 UV69 UV70 UV71 UV72 UV73 UV74 UV75 UV76 UV77 UV78|
|UZ||407||UZ04 UZ11||UZ15 UZ16|
|YM||409||YM06 YM07 YM09 YM12 YM13 YM17||YM18 YM19 YM20 YM21 YM22 YM23 YM24 YM25|
To the extent possible under law, Eric Muller has waived all copyright and related or neighboring rights to this page, the data files and scripts it presents. This work is published from the United States.
Note that this does not affect the rights other persons may have in those files. I am not qualified to determine whether such rights exist.
Contact - Thanks