This is an automated email from the git hooks/post-receive script. sf pushed a commit to annotated tag v2.0.2 in repository mapcode.
commit b5e02903e72dba3a33f117440cb550a9a4d882a7 Author: Rijn Buve <[email protected]> Date: Tue Aug 4 14:46:42 2015 +0200 Removed CLion warnings --- CMakeLists.txt | 15 +- README.md | 6 +- mapcodelib/dividemaps.h | 1396 +++++++++++++++---------------- mapcodelib/mapcode_countrynames.h | 309 ++++--- mapcodelib/mapcode_countrynames_short.h | 1070 +++++++++++------------ mapcodelib/mapcoder.c | 43 +- mapcodelib/mapcoder.h | 74 +- utility/mapcode.cpp | 156 ++-- 8 files changed, 1549 insertions(+), 1520 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 81315b8..a4630bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,15 @@ -cmake_minimum_required(VERSION 2.8.4) +cmake_minimum_required(VERSION 3.2) project(mapcode_cpp) -set(CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -std=c++11") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES - example/mapcode.cpp) + mapcodelib/basics.h + mapcodelib/dividemaps.h + mapcodelib/mapcode_countrynames.h + mapcodelib/mapcode_countrynames_short.h + mapcodelib/mapcoder.c + mapcodelib/mapcoder.h + utility/mapcode.cpp) -add_executable(mapcode ${SOURCE_FILES}) \ No newline at end of file +add_executable(mapcode_cpp ${SOURCE_FILES}) \ No newline at end of file diff --git a/README.md b/README.md index 7cf77a5..195b9a7 100644 --- a/README.md +++ b/README.md @@ -54,10 +54,10 @@ decode Mapcodes. Speed-up of encoding (4 times faster than 2.0.1). - Added optional mapcode_countrynames.h, with the English short names, formal names, + Added optional `mapcode_countrynames.h`, with the English short names, formal names, and name variants of all territories. - Added optional mapcode_countrynames_short.h with only the short English names and + Added optional `mapcode_countrynames_short.h` with only the short English names and name variants. Stricter processing of high-precision letters (now fails on illegal high-precision @@ -66,7 +66,7 @@ decode Mapcodes. Fix to allow illegal letters "i" and "o" in Hindi, Bengali, Tibetan and Gurmukhi (so they can later be interpreted as digits 1 and 0). - Fix for some unrecognized aliases in convertTerritoryIsoNameToCode(). + Fix for some unrecognized aliases in `convertTerritoryIsoNameToCode()`. * 2.0.1 diff --git a/mapcodelib/dividemaps.h b/mapcodelib/dividemaps.h index 2166e84..52cfb9a 100644 --- a/mapcodelib/dividemaps.h +++ b/mapcodelib/dividemaps.h @@ -15,701 +15,701 @@ */ static int redivar[2924] = { - 27984500,1383, - 2537718,676, - 12842450,332, - -55514813,174, - -6059000,101, - -117350000,46, - -15190488,30, - -167832984,25, - -28175000,21, - 2, 171,531, - 3, 30,55,89, - 4, 12,28,71,531, - -171131108,41, - -11977500,38, - 3, 22,69,89, - 2, 3,58, - 4, 27,28,58,71, - -18715000,75, - -64521250,57, - 6, 209,219,227,270,409,531, - -28845346,67, - 7, 82,155,227,270,334,409,531, - 7, 186,219,227,270,334,337,409, - -59298500,93, - -15616000,85, - 5, 209,219,227,340,409, - 7, 219,227,327,330,340,342,409, - 7, 219,227,337,340,341,342,409, - -68556225,144, - 9859904,130, - -74589500,124, - 4965000,118, - -121020000,114, - 2, 58,529, - 3, 168,221,227, - 5, 117,127,221,227,529, - 5, 214,221,227,342,409, - -82018000,138, - 5, 117,148,227,529,530, - 5, 25,45,214,221,227, - 9263257,156, - 9, 154,161,214,221,227,329,341,342,409, - -62448678,163, - 4, 33,214,221,227, - 12365000,170, - 4, 37,73,214,227, - 3, 37,41,227, - -8371850,258, - -47007000,205, - -19580300,193, - 12, 155,186,227,270,323,328,331,334,337,339,409,531, - 11, 186,227,316,333,335,336,337,339,340,341,409, - -11963846,239, - -42991000,225, - -19580300,218, - 6, 227,319,331,339,409,531, - 6, 227,333,336,338,339,409, - -47050000,231, - 3, 70,227,531, - 7, 35,227,319,320,338,339,409, - -39287170,250, - 8, 227,324,332,333,335,338,341,409, - 7, 35,227,317,318,324,338,409, - -23810000,294, - -1916920,280, - -41616550,272, - 7, 227,332,333,335,340,341,409, - 7, 227,321,322,324,326,332,409, - -49307328,289, - 6, 129,154,227,325,341,409, - 4, 227,335,341,409, - 10775000,312, - -5530500,305, - 6, 35,126,142,167,177,223, - 6, 120,144,164,172,177,223, - -6579285,319, - 4, 108,158,167,223, - 11426925,327, - 5, 120,144,164,172,223, - 4, 144,172,223,225, - -85785000,522, - 19815000,418, - -95481000,355, - 16, 233,234,235,237,239,240,244,249,251,254,258,260,351,410,411,529, - 17649500,391, - -90249500,377, - 14015959,364, - 2, 139,227, - -92914500,372, - 5, 241,254,255,260,411, - 4, 139,241,255,411, - 14491789,385, - 5, 94,139,143,148,227, - 5, 95,139,143,148,411, - -90690000,402, - 8, 139,241,248,254,255,260,410,411, - 19007500,412, - 7, 95,139,246,248,255,410,411, - 5, 245,246,248,410,411, - -100679000,473, - 23113500,451, - -104856000,433, - 8, 242,247,256,258,261,351,410,411, - 20496000,441, - 5, 243,249,258,410,411, - 9, 236,242,243,250,257,258,261,410,411, - -104856000,463, - 9, 247,256,261,263,264,351,392,410,411, - 9, 250,252,257,261,262,264,392,410,411, - 22023500,494, - -93031500,488, - 10, 238,239,240,243,244,249,250,254,410,411, - 5, 245,246,248,410,411, - -91965000,512, - 24517000,505, - 6, 250,252,254,259,410,411, - 6, 252,259,262,392,410,411, - 24055000,518, - 3, 245,410,411, - 3, 372,410,411, - 17731984,599, - -61364779,567, - 16901800,545, - -62626922,536, - 5, 33,143,148,221,227, - 15684879,542, - 3, 41,56,227, - 2, 19,64, - -66701997,557, - 17575000,553, - 3, 33,115,143, - 3, 33,79,115, - 17551293,563, - 3, 31,33,44, - 3, 33,38,44, - 14253000,582, - -23810000,576, - 4, 41,43,52,227, - 5, 80,158,172,223,225, - -20139807,593, - 15684879,590, - 3, 56,62,72, - 2, 64,72, - 5, 158,172,218,223,225, - -63821000,638, - 19812550,616, - -68135088,611, - 5, 32,79,99,115,410, - 4, 23,38,76,410, - -72604230,629, - 23868000,625, - 4, 85,99,140,410, - 3, 85,372,410, - 20556500,635, - 3, 99,115,410, - 2, 59,410, - 18772220,652, - -62560260,647, - 4, 5,9,10,18, - 4, 44,218,223,225, - -422500,667, - 27433500,662, - 5, 169,188,218,223,268, - 4, 169,188,194,268, - 26255000,673, - 3, 223,225,268, - 2, 194,268, - 10511000,1056, - 74615395,878, - -5098202,776, - 39063250,738, - -20098000,705, - 29828500,699, - -50838844,693, - 2, 13,531, - 5, 105,185,200,213,222, - 5, 87,185,212,222,531, - 29790000,725, - -14533000,715, - 5, 185,200,208,213,224, - 26708284,721, - 3, 208,224,267, - 3, 208,216,267, - -14533000,732, - 4, 146,185,208,212, - 5, 146,208,212,216,267, - -12572492,758, - 54723903,749, - 6, 39,66,75,201,212,531, - -51460000,754, - 2, 42,531, - 3, 66,67,75, - 45312387,766, - 5, 65,75,201,212,216, - -8413797,773, - 4, 46,66,75,201, - 2, 15,46, - 28158500,820, - 4039834,806, - 11520181,788, - 5, 60,101,170,182,192, - -4167751,794, - 3, 182,224,267, - 21050000,802, - 5, 170,182,192,204,267, - 3, 203,204,267, - 6307500,812, - 3, 144,215,223, - 7, 192,203,204,215,226,231,267, - 1202691,840, - 40707790,831, - 6, 98,100,165,199,216,267, - -2685000,836, - 2, 46,199, - 3, 34,199,205, - 39800000,859, - 7371000,855, - 32140000,850, - 3, 165,203,267, - 4, 165,199,203,220, - 3, 203,220,231, - 7876932,870, - 59255071,867, - 3, 199,205,220, - 2, 34,407, - 59255071,875, - 2, 205,220, - 2, 275,407, - -3000000,985, - 150294500,942, - -19119804,908, - 139475000,894, - 7, 75,310,311,314,315,408,531, - -38750000,901, - 4, 312,313,408,531, - 6, 307,308,311,313,315,408, - 109235707,918, - -11244050,915, - 2, 4,75, - 2, 21,232, - -11930000,930, - 133495000,926, - 3, 310,314,408, - 3, 310,315,408, - 128179500,936, - 3, 86,232,408, - 5, 191,232,310,315,408, - -25602173,957, - 159633500,953, - 6, 307,309,313,315,408,531, - 3, 11,171,531, - 162917500,971, - -15102950,965, - 3, 90,315,408, - 5, 58,103,191,315,408, - -12405450,977, - 3, 83,89,90, - 172466750,982, - 2, 58,103, - 2, 7,58, - 111780000,1032, - 7762500,1018, - 94680338,996, - 4, 34,123,274,407, - 3547250,1002, - 3, 54,179,232, - 98518000,1008, - 3, 195,232,407, - 6703442,1014, - 3, 179,195,232, - 3, 179,180,195, - 87010150,1025, - 4, 123,290,291,407, - 6, 156,180,195,207,274,407, - 179200,1043, - 163201780,1040, - 3, 58,191,232, - 2, 6,58, - 135909365,1051, - 5, 47,74,173,179,232, - 4, 26,53,58,232, - 83124000,1224, - 19960000,1149, - 51682074,1098, - 15484010,1084, - 30218500,1076, - 9, 144,192,203,204,215,223,225,226,231, - 7, 96,145,196,203,205,220,231, - 29805981,1093, - 6, 223,225,226,230,231,268, - 4, 145,196,231,266, - 15937400,1133, - 74615395,1116, - 13175797,1109, - 4, 196,275,296,407, - 6, 196,289,296,304,407,528, - 13727500,1125, - 6, 290,291,296,303,306,407, - 7, 296,302,303,304,306,407,528, - 63445071,1139, - 3, 175,196,266, - 9, 294,296,298,302,303,304,306,407,528, - 65200071,1186, - 23600000,1169, - 24345005,1162, - 6, 223,225,226,230,231,268, - 6, 130,175,217,230,231,266, - 40464250,1178, - 6, 194,217,223,230,266,268, - 7, 57,81,130,175,211,229,266, - 22733000,1204, - 73363500,1196, - 5, 271,272,299,304,407, - 7, 294,298,299,301,304,407,528, - 78350000,1215, - 8, 211,284,297,299,301,305,407,528, - 8, 152,211,294,301,305,407,524,528, - 23445000,1313, - 101655895,1264, - 20519475,1245, - 89826650,1238, - 5, 294,298,303,407,528, - 6, 162,195,207,274,407,528, - 90515000,1255, - 7, 151,294,295,298,300,407,528, - 8, 151,162,207,280,281,407,523,528, - 20722500,1286, - 139657216,1277, - 8, 156,162,173,180,195,500,513,528, - 13893260,1282, - 2, 26,50, - 3, 26,48,410, - 113717500,1296, - 7, 8,162,180,513,521,523,528, - 21446500,1303, - 4, 173,410,513,528, - 117661250,1309, - 3, 61,513,528, - 3, 109,410,528, - 96665000,1365, - 26270000,1341, - 90515000,1330, - 10, 151,277,286,287,294,295,300,305,407,528, - 10, 151,207,277,278,279,280,281,286,407,528, - 89297000,1354, - 10, 110,151,152,282,287,300,305,407,524,528, - 10, 110,151,207,278,285,286,300,407,524,528, - 17, 109,184,207,285,407,410,503,505,510,512,513,520,521,522,523,524,528, - 34765500,2088, - 43871750,1765, - -77419467,1641, - 37102872,1538, - -97787350,1449, - 33167350,1426, - -109250000,1417, - 29917500,1410, - -136451930,1404, - 2, 351,410, - 5, 253,256,263,410,411, - 6, 253,263,388,391,410,411, - 8, 262,263,264,388,389,392,410,411, - -107843500,1436, - 7, 381,386,387,388,389,391,410, - 36745500,1443, - 4, 374,389,392,410, - 5, 374,379,386,389,410, - 35605750,1496, - -87869000,1463, - 9, 358,362,363,364,365,374,392,410,411, - 33235750,1483, - -84127000,1473, - 5, 364,370,372,410,411, - 31517000,1479, - 3, 370,372,410, - 3, 354,370,410, - -84605000,1490, - 4, 358,364,370,410, - 5, 354,358,366,370,410, - -92511000,1511, - 36745500,1506, - 5, 365,373,374,392,410, - 4, 373,374,379,410, - 36828750,1527, - -86711000,1521, - 5, 357,358,365,373,410, - 5, 357,358,359,366,410, - -85550145,1534, - 4, 357,369,373,410, - 3, 357,359,410, - -93735000,1580, - 41027722,1559, - -103035000,1552, - 7, 378,381,384,386,387,391,410, - 6, 368,373,378,379,386,410, - -106550500,1571, - 9, 380,381,384,385,387,391,410,495,496, - 8, 368,377,378,382,384,396,410,495, - 41152000,1620, - -84227645,1592, - 7, 356,357,360,368,369,373,410, - 39583250,1607, - -79998825,1602, - 5, 353,357,359,360,410, - 4, 352,353,359,410, - -80136500,1614, - 4, 353,360,361,410, - 5, 352,353,361,367,410, - -85763500,1632, - 9, 356,368,369,371,382,383,396,410,495, - 8, 356,360,361,367,383,396,410,495, - 40158500,1711, - 5450000,1677, - 37488303,1664, - -48023000,1658, - 33142708,1654, - 2, 14,410, - 3, 359,366,410, - 5, 2,135,188,194,268, - -48023000,1674, - 7, 343,345,347,352,359,361,410, - 2, 135,194, - 33983000,1691, - 29679481,1686, - 4, 153,217,230,268, - 4, 92,93,217,266, - 18880000,1698, - 4, 36,153,174,268, - 35765800,1703, - 2, 77,149, - 23381000,1708, - 2, 102,149, - 2, 149,210, - 5450000,1749, - 42383793,1731, - -42050000,1727, - 9, 344,346,347,350,361,367,396,410,495, - 3, 135,194,197, - -66673537,1742, - 8, 348,349,350,355,367,396,410,495, - 6, 49,194,197,402,410,495, - 15, 0,1,84,97,102,118,119,133,141,149,163,174,197,210,496, - 2192324,1875, - 49062290,1805, - -81486250,1790, - 18, 371,375,376,377,380,382,383,384,385,390,394,395,396,398,399,410,495,496, - 14, 29,197,348,349,355,367,396,397,400,401,402,403,410,495, - -73790750,1823, - 15, 382,393,394,395,396,397,398,399,404,405,406,410,487,495,496, - 56700000,1847, - -31650000,1832, - 4, 397,400,410,495, - 51255000,1839, - 4, 17,20,166,197, - -5155300,1844, - 2, 125,166, - 2, 51,166, - -38967380,1856, - 6, 265,397,400,406,410,495, - 69452955,1871, - -10127000,1863, - 2, 138,265, - 61087500,1868, - 2, 166,178, - 2, 63,178, - 3, 40,178,265, - 52859250,1992, - 18692500,1939, - 47498500,1917, - 12946250,1900, - 44896100,1893, - 11001170,1890, - 2, 174,197, - 2, 16,174, - 6, 24,111,131,174,183,197, - 47177500,1909, - 6, 91,118,119,131,136,174, - 15602500,1914, - 2, 131,183, - 2, 131,136, - 11292500,1932, - 49234990,1926, - 4, 111,131,183,197, - 5, 68,106,112,183,197, - 6, 116,128,131,136,176,183, - 48523000,1976, - 19937265,1955, - 47139000,1951, - 5, 118,119,133,136,496, - 3, 116,136,496, - 44323191,1962, - 4, 133,141,163,496, - 24795000,1971, - 6, 116,133,136,163,202,496, - 4, 107,163,202,496, - 23039608,1985, - 6, 116,128,136,176,202,496, - 6, 160,176,202,428,431,496, - 28339500,2045, - 56976000,2033, - 17383500,2012, - 55200000,2009, - 7618000,2005, - 2, 112,183, - 3, 113,176,183, - 2, 113,190, - 55308000,2020, - 5, 122,160,176,414,496, - 27083500,2028, - 5, 121,122,160,190,496, - 4, 121,160,440,496, - 11, 40,113,114,121,178,181,190,198,440,446,496, - 59533150,2059, - 11, 160,178,429,431,436,439,440,445,446,449,496, - 34171500,2077, - 63834000,2070, - 6, 178,181,413,446,451,496, - 6, 40,178,181,450,451,496, - 63834000,2084, - 4, 446,449,451,496, - 3, 450,451,496, - 45775000,2509, - 87550000,2293, - 37135000,2159, - 66867226,2141, - 32796250,2115, - 43200000,2108, - 7, 92,93,134,157,187,217,266, - 6, 88,187,206,211,229,266, - 43200000,2134, - 35253300,2130, - 37709800,2126, - 4, 78,92,134,157, - 3, 134,157,187, - 3, 157,187,210, - 6, 187,193,206,210,211,229, - 17, 150,152,206,211,273,276,283,284,288,292,293,297,305,407,524,527,528, - 46099000,2246, - 42291500,2190, - 42910000,2175, - 39220000,2171, - 3, 157,187,210, - 3, 124,210,496, - 40420000,2183, - 5, 104,132,187,210,229, - 6, 104,124,132,210,437,496, - 44476450,2230, - 44203226,2216, - 42073685,2209, - 43622500,2203, - 4, 124,419,443,496, - 5, 416,419,442,443,496, - 6, 124,417,418,419,442,496, - 40808500,2224, - 5, 202,416,419,443,496, - 5, 419,442,443,444,496, - 44337000,2240, - 7, 124,415,417,420,437,442,496, - 5, 434,437,442,444,496, - 40175000,2266, - 66867226,2258, - 7, 104,132,187,189,193,206,229, - 7, 150,159,189,206,407,527,528, - 51615000,2284, - 44337000,2278, - 7, 104,124,132,269,420,437,496, - 5, 269,434,437,444,496, - 8, 150,159,189,193,269,496,527,528, - 34345000,2377, - 108695500,2337, - 30992500,2320, - 97458000,2311, - 9, 110,152,207,282,285,407,522,524,528, - 8, 207,502,512,514,522,523,524,528, - 104198500,2330, - 7, 407,522,524,525,526,527,528, - 6, 502,514,517,522,525,528, - 30428000,2357, - 114600000,2348, - 6, 502,510,512,514,520,528, - 8, 184,410,503,505,506,510,514,528, - 117345000,2368, - 8, 502,504,506,511,514,517,525,528, - 8, 137,184,410,497,503,504,506,528, - 118437543,2456, - 37349928,2401, - 109480000,2392, - 8, 407,501,517,524,525,526,527,528, - 8, 504,506,508,509,511,516,517,528, - 112356000,2427, - 40901000,2420, - 103695000,2413, - 5, 518,525,526,527,528, - 6, 501,509,517,518,525,528, - 6, 228,496,518,525,527,528, - 40901000,2449, - 114672500,2436, - 4, 509,516,518,528, - 38485000,2443, - 4, 508,516,518,528, - 5, 498,499,516,518,528, - 6, 228,496,499,516,518,528, - 38662500,2486, - 123555000,2479, - 35585500,2473, - 122563000,2469, - 4, 504,506,508,528, - 3, 184,508,528, - 5, 184,508,516,518,528, - 6, 137,147,184,410,518,528, - 128256500,2499, - 10, 147,184,228,496,507,515,516,518,519,528, - 9, 147,184,410,489,490,496,515,519,528, - 50981650,2748, - 54414000,2613, - 40807800,2559, - 52698500,2529, - 11, 202,423,424,426,428,430,431,438,443,447,496, - 37499000,2539, - 7, 424,425,429,431,435,436,496, - 54038750,2554, - 39434000,2549, - 5, 423,424,425,433,496, - 4, 423,430,433,496, - 4, 425,433,435,496, - 51418000,2593, - 44647865,2578, - 48918000,2572, - 6, 442,443,444,447,448,496, - 5, 438,447,448,467,496, - 49334500,2587, - 6, 269,434,442,444,448,496, - 5, 269,448,460,467,496, - 47108750,2605, - 9, 269,430,433,438,455,457,461,467,496, - 7, 269,460,461,465,466,467,496, - 41592250,2687, - 57125500,2650, - 38123500,2635, - 56301000,2629, - 7, 412,425,429,435,436,445,496, - 5, 432,435,439,445,496, - 55500500,2643, - 5, 425,427,433,435,496, - 6, 422,427,432,435,445,496, - 38853500,2674, - 60039500,2667, - 36659000,2662, - 5, 439,445,446,449,496, - 4, 432,445,449,496, - 6, 446,449,450,451,454,496, - 60132500,2682, - 5, 422,432,441,449,496, - 4, 449,450,454,496, - 56340000,2715, - 44301100,2697, - 5, 427,433,455,456,496, - 55638350,2708, - 8, 269,421,455,456,461,465,466,496, - 6, 421,456,458,459,465,496, - 44353250,2731, - 58284000,2725, - 5, 422,427,441,456,496, - 5, 441,449,452,454,496, - 58284000,2740, - 6, 441,456,458,459,465,496, - 7, 441,449,452,453,454,458,496, - 54913550,2793, - 96800500,2773, - 20, 228,269,460,463,465,466,472,473,476,477,479,480,481,482,483,484,485,496,527,528, - 19, 228,393,410,474,475,476,484,485,488,489,490,491,492,493,496,515,518,519,528, - 80381500,2880, - 58577500,2840, - 64084850,2830, - 55653700,2814, - 60983000,2809, - 5, 269,463,465,473,496, - 4, 269,472,473,496, - 55784200,2823, - 6, 458,462,463,464,465,496, - 6, 462,463,470,472,473,496, - 9, 269,470,471,472,477,478,479,485,496, - 72088350,2867, - 62076000,2860, - 55581500,2852, - 5, 453,454,458,462,496, - 7, 453,454,462,469,470,471,496, - 6, 452,453,454,468,469,496, - 61617000,2875, - 5, 469,471,478,485,496, - 4, 468,469,485,496, - 58509500,2904, - 93798000,2892, - 7, 269,477,478,480,481,485,496, - 11, 393,410,474,475,476,485,488,492,493,494,496, - 125763055,2914, - 7, 468,469,476,478,485,494,496, - 8, 393,410,486,487,488,492,494,496, -0}; //2924 + 27984500, 1383, + 2537718, 676, + 12842450, 332, + -55514813, 174, + -6059000, 101, + -117350000, 46, + -15190488, 30, + -167832984, 25, + -28175000, 21, + 2, 171, 531, + 3, 30, 55, 89, + 4, 12, 28, 71, 531, + -171131108, 41, + -11977500, 38, + 3, 22, 69, 89, + 2, 3, 58, + 4, 27, 28, 58, 71, + -18715000, 75, + -64521250, 57, + 6, 209, 219, 227, 270, 409, 531, + -28845346, 67, + 7, 82, 155, 227, 270, 334, 409, 531, + 7, 186, 219, 227, 270, 334, 337, 409, + -59298500, 93, + -15616000, 85, + 5, 209, 219, 227, 340, 409, + 7, 219, 227, 327, 330, 340, 342, 409, + 7, 219, 227, 337, 340, 341, 342, 409, + -68556225, 144, + 9859904, 130, + -74589500, 124, + 4965000, 118, + -121020000, 114, + 2, 58, 529, + 3, 168, 221, 227, + 5, 117, 127, 221, 227, 529, + 5, 214, 221, 227, 342, 409, + -82018000, 138, + 5, 117, 148, 227, 529, 530, + 5, 25, 45, 214, 221, 227, + 9263257, 156, + 9, 154, 161, 214, 221, 227, 329, 341, 342, 409, + -62448678, 163, + 4, 33, 214, 221, 227, + 12365000, 170, + 4, 37, 73, 214, 227, + 3, 37, 41, 227, + -8371850, 258, + -47007000, 205, + -19580300, 193, + 12, 155, 186, 227, 270, 323, 328, 331, 334, 337, 339, 409, 531, + 11, 186, 227, 316, 333, 335, 336, 337, 339, 340, 341, 409, + -11963846, 239, + -42991000, 225, + -19580300, 218, + 6, 227, 319, 331, 339, 409, 531, + 6, 227, 333, 336, 338, 339, 409, + -47050000, 231, + 3, 70, 227, 531, + 7, 35, 227, 319, 320, 338, 339, 409, + -39287170, 250, + 8, 227, 324, 332, 333, 335, 338, 341, 409, + 7, 35, 227, 317, 318, 324, 338, 409, + -23810000, 294, + -1916920, 280, + -41616550, 272, + 7, 227, 332, 333, 335, 340, 341, 409, + 7, 227, 321, 322, 324, 326, 332, 409, + -49307328, 289, + 6, 129, 154, 227, 325, 341, 409, + 4, 227, 335, 341, 409, + 10775000, 312, + -5530500, 305, + 6, 35, 126, 142, 167, 177, 223, + 6, 120, 144, 164, 172, 177, 223, + -6579285, 319, + 4, 108, 158, 167, 223, + 11426925, 327, + 5, 120, 144, 164, 172, 223, + 4, 144, 172, 223, 225, + -85785000, 522, + 19815000, 418, + -95481000, 355, + 16, 233, 234, 235, 237, 239, 240, 244, 249, 251, 254, 258, 260, 351, 410, 411, 529, + 17649500, 391, + -90249500, 377, + 14015959, 364, + 2, 139, 227, + -92914500, 372, + 5, 241, 254, 255, 260, 411, + 4, 139, 241, 255, 411, + 14491789, 385, + 5, 94, 139, 143, 148, 227, + 5, 95, 139, 143, 148, 411, + -90690000, 402, + 8, 139, 241, 248, 254, 255, 260, 410, 411, + 19007500, 412, + 7, 95, 139, 246, 248, 255, 410, 411, + 5, 245, 246, 248, 410, 411, + -100679000, 473, + 23113500, 451, + -104856000, 433, + 8, 242, 247, 256, 258, 261, 351, 410, 411, + 20496000, 441, + 5, 243, 249, 258, 410, 411, + 9, 236, 242, 243, 250, 257, 258, 261, 410, 411, + -104856000, 463, + 9, 247, 256, 261, 263, 264, 351, 392, 410, 411, + 9, 250, 252, 257, 261, 262, 264, 392, 410, 411, + 22023500, 494, + -93031500, 488, + 10, 238, 239, 240, 243, 244, 249, 250, 254, 410, 411, + 5, 245, 246, 248, 410, 411, + -91965000, 512, + 24517000, 505, + 6, 250, 252, 254, 259, 410, 411, + 6, 252, 259, 262, 392, 410, 411, + 24055000, 518, + 3, 245, 410, 411, + 3, 372, 410, 411, + 17731984, 599, + -61364779, 567, + 16901800, 545, + -62626922, 536, + 5, 33, 143, 148, 221, 227, + 15684879, 542, + 3, 41, 56, 227, + 2, 19, 64, + -66701997, 557, + 17575000, 553, + 3, 33, 115, 143, + 3, 33, 79, 115, + 17551293, 563, + 3, 31, 33, 44, + 3, 33, 38, 44, + 14253000, 582, + -23810000, 576, + 4, 41, 43, 52, 227, + 5, 80, 158, 172, 223, 225, + -20139807, 593, + 15684879, 590, + 3, 56, 62, 72, + 2, 64, 72, + 5, 158, 172, 218, 223, 225, + -63821000, 638, + 19812550, 616, + -68135088, 611, + 5, 32, 79, 99, 115, 410, + 4, 23, 38, 76, 410, + -72604230, 629, + 23868000, 625, + 4, 85, 99, 140, 410, + 3, 85, 372, 410, + 20556500, 635, + 3, 99, 115, 410, + 2, 59, 410, + 18772220, 652, + -62560260, 647, + 4, 5, 9, 10, 18, + 4, 44, 218, 223, 225, + -422500, 667, + 27433500, 662, + 5, 169, 188, 218, 223, 268, + 4, 169, 188, 194, 268, + 26255000, 673, + 3, 223, 225, 268, + 2, 194, 268, + 10511000, 1056, + 74615395, 878, + -5098202, 776, + 39063250, 738, + -20098000, 705, + 29828500, 699, + -50838844, 693, + 2, 13, 531, + 5, 105, 185, 200, 213, 222, + 5, 87, 185, 212, 222, 531, + 29790000, 725, + -14533000, 715, + 5, 185, 200, 208, 213, 224, + 26708284, 721, + 3, 208, 224, 267, + 3, 208, 216, 267, + -14533000, 732, + 4, 146, 185, 208, 212, + 5, 146, 208, 212, 216, 267, + -12572492, 758, + 54723903, 749, + 6, 39, 66, 75, 201, 212, 531, + -51460000, 754, + 2, 42, 531, + 3, 66, 67, 75, + 45312387, 766, + 5, 65, 75, 201, 212, 216, + -8413797, 773, + 4, 46, 66, 75, 201, + 2, 15, 46, + 28158500, 820, + 4039834, 806, + 11520181, 788, + 5, 60, 101, 170, 182, 192, + -4167751, 794, + 3, 182, 224, 267, + 21050000, 802, + 5, 170, 182, 192, 204, 267, + 3, 203, 204, 267, + 6307500, 812, + 3, 144, 215, 223, + 7, 192, 203, 204, 215, 226, 231, 267, + 1202691, 840, + 40707790, 831, + 6, 98, 100, 165, 199, 216, 267, + -2685000, 836, + 2, 46, 199, + 3, 34, 199, 205, + 39800000, 859, + 7371000, 855, + 32140000, 850, + 3, 165, 203, 267, + 4, 165, 199, 203, 220, + 3, 203, 220, 231, + 7876932, 870, + 59255071, 867, + 3, 199, 205, 220, + 2, 34, 407, + 59255071, 875, + 2, 205, 220, + 2, 275, 407, + -3000000, 985, + 150294500, 942, + -19119804, 908, + 139475000, 894, + 7, 75, 310, 311, 314, 315, 408, 531, + -38750000, 901, + 4, 312, 313, 408, 531, + 6, 307, 308, 311, 313, 315, 408, + 109235707, 918, + -11244050, 915, + 2, 4, 75, + 2, 21, 232, + -11930000, 930, + 133495000, 926, + 3, 310, 314, 408, + 3, 310, 315, 408, + 128179500, 936, + 3, 86, 232, 408, + 5, 191, 232, 310, 315, 408, + -25602173, 957, + 159633500, 953, + 6, 307, 309, 313, 315, 408, 531, + 3, 11, 171, 531, + 162917500, 971, + -15102950, 965, + 3, 90, 315, 408, + 5, 58, 103, 191, 315, 408, + -12405450, 977, + 3, 83, 89, 90, + 172466750, 982, + 2, 58, 103, + 2, 7, 58, + 111780000, 1032, + 7762500, 1018, + 94680338, 996, + 4, 34, 123, 274, 407, + 3547250, 1002, + 3, 54, 179, 232, + 98518000, 1008, + 3, 195, 232, 407, + 6703442, 1014, + 3, 179, 195, 232, + 3, 179, 180, 195, + 87010150, 1025, + 4, 123, 290, 291, 407, + 6, 156, 180, 195, 207, 274, 407, + 179200, 1043, + 163201780, 1040, + 3, 58, 191, 232, + 2, 6, 58, + 135909365, 1051, + 5, 47, 74, 173, 179, 232, + 4, 26, 53, 58, 232, + 83124000, 1224, + 19960000, 1149, + 51682074, 1098, + 15484010, 1084, + 30218500, 1076, + 9, 144, 192, 203, 204, 215, 223, 225, 226, 231, + 7, 96, 145, 196, 203, 205, 220, 231, + 29805981, 1093, + 6, 223, 225, 226, 230, 231, 268, + 4, 145, 196, 231, 266, + 15937400, 1133, + 74615395, 1116, + 13175797, 1109, + 4, 196, 275, 296, 407, + 6, 196, 289, 296, 304, 407, 528, + 13727500, 1125, + 6, 290, 291, 296, 303, 306, 407, + 7, 296, 302, 303, 304, 306, 407, 528, + 63445071, 1139, + 3, 175, 196, 266, + 9, 294, 296, 298, 302, 303, 304, 306, 407, 528, + 65200071, 1186, + 23600000, 1169, + 24345005, 1162, + 6, 223, 225, 226, 230, 231, 268, + 6, 130, 175, 217, 230, 231, 266, + 40464250, 1178, + 6, 194, 217, 223, 230, 266, 268, + 7, 57, 81, 130, 175, 211, 229, 266, + 22733000, 1204, + 73363500, 1196, + 5, 271, 272, 299, 304, 407, + 7, 294, 298, 299, 301, 304, 407, 528, + 78350000, 1215, + 8, 211, 284, 297, 299, 301, 305, 407, 528, + 8, 152, 211, 294, 301, 305, 407, 524, 528, + 23445000, 1313, + 101655895, 1264, + 20519475, 1245, + 89826650, 1238, + 5, 294, 298, 303, 407, 528, + 6, 162, 195, 207, 274, 407, 528, + 90515000, 1255, + 7, 151, 294, 295, 298, 300, 407, 528, + 8, 151, 162, 207, 280, 281, 407, 523, 528, + 20722500, 1286, + 139657216, 1277, + 8, 156, 162, 173, 180, 195, 500, 513, 528, + 13893260, 1282, + 2, 26, 50, + 3, 26, 48, 410, + 113717500, 1296, + 7, 8, 162, 180, 513, 521, 523, 528, + 21446500, 1303, + 4, 173, 410, 513, 528, + 117661250, 1309, + 3, 61, 513, 528, + 3, 109, 410, 528, + 96665000, 1365, + 26270000, 1341, + 90515000, 1330, + 10, 151, 277, 286, 287, 294, 295, 300, 305, 407, 528, + 10, 151, 207, 277, 278, 279, 280, 281, 286, 407, 528, + 89297000, 1354, + 10, 110, 151, 152, 282, 287, 300, 305, 407, 524, 528, + 10, 110, 151, 207, 278, 285, 286, 300, 407, 524, 528, + 17, 109, 184, 207, 285, 407, 410, 503, 505, 510, 512, 513, 520, 521, 522, 523, 524, 528, + 34765500, 2088, + 43871750, 1765, + -77419467, 1641, + 37102872, 1538, + -97787350, 1449, + 33167350, 1426, + -109250000, 1417, + 29917500, 1410, + -136451930, 1404, + 2, 351, 410, + 5, 253, 256, 263, 410, 411, + 6, 253, 263, 388, 391, 410, 411, + 8, 262, 263, 264, 388, 389, 392, 410, 411, + -107843500, 1436, + 7, 381, 386, 387, 388, 389, 391, 410, + 36745500, 1443, + 4, 374, 389, 392, 410, + 5, 374, 379, 386, 389, 410, + 35605750, 1496, + -87869000, 1463, + 9, 358, 362, 363, 364, 365, 374, 392, 410, 411, + 33235750, 1483, + -84127000, 1473, + 5, 364, 370, 372, 410, 411, + 31517000, 1479, + 3, 370, 372, 410, + 3, 354, 370, 410, + -84605000, 1490, + 4, 358, 364, 370, 410, + 5, 354, 358, 366, 370, 410, + -92511000, 1511, + 36745500, 1506, + 5, 365, 373, 374, 392, 410, + 4, 373, 374, 379, 410, + 36828750, 1527, + -86711000, 1521, + 5, 357, 358, 365, 373, 410, + 5, 357, 358, 359, 366, 410, + -85550145, 1534, + 4, 357, 369, 373, 410, + 3, 357, 359, 410, + -93735000, 1580, + 41027722, 1559, + -103035000, 1552, + 7, 378, 381, 384, 386, 387, 391, 410, + 6, 368, 373, 378, 379, 386, 410, + -106550500, 1571, + 9, 380, 381, 384, 385, 387, 391, 410, 495, 496, + 8, 368, 377, 378, 382, 384, 396, 410, 495, + 41152000, 1620, + -84227645, 1592, + 7, 356, 357, 360, 368, 369, 373, 410, + 39583250, 1607, + -79998825, 1602, + 5, 353, 357, 359, 360, 410, + 4, 352, 353, 359, 410, + -80136500, 1614, + 4, 353, 360, 361, 410, + 5, 352, 353, 361, 367, 410, + -85763500, 1632, + 9, 356, 368, 369, 371, 382, 383, 396, 410, 495, + 8, 356, 360, 361, 367, 383, 396, 410, 495, + 40158500, 1711, + 5450000, 1677, + 37488303, 1664, + -48023000, 1658, + 33142708, 1654, + 2, 14, 410, + 3, 359, 366, 410, + 5, 2, 135, 188, 194, 268, + -48023000, 1674, + 7, 343, 345, 347, 352, 359, 361, 410, + 2, 135, 194, + 33983000, 1691, + 29679481, 1686, + 4, 153, 217, 230, 268, + 4, 92, 93, 217, 266, + 18880000, 1698, + 4, 36, 153, 174, 268, + 35765800, 1703, + 2, 77, 149, + 23381000, 1708, + 2, 102, 149, + 2, 149, 210, + 5450000, 1749, + 42383793, 1731, + -42050000, 1727, + 9, 344, 346, 347, 350, 361, 367, 396, 410, 495, + 3, 135, 194, 197, + -66673537, 1742, + 8, 348, 349, 350, 355, 367, 396, 410, 495, + 6, 49, 194, 197, 402, 410, 495, + 15, 0, 1, 84, 97, 102, 118, 119, 133, 141, 149, 163, 174, 197, 210, 496, + 2192324, 1875, + 49062290, 1805, + -81486250, 1790, + 18, 371, 375, 376, 377, 380, 382, 383, 384, 385, 390, 394, 395, 396, 398, 399, 410, 495, 496, + 14, 29, 197, 348, 349, 355, 367, 396, 397, 400, 401, 402, 403, 410, 495, + -73790750, 1823, + 15, 382, 393, 394, 395, 396, 397, 398, 399, 404, 405, 406, 410, 487, 495, 496, + 56700000, 1847, + -31650000, 1832, + 4, 397, 400, 410, 495, + 51255000, 1839, + 4, 17, 20, 166, 197, + -5155300, 1844, + 2, 125, 166, + 2, 51, 166, + -38967380, 1856, + 6, 265, 397, 400, 406, 410, 495, + 69452955, 1871, + -10127000, 1863, + 2, 138, 265, + 61087500, 1868, + 2, 166, 178, + 2, 63, 178, + 3, 40, 178, 265, + 52859250, 1992, + 18692500, 1939, + 47498500, 1917, + 12946250, 1900, + 44896100, 1893, + 11001170, 1890, + 2, 174, 197, + 2, 16, 174, + 6, 24, 111, 131, 174, 183, 197, + 47177500, 1909, + 6, 91, 118, 119, 131, 136, 174, + 15602500, 1914, + 2, 131, 183, + 2, 131, 136, + 11292500, 1932, + 49234990, 1926, + 4, 111, 131, 183, 197, + 5, 68, 106, 112, 183, 197, + 6, 116, 128, 131, 136, 176, 183, + 48523000, 1976, + 19937265, 1955, + 47139000, 1951, + 5, 118, 119, 133, 136, 496, + 3, 116, 136, 496, + 44323191, 1962, + 4, 133, 141, 163, 496, + 24795000, 1971, + 6, 116, 133, 136, 163, 202, 496, + 4, 107, 163, 202, 496, + 23039608, 1985, + 6, 116, 128, 136, 176, 202, 496, + 6, 160, 176, 202, 428, 431, 496, + 28339500, 2045, + 56976000, 2033, + 17383500, 2012, + 55200000, 2009, + 7618000, 2005, + 2, 112, 183, + 3, 113, 176, 183, + 2, 113, 190, + 55308000, 2020, + 5, 122, 160, 176, 414, 496, + 27083500, 2028, + 5, 121, 122, 160, 190, 496, + 4, 121, 160, 440, 496, + 11, 40, 113, 114, 121, 178, 181, 190, 198, 440, 446, 496, + 59533150, 2059, + 11, 160, 178, 429, 431, 436, 439, 440, 445, 446, 449, 496, + 34171500, 2077, + 63834000, 2070, + 6, 178, 181, 413, 446, 451, 496, + 6, 40, 178, 181, 450, 451, 496, + 63834000, 2084, + 4, 446, 449, 451, 496, + 3, 450, 451, 496, + 45775000, 2509, + 87550000, 2293, + 37135000, 2159, + 66867226, 2141, + 32796250, 2115, + 43200000, 2108, + 7, 92, 93, 134, 157, 187, 217, 266, + 6, 88, 187, 206, 211, 229, 266, + 43200000, 2134, + 35253300, 2130, + 37709800, 2126, + 4, 78, 92, 134, 157, + 3, 134, 157, 187, + 3, 157, 187, 210, + 6, 187, 193, 206, 210, 211, 229, + 17, 150, 152, 206, 211, 273, 276, 283, 284, 288, 292, 293, 297, 305, 407, 524, 527, 528, + 46099000, 2246, + 42291500, 2190, + 42910000, 2175, + 39220000, 2171, + 3, 157, 187, 210, + 3, 124, 210, 496, + 40420000, 2183, + 5, 104, 132, 187, 210, 229, + 6, 104, 124, 132, 210, 437, 496, + 44476450, 2230, + 44203226, 2216, + 42073685, 2209, + 43622500, 2203, + 4, 124, 419, 443, 496, + 5, 416, 419, 442, 443, 496, + 6, 124, 417, 418, 419, 442, 496, + 40808500, 2224, + 5, 202, 416, 419, 443, 496, + 5, 419, 442, 443, 444, 496, + 44337000, 2240, + 7, 124, 415, 417, 420, 437, 442, 496, + 5, 434, 437, 442, 444, 496, + 40175000, 2266, + 66867226, 2258, + 7, 104, 132, 187, 189, 193, 206, 229, + 7, 150, 159, 189, 206, 407, 527, 528, + 51615000, 2284, + 44337000, 2278, + 7, 104, 124, 132, 269, 420, 437, 496, + 5, 269, 434, 437, 444, 496, + 8, 150, 159, 189, 193, 269, 496, 527, 528, + 34345000, 2377, + 108695500, 2337, + 30992500, 2320, + 97458000, 2311, + 9, 110, 152, 207, 282, 285, 407, 522, 524, 528, + 8, 207, 502, 512, 514, 522, 523, 524, 528, + 104198500, 2330, + 7, 407, 522, 524, 525, 526, 527, 528, + 6, 502, 514, 517, 522, 525, 528, + 30428000, 2357, + 114600000, 2348, + 6, 502, 510, 512, 514, 520, 528, + 8, 184, 410, 503, 505, 506, 510, 514, 528, + 117345000, 2368, + 8, 502, 504, 506, 511, 514, 517, 525, 528, + 8, 137, 184, 410, 497, 503, 504, 506, 528, + 118437543, 2456, + 37349928, 2401, + 109480000, 2392, + 8, 407, 501, 517, 524, 525, 526, 527, 528, + 8, 504, 506, 508, 509, 511, 516, 517, 528, + 112356000, 2427, + 40901000, 2420, + 103695000, 2413, + 5, 518, 525, 526, 527, 528, + 6, 501, 509, 517, 518, 525, 528, + 6, 228, 496, 518, 525, 527, 528, + 40901000, 2449, + 114672500, 2436, + 4, 509, 516, 518, 528, + 38485000, 2443, + 4, 508, 516, 518, 528, + 5, 498, 499, 516, 518, 528, + 6, 228, 496, 499, 516, 518, 528, + 38662500, 2486, + 123555000, 2479, + 35585500, 2473, + 122563000, 2469, + 4, 504, 506, 508, 528, + 3, 184, 508, 528, + 5, 184, 508, 516, 518, 528, + 6, 137, 147, 184, 410, 518, 528, + 128256500, 2499, + 10, 147, 184, 228, 496, 507, 515, 516, 518, 519, 528, + 9, 147, 184, 410, 489, 490, 496, 515, 519, 528, + 50981650, 2748, + 54414000, 2613, + 40807800, 2559, + 52698500, 2529, + 11, 202, 423, 424, 426, 428, 430, 431, 438, 443, 447, 496, + 37499000, 2539, + 7, 424, 425, 429, 431, 435, 436, 496, + 54038750, 2554, + 39434000, 2549, + 5, 423, 424, 425, 433, 496, + 4, 423, 430, 433, 496, + 4, 425, 433, 435, 496, + 51418000, 2593, + 44647865, 2578, + 48918000, 2572, + 6, 442, 443, 444, 447, 448, 496, + 5, 438, 447, 448, 467, 496, + 49334500, 2587, + 6, 269, 434, 442, 444, 448, 496, + 5, 269, 448, 460, 467, 496, + 47108750, 2605, + 9, 269, 430, 433, 438, 455, 457, 461, 467, 496, + 7, 269, 460, 461, 465, 466, 467, 496, + 41592250, 2687, + 57125500, 2650, + 38123500, 2635, + 56301000, 2629, + 7, 412, 425, 429, 435, 436, 445, 496, + 5, 432, 435, 439, 445, 496, + 55500500, 2643, + 5, 425, 427, 433, 435, 496, + 6, 422, 427, 432, 435, 445, 496, + 38853500, 2674, + 60039500, 2667, + 36659000, 2662, + 5, 439, 445, 446, 449, 496, + 4, 432, 445, 449, 496, + 6, 446, 449, 450, 451, 454, 496, + 60132500, 2682, + 5, 422, 432, 441, 449, 496, + 4, 449, 450, 454, 496, + 56340000, 2715, + 44301100, 2697, + 5, 427, 433, 455, 456, 496, + 55638350, 2708, + 8, 269, 421, 455, 456, 461, 465, 466, 496, + 6, 421, 456, 458, 459, 465, 496, + 44353250, 2731, + 58284000, 2725, + 5, 422, 427, 441, 456, 496, + 5, 441, 449, 452, 454, 496, + 58284000, 2740, + 6, 441, 456, 458, 459, 465, 496, + 7, 441, 449, 452, 453, 454, 458, 496, + 54913550, 2793, + 96800500, 2773, + 20, 228, 269, 460, 463, 465, 466, 472, 473, 476, 477, 479, 480, 481, 482, 483, 484, 485, 496, 527, 528, + 19, 228, 393, 410, 474, 475, 476, 484, 485, 488, 489, 490, 491, 492, 493, 496, 515, 518, 519, 528, + 80381500, 2880, + 58577500, 2840, + 64084850, 2830, + 55653700, 2814, + 60983000, 2809, + 5, 269, 463, 465, 473, 496, + 4, 269, 472, 473, 496, + 55784200, 2823, + 6, 458, 462, 463, 464, 465, 496, + 6, 462, 463, 470, 472, 473, 496, + 9, 269, 470, 471, 472, 477, 478, 479, 485, 496, + 72088350, 2867, + 62076000, 2860, + 55581500, 2852, + 5, 453, 454, 458, 462, 496, + 7, 453, 454, 462, 469, 470, 471, 496, + 6, 452, 453, 454, 468, 469, 496, + 61617000, 2875, + 5, 469, 471, 478, 485, 496, + 4, 468, 469, 485, 496, + 58509500, 2904, + 93798000, 2892, + 7, 269, 477, 478, 480, 481, 485, 496, + 11, 393, 410, 474, 475, 476, 485, 488, 492, 493, 494, 496, + 125763055, 2914, + 7, 468, 469, 476, 478, 485, 494, 496, + 8, 393, 410, 486, 487, 488, 492, 494, 496, + 0}; //2924 diff --git a/mapcodelib/mapcode_countrynames.h b/mapcodelib/mapcode_countrynames.h index 1a15e10..78691dc 100644 --- a/mapcodelib/mapcode_countrynames.h +++ b/mapcodelib/mapcode_countrynames.h @@ -12,141 +12,180 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ const char *isofullname[] = { - "Vatican City State (Holy See)", "Monaco (Principality of _)", "Gibraltar", "Tokelau", - "Cocos Islands (Keeling Islands)", "Saint-Barthelemy (Collectivity of _)", "Nauru (Republic of _)", "Tuvalu", - "Macau (Aomen)", "Sint Maarten", "Saint Martin (Collectivity of _)", "Norfolk and Philip Island (Philip Island)", - "Pitcairn Group of Islands", "Bouvet Island", "Bermuda (Somers Isles)", "British Indian Ocean Territory", - "San Marino (Republic of _)", "Guernsey (Bailiwick of _)", "Anguilla", "Montserrat", - "Jersey (Bailiwick of _)", "Christmas Island", "Wallis and Futuna (Futuna) (Collectivity of the _ Islands)", "British Virgin Islands (Virgin Islands, British)", - "Liechtenstein (Principality of _)", "Aruba", "Marshall Islands (Republic of the _)", "American Samoa (Samoa, American)", - "Cook Islands", "Saint Pierre and Miquelon (Miquelon) (Collectivity of _)", "Niue", "Saint Kitts and Nevis (Nevis) (Federation of _)", - "Cayman islands", "Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)", "Maldives (Republic of _)", "Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)", - "Malta (Republic of _)", "Grenada", "Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)", "Mayotte (Maore)", - "Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)", "Saint Vincent and the Grenadines (Grenadines)", "Heard Island and McDonald Islands (McDonald Islands)", "Barbados", - "Antigua and Barbuda (Barbuda)", "Curacao", "Seychelles (Republic of _)", "Palau (Republic of _)", - "Northern Mariana Islands (Commonwealth of the _)", "Andorra (Principality of _) (Principality of the Valleys of _)", "Guam", "Isle of Mann (Mann)", - "Saint Lucia", "Micronesia (Federated States of Micronesia)", "Singapore (Republic of _)", "Tonga (Kingdom of _)", - "Dominica (Commonwealth of _)", "Bahrain (Kingdom of _)", "Kiribati (Republic of _)", "Turks and Caicos Islands (Caicos Islands)", - "Sao Tome and Principe (Principe) (Democratic Republic of _)", "Hong Kong (Xianggang)", "Martinique", "Faroe Islands", - "Guadeloupe", "Comoros (Union of the _)", "Mauritius (Republic of _)", "Reunion", - "Luxembourg (Grand Duchy of _)", "Samoa (Independent State of _)", "South Georgia and the South Sandwich Islands (South Sandwich Islands)", "French Polynesia (Collectivity of _)", - "Cape Verde (Cabo Verde) (Republic of Cabo Verde)", "Trinidad and Tobago (Republic of _) (Tobago)", "Brunei (Nation of _, the Abode of Peace)", "French Southern and Antarctic Lands", - "Puerto Rico (Commonwealth of _)", "Cyprus (Republic of _)", "Lebanon (Lebanese Republic)", "Jamaica", - "Gambia (The Gambia) (Republic of the _)", "Qatar (State of _)", "Falkland Islands", "Vanuatu (Republic of _)", - "Montenegro", "Bahamas (Commonwealth of the _)", "Timor-Leste (Democratic Republic of _) (East Timor)", "Swaziland (Kingdom of _)", - "Kuwait (State of _)", "Fiji (Republic of _)", "New Caledonia", "Slovenia (Republic of _)", - "Israel (State of _)", "Palestinian territories (State of Palestine)", "El Salvador (Republic of _)", "Belize", - "Djibouti (Republic of _)", "Macedonia (Republic of _) (FYROM) (Former Yugoslav Republic of Macedonia)", "Rwanda (Republic of _)", "Haiti (Republic of _)", - "Burundi (Republic of _)", "Equatorial Guinea (Republic of _)", "Albania (Republic of _)", "Solomon Islands", - "Armenia (Republic of _)", "Lesotho (Kingdom of _)", "Belgium (Kingdom of _)", "Moldova (Republic of _)", - "Guinea-Bissau (Republic of _)", "Taiwan (Republic of China)", "Bhutan (Kingdom of _)", "Switzerland (Swiss Confederation)", - "Netherlands (The Netherlands) (Kingdom of the _)", "Denmark (Kingdom of _)", "Estonia (Republic of _)", "Dominican Republic", - "Slovakia (Slovak Republic)", "Costa Rica (Republic of _)", "Bosnia and Herzegovina", "Croatia (Republic of _)", - "Togo (Togolese Republic)", "Latvia (Republic of _)", "Lithuania (Republic of _)", "Sri Lanka (Democratic Socialist Republic of _)", - "Georgia", "Ireland (Republic of _)", "Sierra Leone (Republic of _)", "Panama (Republic of _)", - "Czech Republic", "French Guiana (Guiana)", "United Arab Emirates (Emirates)", "Austria (Republic of _)", - "Azerbaijan (Republic of _)", "Serbia (Republic of _)", "Jordan (Hashemite Kingdom of _) (Kingdom of _)", "Portugal (Portuguese Republic)", - "Hungary (Republic of _)", "South Korea (Republic of Korea)", "Iceland", "Guatemala (Republic of _)", - "Cuba (Republic of _)", "Bulgaria (Republic of _)", "Liberia (Republic of _)", "Honduras (Republic of _)", - "Benin (Republic of _)", "Eritrea (State of _)", "Malawi (Republic of _)", "North Korea (Democratic People's Republic of Korea)", - "Nicaragua (Republic of _)", "Greece (Hellenic Republic)", "Tajikistan (Republic of _)", "Bangladesh (People's Republic of _)", - "Nepal (Federal Democratic Republic of _)", "Tunisia (Tunisian Republic) (Republic of _)", "Suriname (Republic of _)", "Uruguay (Eastern Republic of _)", - "Cambodia (Kingdom of _)", "Syria (Syrian Arab Republic)", "Senegal (Republic of _)", "Kyrgyzstan (Kyrgyz Republic)", - "Belarus (Republic of _)", "Guyana (Co-operative Republic of _)", "Laos (Lao People's Democratic Republic)", "Romania", - "Ghana (Republic of _)", "Uganda (Republic of _)", "United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)", "Guinea (Republic of _) (Guinea-Conakry)", - "Ecuador (Republic of _)", "Western Sahara (Sahrawi Arab Democratic Republic)", "Gabon (Gabonese Republic)", "New Zealand", - "Burkina Faso", "Philippines (Republic of the _)", "Italy (Italian Republic)", "Oman (Sultanate of _)", - "Poland (Republic of _)", "Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)", "Norway (Kingdom of _)", "Malaysia", - "Vietnam (Socialist Republic of _)", "Finland (Republic of _)", "Congo-Brazzaville (West Congo) (Republic of the Congo)", "Germany (Federal Republic of _)", - "Japan", "Zimbabwe (Republic of _)", "Paraguay (Republic of _)", "Iraq (Republic of _)", - "Morocco (Kingdom of _)", "Uzbekistan (Republic of _)", "Sweden (Kingdom of _)", "Papua New Guinea (Independent State of _)", - "Cameroon (Republic of _)", "Turkmenistan", "Spain (Kingdom of _)", "Thailand (Kingdom of _)", - "Yemen (Republic of _)", "France (French Republic)", "Aaland Islands", "Kenya (Republic of _)", - "Botswana (Republic of _)", "Madagascar (Republic of _)", "Ukraine", "South Sudan (Republic of _)", - "Central African Republic", "Somalia (Federal Republic of _)", "Afghanistan (Islamic Republic of _)", "Myanmar (Republic of the Union of _) (Burma)", - "Zambia (Republic of _)", "Chile (Republic of _)", "Turkey (Republic of _)", "Pakistan (Islamic Republic of _)", - "Mozambique (Republic of _)", "Namibia (Republic of _)", "Venezuela (Bolivarian Republic of _)", "Nigeria (Federal Republic of _)", - "Tanzania (United Republic of _)", "Egypt (Arab Republic of _)", "Mauritania (Islamic Republic of _)", "Bolivia (Plurinational State of _)", - "Ethiopia (Federal Democratic Republic of _)", "Colombia (Republic of _)", "South Africa (Republic of _)", "Mali (Republic of _)", - "Angola (Republic of _)", "Niger (Republic of _)", "Chad (Republic of _)", "Peru (Republic of _)", - "Mongolia", "Iran (Persia) (Islamic Republic of _)", "Libya", "Sudan (Republic of the _)", - "Indonesia (Republic of _)", "Federal District", "Tlaxcala", "Morelos", - "Aguascalientes", "Colima", "Queretaro", "Hidalgo", - "Mexico State", "Tabasco", "Nayarit", "Guanajuato", - "Puebla", "Yucatan", "Quintana Roo", "Sinaloa", - "Campeche", "Michoacan", "San Luis Potosi", "Guerrero", - "Nuevo Leon (New Leon)", "Baja California", "Veracruz", "Chiapas", - "Baja California Sur", "Zacatecas", "Jalisco", "Tamaulipas", - "Oaxaca", "Durango", "Coahuila", "Sonora", - "Chihuahua", "Greenland", "Saudi Arabia (Kingdom of _)", "Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)", - "Algeria (People's Democratic Republic of _)", "Kazakhstan (Republic of _)", "Argentina (Argentine Republic)", "Daman and Diu", - "Dadra and Nagar Haveli", "Chandigarh", "Andaman and Nicobar", "Lakshadweep", - "Delhi (National Capital Territory of _)", "Meghalaya", "Nagaland", "Manipur", - "Tripura", "Mizoram", "Sikkim", "Punjab", - "Haryana", "Arunachal Pradesh", "Assam", "Bihar", - "Uttarakhand", "Goa", "Kerala", "Tamil Nadu", - "Himachal Pradesh", "Jammu and Kashmir", "Chhattisgarh", "Jharkhand", - "Karnataka", "Rajasthan", "Odisha (Orissa)", "Gujarat", - "West Bengal", "Madhya Pradesh", "Telangana", "Andhra Pradesh", - "Maharashtra", "Uttar Pradesh", "Puducherry", "New South Wales", - "Australian Capital Territory", "Jervis Bay Territory", "Northern Territory", "South Australia", - "Tasmania", "Victoria", "Western Australia", "Queensland", - "Distrito Federal", "Sergipe", "Alagoas", "Rio de Janeiro", - "Espirito Santo", "Rio Grande do Norte", "Paraiba", "Santa Catarina", - "Pernambuco", "Amapa", "Ceara", "Acre", - "Parana", "Roraima", "Rondonia", "Sao Paulo", - "Piaui", "Tocantins", "Rio Grande do Sul", "Maranhao", - "Goias", "Mato Grosso do Sul", "Bahia", "Minas Gerais", - "Mato Grosso", "Para", "Amazonas", "District of Columbia (Washington, D.C.)", - "Rhode Island", "Delaware", "Connecticut", "New Jersey", - "New Hampshire", "Vermont", "Massachusetts (Commonwealth of _)", "Hawaii", - "Maryland", "West Virginia", "South Carolina", "Maine", - "Indiana", "Kentucky (Commonwealth of _)", "Tennessee", "Virginia (Commonwealth of _)", - "Ohio", "Pennsylvania (Commonwealth of _)", "Mississippi", "Louisiana", - "Alabama", "Arkansas", "North Carolina", "New York", - "Iowa", "Illinois", "Georgia", "Wisconsin", - "Florida", "Missouri", "Oklahoma", "North Dakota", - "Washington", "South Dakota", "Nebraska", "Kansas", - "Idaho", "Utah", "Minnesota", "Michigan", - "Wyoming", "Oregon", "Colorado", "Nevada", - "Arizona", "New Mexico", "Montana", "California", - "Texas", "Alaska", "British Columbia", "Alberta", - "Ontario", "Quebec", "Saskatchewan", "Manitoba", - "Newfoundland and Labrador (Labrador)", "New Brunswick", "Nova Scotia", "Prince Edward Island", - "Yukon", "Northwest Territories", "Nunavut", "India (Republic of _)", - "Australia (Commonwealth of _)", "Brazil (Federative Republic of _)", "USA (United States of America) (America)", "Mexico (United Mexican States)", - "Moscow", "Saint Petersburg", "Kaliningrad Oblast", "Ingushetia", - "Adygea Republic", "North Ossetia-Alania Republic", "Kabardino-Balkar Republic", "Karachay-Cherkess Republic", - "Chechen Republic (Chechnya) (Ichkeria)", "Chuvash Republic", "Ivanovo Oblast", "Lipetsk Oblast", - "Oryol Oblast", "Tula Oblast", "Belgorod Oblast", "Vladimir Oblast", - "Kursk Oblast", "Kaluga Oblast", "Tambov Oblast", "Bryansk Oblast", - "Yaroslavl Oblast", "Ryazan Oblast", "Astrakhan Oblast", "Moscow Oblast", - "Smolensk Oblast", "Dagestan Republic", "Voronezh Oblast", "Novgorod Oblast", - "Pskov Oblast", "Kostroma Oblast", "Stavropol Krai", "Krasnodar Krai", - "Kalmykia Republic", "Tver Oblast", "Leningrad Oblast", "Rostov Oblast", - "Volgograd Oblast", "Vologda Oblast", "Murmansk Oblast", "Karelia Republic", - "Nenets Autonomous Okrug", "Komi Republic", "Arkhangelsk Oblast", "Mordovia Republic", - "Nizhny Novgorod Oblast", "Penza Oblast", "Kirov Oblast", "Mari El Republic", - "Orenburg Oblast", "Ulyanovsk Oblast", "Perm Krai", "Bashkortostan Republic", - "Udmurt Republic", "Tatarstan Republic", "Samara Oblast", "Saratov Oblast", - "Yamalo-Nenets", "Khanty-Mansi", "Sverdlovsk Oblast", "Tyumen Oblast", - "Kurgan Oblast", "Chelyabinsk Oblast", "Buryatia Republic", "Zabaykalsky Krai", - "Irkutsk Oblast", "Novosibirsk Oblast", "Tomsk Oblast", "Omsk Oblast", - "Khakassia Republic", "Kemerovo Oblast", "Altai Republic", "Altai Krai", - "Tuva Republic", "Krasnoyarsk Krai", "Magadan Oblast", "Chukotka Okrug", - "Kamchatka Krai", "Sakhalin Oblast", "Primorsky Krai", "Jewish Autonomous Oblast", - "Khabarovsk Krai", "Amur Oblast", "Sakha Republic (Yakutia Republic)", "Canada", - "Russia (Russian Federation)", "Shanghai Municipality", "Tianjin Municipality", "Beijing Municipality", - "Hainan Province", "Ningxia Hui Autonomous Region", "Chongqing Municipality", "Zhejiang Province", - "Jiangsu Province", "Fujian Province", "Anhui Province", "Liaoning Province", - "Shandong Province", "Shanxi Province", "Jiangxi Province", "Henan Province", - "Guizhou Province", "Guangdong Province", "Hubei Province", "Jilin Province", - "Hebei Province (Yanzhao Province)", "Shaanxi Province", "Nei Mongol Autonomous Region (Inner Mongolia)", "Heilongjiang Province", - "Hunan Province", "Guangxi Zhuang Autonomous Region", "Sichuan Province", "Yunnan Province", - "Xizang Autonomous Region (Tibet)", "Gansu Province", "Qinghai Province (Tsinghai Province)", "Xinjiang Uyghur Autonomous Region", - "China (People's Republic of _)", "United States Minor Outlying Islands", "Clipperton Island", "Antarctica", - "International (Worldwide) (Earth)", "?"}; + "Vatican City State (Holy See)", "Monaco (Principality of _)", "Gibraltar", "Tokelau", + "Cocos Islands (Keeling Islands)", "Saint-Barthelemy (Collectivity of _)", "Nauru (Republic of _)", "Tuvalu", + "Macau (Aomen)", "Sint Maarten", "Saint Martin (Collectivity of _)", + "Norfolk and Philip Island (Philip Island)", + "Pitcairn Group of Islands", "Bouvet Island", "Bermuda (Somers Isles)", "British Indian Ocean Territory", + "San Marino (Republic of _)", "Guernsey (Bailiwick of _)", "Anguilla", "Montserrat", + "Jersey (Bailiwick of _)", "Christmas Island", "Wallis and Futuna (Futuna) (Collectivity of the _ Islands)", + "British Virgin Islands (Virgin Islands, British)", + "Liechtenstein (Principality of _)", "Aruba", "Marshall Islands (Republic of the _)", + "American Samoa (Samoa, American)", + "Cook Islands", "Saint Pierre and Miquelon (Miquelon) (Collectivity of _)", "Niue", + "Saint Kitts and Nevis (Nevis) (Federation of _)", + "Cayman islands", "Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)", "Maldives (Republic of _)", + "Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)", + "Malta (Republic of _)", "Grenada", + "Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)", "Mayotte (Maore)", + "Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)", "Saint Vincent and the Grenadines (Grenadines)", + "Heard Island and McDonald Islands (McDonald Islands)", "Barbados", + "Antigua and Barbuda (Barbuda)", "Curacao", "Seychelles (Republic of _)", "Palau (Republic of _)", + "Northern Mariana Islands (Commonwealth of the _)", + "Andorra (Principality of _) (Principality of the Valleys of _)", "Guam", "Isle of Mann (Mann)", + "Saint Lucia", "Micronesia (Federated States of Micronesia)", "Singapore (Republic of _)", + "Tonga (Kingdom of _)", + "Dominica (Commonwealth of _)", "Bahrain (Kingdom of _)", "Kiribati (Republic of _)", + "Turks and Caicos Islands (Caicos Islands)", + "Sao Tome and Principe (Principe) (Democratic Republic of _)", "Hong Kong (Xianggang)", "Martinique", + "Faroe Islands", + "Guadeloupe", "Comoros (Union of the _)", "Mauritius (Republic of _)", "Reunion", + "Luxembourg (Grand Duchy of _)", "Samoa (Independent State of _)", + "South Georgia and the South Sandwich Islands (South Sandwich Islands)", "French Polynesia (Collectivity of _)", + "Cape Verde (Cabo Verde) (Republic of Cabo Verde)", "Trinidad and Tobago (Republic of _) (Tobago)", + "Brunei (Nation of _, the Abode of Peace)", "French Southern and Antarctic Lands", + "Puerto Rico (Commonwealth of _)", "Cyprus (Republic of _)", "Lebanon (Lebanese Republic)", "Jamaica", + "Gambia (The Gambia) (Republic of the _)", "Qatar (State of _)", "Falkland Islands", "Vanuatu (Republic of _)", + "Montenegro", "Bahamas (Commonwealth of the _)", "Timor-Leste (Democratic Republic of _) (East Timor)", + "Swaziland (Kingdom of _)", + "Kuwait (State of _)", "Fiji (Republic of _)", "New Caledonia", "Slovenia (Republic of _)", + "Israel (State of _)", "Palestinian territories (State of Palestine)", "El Salvador (Republic of _)", "Belize", + "Djibouti (Republic of _)", "Macedonia (Republic of _) (FYROM) (Former Yugoslav Republic of Macedonia)", + "Rwanda (Republic of _)", "Haiti (Republic of _)", + "Burundi (Republic of _)", "Equatorial Guinea (Republic of _)", "Albania (Republic of _)", "Solomon Islands", + "Armenia (Republic of _)", "Lesotho (Kingdom of _)", "Belgium (Kingdom of _)", "Moldova (Republic of _)", + "Guinea-Bissau (Republic of _)", "Taiwan (Republic of China)", "Bhutan (Kingdom of _)", + "Switzerland (Swiss Confederation)", + "Netherlands (The Netherlands) (Kingdom of the _)", "Denmark (Kingdom of _)", "Estonia (Republic of _)", + "Dominican Republic", + "Slovakia (Slovak Republic)", "Costa Rica (Republic of _)", "Bosnia and Herzegovina", "Croatia (Republic of _)", + "Togo (Togolese Republic)", "Latvia (Republic of _)", "Lithuania (Republic of _)", + "Sri Lanka (Democratic Socialist Republic of _)", + "Georgia", "Ireland (Republic of _)", "Sierra Leone (Republic of _)", "Panama (Republic of _)", + "Czech Republic", "French Guiana (Guiana)", "United Arab Emirates (Emirates)", "Austria (Republic of _)", + "Azerbaijan (Republic of _)", "Serbia (Republic of _)", "Jordan (Hashemite Kingdom of _) (Kingdom of _)", + "Portugal (Portuguese Republic)", + "Hungary (Republic of _)", "South Korea (Republic of Korea)", "Iceland", "Guatemala (Republic of _)", + "Cuba (Republic of _)", "Bulgaria (Republic of _)", "Liberia (Republic of _)", "Honduras (Republic of _)", + "Benin (Republic of _)", "Eritrea (State of _)", "Malawi (Republic of _)", + "North Korea (Democratic People's Republic of Korea)", + "Nicaragua (Republic of _)", "Greece (Hellenic Republic)", "Tajikistan (Republic of _)", + "Bangladesh (People's Republic of _)", + "Nepal (Federal Democratic Republic of _)", "Tunisia (Tunisian Republic) (Republic of _)", + "Suriname (Republic of _)", "Uruguay (Eastern Republic of _)", + "Cambodia (Kingdom of _)", "Syria (Syrian Arab Republic)", "Senegal (Republic of _)", + "Kyrgyzstan (Kyrgyz Republic)", + "Belarus (Republic of _)", "Guyana (Co-operative Republic of _)", "Laos (Lao People's Democratic Republic)", + "Romania", + "Ghana (Republic of _)", "Uganda (Republic of _)", + "United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)", + "Guinea (Republic of _) (Guinea-Conakry)", + "Ecuador (Republic of _)", "Western Sahara (Sahrawi Arab Democratic Republic)", "Gabon (Gabonese Republic)", + "New Zealand", + "Burkina Faso", "Philippines (Republic of the _)", "Italy (Italian Republic)", "Oman (Sultanate of _)", + "Poland (Republic of _)", "Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)", "Norway (Kingdom of _)", + "Malaysia", + "Vietnam (Socialist Republic of _)", "Finland (Republic of _)", + "Congo-Brazzaville (West Congo) (Republic of the Congo)", "Germany (Federal Republic of _)", + "Japan", "Zimbabwe (Republic of _)", "Paraguay (Republic of _)", "Iraq (Republic of _)", + "Morocco (Kingdom of _)", "Uzbekistan (Republic of _)", "Sweden (Kingdom of _)", + "Papua New Guinea (Independent State of _)", + "Cameroon (Republic of _)", "Turkmenistan", "Spain (Kingdom of _)", "Thailand (Kingdom of _)", + "Yemen (Republic of _)", "France (French Republic)", "Aaland Islands", "Kenya (Republic of _)", + "Botswana (Republic of _)", "Madagascar (Republic of _)", "Ukraine", "South Sudan (Republic of _)", + "Central African Republic", "Somalia (Federal Republic of _)", "Afghanistan (Islamic Republic of _)", + "Myanmar (Republic of the Union of _) (Burma)", + "Zambia (Republic of _)", "Chile (Republic of _)", "Turkey (Republic of _)", "Pakistan (Islamic Republic of _)", + "Mozambique (Republic of _)", "Namibia (Republic of _)", "Venezuela (Bolivarian Republic of _)", + "Nigeria (Federal Republic of _)", + "Tanzania (United Republic of _)", "Egypt (Arab Republic of _)", "Mauritania (Islamic Republic of _)", + "Bolivia (Plurinational State of _)", + "Ethiopia (Federal Democratic Republic of _)", "Colombia (Republic of _)", "South Africa (Republic of _)", + "Mali (Republic of _)", + "Angola (Republic of _)", "Niger (Republic of _)", "Chad (Republic of _)", "Peru (Republic of _)", + "Mongolia", "Iran (Persia) (Islamic Republic of _)", "Libya", "Sudan (Republic of the _)", + "Indonesia (Republic of _)", "Federal District", "Tlaxcala", "Morelos", + "Aguascalientes", "Colima", "Queretaro", "Hidalgo", + "Mexico State", "Tabasco", "Nayarit", "Guanajuato", + "Puebla", "Yucatan", "Quintana Roo", "Sinaloa", + "Campeche", "Michoacan", "San Luis Potosi", "Guerrero", + "Nuevo Leon (New Leon)", "Baja California", "Veracruz", "Chiapas", + "Baja California Sur", "Zacatecas", "Jalisco", "Tamaulipas", + "Oaxaca", "Durango", "Coahuila", "Sonora", + "Chihuahua", "Greenland", "Saudi Arabia (Kingdom of _)", + "Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)", + "Algeria (People's Democratic Republic of _)", "Kazakhstan (Republic of _)", "Argentina (Argentine Republic)", + "Daman and Diu", + "Dadra and Nagar Haveli", "Chandigarh", "Andaman and Nicobar", "Lakshadweep", + "Delhi (National Capital Territory of _)", "Meghalaya", "Nagaland", "Manipur", + "Tripura", "Mizoram", "Sikkim", "Punjab", + "Haryana", "Arunachal Pradesh", "Assam", "Bihar", + "Uttarakhand", "Goa", "Kerala", "Tamil Nadu", + "Himachal Pradesh", "Jammu and Kashmir", "Chhattisgarh", "Jharkhand", + "Karnataka", "Rajasthan", "Odisha (Orissa)", "Gujarat", + "West Bengal", "Madhya Pradesh", "Telangana", "Andhra Pradesh", + "Maharashtra", "Uttar Pradesh", "Puducherry", "New South Wales", + "Australian Capital Territory", "Jervis Bay Territory", "Northern Territory", "South Australia", + "Tasmania", "Victoria", "Western Australia", "Queensland", + "Distrito Federal", "Sergipe", "Alagoas", "Rio de Janeiro", + "Espirito Santo", "Rio Grande do Norte", "Paraiba", "Santa Catarina", + "Pernambuco", "Amapa", "Ceara", "Acre", + "Parana", "Roraima", "Rondonia", "Sao Paulo", + "Piaui", "Tocantins", "Rio Grande do Sul", "Maranhao", + "Goias", "Mato Grosso do Sul", "Bahia", "Minas Gerais", + "Mato Grosso", "Para", "Amazonas", "District of Columbia (Washington, D.C.)", + "Rhode Island", "Delaware", "Connecticut", "New Jersey", + "New Hampshire", "Vermont", "Massachusetts (Commonwealth of _)", "Hawaii", + "Maryland", "West Virginia", "South Carolina", "Maine", + "Indiana", "Kentucky (Commonwealth of _)", "Tennessee", "Virginia (Commonwealth of _)", + "Ohio", "Pennsylvania (Commonwealth of _)", "Mississippi", "Louisiana", + "Alabama", "Arkansas", "North Carolina", "New York", + "Iowa", "Illinois", "Georgia", "Wisconsin", + "Florida", "Missouri", "Oklahoma", "North Dakota", + "Washington", "South Dakota", "Nebraska", "Kansas", + "Idaho", "Utah", "Minnesota", "Michigan", + "Wyoming", "Oregon", "Colorado", "Nevada", + "Arizona", "New Mexico", "Montana", "California", + "Texas", "Alaska", "British Columbia", "Alberta", + "Ontario", "Quebec", "Saskatchewan", "Manitoba", + "Newfoundland and Labrador (Labrador)", "New Brunswick", "Nova Scotia", "Prince Edward Island", + "Yukon", "Northwest Territories", "Nunavut", "India (Republic of _)", + "Australia (Commonwealth of _)", "Brazil (Federative Republic of _)", + "USA (United States of America) (America)", "Mexico (United Mexican States)", + "Moscow", "Saint Petersburg", "Kaliningrad Oblast", "Ingushetia", + "Adygea Republic", "North Ossetia-Alania Republic", "Kabardino-Balkar Republic", "Karachay-Cherkess Republic", + "Chechen Republic (Chechnya) (Ichkeria)", "Chuvash Republic", "Ivanovo Oblast", "Lipetsk Oblast", + "Oryol Oblast", "Tula Oblast", "Belgorod Oblast", "Vladimir Oblast", + "Kursk Oblast", "Kaluga Oblast", "Tambov Oblast", "Bryansk Oblast", + "Yaroslavl Oblast", "Ryazan Oblast", "Astrakhan Oblast", "Moscow Oblast", + "Smolensk Oblast", "Dagestan Republic", "Voronezh Oblast", "Novgorod Oblast", + "Pskov Oblast", "Kostroma Oblast", "Stavropol Krai", "Krasnodar Krai", + "Kalmykia Republic", "Tver Oblast", "Leningrad Oblast", "Rostov Oblast", + "Volgograd Oblast", "Vologda Oblast", "Murmansk Oblast", "Karelia Republic", + "Nenets Autonomous Okrug", "Komi Republic", "Arkhangelsk Oblast", "Mordovia Republic", + "Nizhny Novgorod Oblast", "Penza Oblast", "Kirov Oblast", "Mari El Republic", + "Orenburg Oblast", "Ulyanovsk Oblast", "Perm Krai", "Bashkortostan Republic", + "Udmurt Republic", "Tatarstan Republic", "Samara Oblast", "Saratov Oblast", + "Yamalo-Nenets", "Khanty-Mansi", "Sverdlovsk Oblast", "Tyumen Oblast", + "Kurgan Oblast", "Chelyabinsk Oblast", "Buryatia Republic", "Zabaykalsky Krai", + "Irkutsk Oblast", "Novosibirsk Oblast", "Tomsk Oblast", "Omsk Oblast", + "Khakassia Republic", "Kemerovo Oblast", "Altai Republic", "Altai Krai", + "Tuva Republic", "Krasnoyarsk Krai", "Magadan Oblast", "Chukotka Okrug", + "Kamchatka Krai", "Sakhalin Oblast", "Primorsky Krai", "Jewish Autonomous Oblast", + "Khabarovsk Krai", "Amur Oblast", "Sakha Republic (Yakutia Republic)", "Canada", + "Russia (Russian Federation)", "Shanghai Municipality", "Tianjin Municipality", "Beijing Municipality", + "Hainan Province", "Ningxia Hui Autonomous Region", "Chongqing Municipality", "Zhejiang Province", + "Jiangsu Province", "Fujian Province", "Anhui Province", "Liaoning Province", + "Shandong Province", "Shanxi Province", "Jiangxi Province", "Henan Province", + "Guizhou Province", "Guangdong Province", "Hubei Province", "Jilin Province", + "Hebei Province (Yanzhao Province)", "Shaanxi Province", "Nei Mongol Autonomous Region (Inner Mongolia)", + "Heilongjiang Province", + "Hunan Province", "Guangxi Zhuang Autonomous Region", "Sichuan Province", "Yunnan Province", + "Xizang Autonomous Region (Tibet)", "Gansu Province", "Qinghai Province (Tsinghai Province)", + "Xinjiang Uyghur Autonomous Region", + "China (People's Republic of _)", "United States Minor Outlying Islands", "Clipperton Island", "Antarctica", + "International (Worldwide) (Earth)", "?"}; diff --git a/mapcodelib/mapcode_countrynames_short.h b/mapcodelib/mapcode_countrynames_short.h index 954f738..9fe3871 100644 --- a/mapcodelib/mapcode_countrynames_short.h +++ b/mapcodelib/mapcode_countrynames_short.h @@ -12,540 +12,540 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ const char *isofullname[] = { -"Vatican City State (Holy See)", -"Monaco", -"Gibraltar", -"Tokelau", -"Cocos Islands (Keeling Islands)", -"Saint-Barthelemy", -"Nauru", -"Tuvalu", -"Macau (Aomen)", -"Sint Maarten", -"Saint Martin", -"Norfolk and Philip Island (Philip Island)", -"Pitcairn Group of Islands", -"Bouvet Island", -"Bermuda (Somers Isles)", -"British Indian Ocean Territory", -"San Marino", -"Guernsey", -"Anguilla", -"Montserrat", -"Jersey", -"Christmas Island", -"Wallis and Futuna (Futuna)", -"British Virgin Islands (Virgin Islands, British)", -"Liechtenstein", -"Aruba", -"Marshall Islands", -"American Samoa (Samoa, American)", -"Cook Islands", -"Saint Pierre and Miquelon (Miquelon)", -"Niue", -"Saint Kitts and Nevis (Nevis)", -"Cayman islands", -"Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)", -"Maldives", -"Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)", -"Malta", -"Grenada", -"Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)", -"Mayotte (Maore)", -"Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)", -"Saint Vincent and the Grenadines (Grenadines)", -"Heard Island and McDonald Islands (McDonald Islands)", -"Barbados", -"Antigua and Barbuda (Barbuda)", -"Curacao", -"Seychelles", -"Palau", -"Northern Mariana Islands", -"Andorra", -"Guam", -"Isle of Mann (Mann)", -"Saint Lucia", -"Micronesia (Federated States of Micronesia)", -"Singapore", -"Tonga", -"Dominica", -"Bahrain", -"Kiribati", -"Turks and Caicos Islands (Caicos Islands)", -"Sao Tome and Principe (Principe)", -"Hong Kong (Xianggang)", -"Martinique", -"Faroe Islands", -"Guadeloupe", -"Comoros", -"Mauritius", -"Reunion", -"Luxembourg", -"Samoa", -"South Georgia and the South Sandwich Islands (South Sandwich Islands)", -"French Polynesia", -"Cape Verde (Cabo Verde) (Republic of Cabo Verde)", -"Trinidad and Tobago (Tobago)", -"Brunei", -"French Southern and Antarctic Lands", -"Puerto Rico", -"Cyprus", -"Lebanon (Lebanese Republic)", -"Jamaica", -"Gambia (The Gambia)", -"Qatar", -"Falkland Islands", -"Vanuatu", -"Montenegro", -"Bahamas", -"Timor-Leste (East Timor)", -"Swaziland", -"Kuwait", -"Fiji", -"New Caledonia", -"Slovenia", -"Israel", -"Palestinian territories (State of Palestine)", -"El Salvador", -"Belize", -"Djibouti", -"Macedonia (FYROM) (Former Yugoslav Republic of Macedonia)", -"Rwanda", -"Haiti", -"Burundi", -"Equatorial Guinea", -"Albania", -"Solomon Islands", -"Armenia", -"Lesotho", -"Belgium", -"Moldova", -"Guinea-Bissau", -"Taiwan (Republic of China)", -"Bhutan", -"Switzerland (Swiss Confederation)", -"Netherlands (The Netherlands)", -"Denmark", -"Estonia", -"Dominican Republic", -"Slovakia (Slovak Republic)", -"Costa Rica", -"Bosnia and Herzegovina", -"Croatia", -"Togo (Togolese Republic)", -"Latvia", -"Lithuania", -"Sri Lanka", -"Georgia", -"Ireland", -"Sierra Leone", -"Panama", -"Czech Republic", -"French Guiana (Guiana)", -"United Arab Emirates (Emirates)", -"Austria", -"Azerbaijan", -"Serbia", -"Jordan", -"Portugal (Portuguese Republic)", -"Hungary", -"South Korea (Republic of Korea)", -"Iceland", -"Guatemala", -"Cuba", -"Bulgaria", -"Liberia", -"Honduras", -"Benin", -"Eritrea", -"Malawi", -"North Korea (Democratic People's Republic of Korea)", -"Nicaragua", -"Greece (Hellenic Republic)", -"Tajikistan", -"Bangladesh", -"Nepal", -"Tunisia (Tunisian Republic)", -"Suriname", -"Uruguay", -"Cambodia", -"Syria (Syrian Arab Republic)", -"Senegal", -"Kyrgyzstan (Kyrgyz Republic)", -"Belarus", -"Guyana", -"Laos (Lao People's Democratic Republic)", -"Romania", -"Ghana", -"Uganda", -"United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)", -"Guinea (Guinea-Conakry)", -"Ecuador", -"Western Sahara (Sahrawi Arab Democratic Republic)", -"Gabon (Gabonese Republic)", -"New Zealand", -"Burkina Faso", -"Philippines", -"Italy (Italian Republic)", -"Oman", -"Poland", -"Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)", -"Norway", -"Malaysia", -"Vietnam", -"Finland", -"Congo-Brazzaville (West Congo) (Republic of the Congo)", -"Germany", -"Japan", -"Zimbabwe", -"Paraguay", -"Iraq", -"Morocco", -"Uzbekistan", -"Sweden", -"Papua New Guinea", -"Cameroon", -"Turkmenistan", -"Spain", -"Thailand", -"Yemen", -"France (French Republic)", -"Aaland Islands", -"Kenya", -"Botswana", -"Madagascar", -"Ukraine", -"South Sudan", -"Central African Republic", -"Somalia", -"Afghanistan", -"Myanmar (Burma)", -"Zambia", -"Chile", -"Turkey", -"Pakistan", -"Mozambique", -"Namibia", -"Venezuela", -"Nigeria", -"Tanzania", -"Egypt", -"Mauritania", -"Bolivia", -"Ethiopia", -"Colombia", -"South Africa", -"Mali", -"Angola", -"Niger", -"Chad", -"Peru", -"Mongolia", -"Iran (Persia)", -"Libya", -"Sudan", -"Indonesia", -"Federal District", -"Tlaxcala", -"Morelos", -"Aguascalientes", -"Colima", -"Queretaro", -"Hidalgo", -"Mexico State", -"Tabasco", -"Nayarit", -"Guanajuato", -"Puebla", -"Yucatan", -"Quintana Roo", -"Sinaloa", -"Campeche", -"Michoacan", -"San Luis Potosi", -"Guerrero", -"Nuevo Leon (New Leon)", -"Baja California", -"Veracruz", -"Chiapas", -"Baja California Sur", -"Zacatecas", -"Jalisco", -"Tamaulipas", -"Oaxaca", -"Durango", -"Coahuila", -"Sonora", -"Chihuahua", -"Greenland", -"Saudi Arabia", -"Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)", -"Algeria", -"Kazakhstan", -"Argentina (Argentine Republic)", -"Daman and Diu", -"Dadra and Nagar Haveli", -"Chandigarh", -"Andaman and Nicobar", -"Lakshadweep", -"Delhi", -"Meghalaya", -"Nagaland", -"Manipur", -"Tripura", -"Mizoram", -"Sikkim", -"Punjab", -"Haryana", -"Arunachal Pradesh", -"Assam", -"Bihar", -"Uttarakhand", -"Goa", -"Kerala", -"Tamil Nadu", -"Himachal Pradesh", -"Jammu and Kashmir", -"Chhattisgarh", -"Jharkhand", -"Karnataka", -"Rajasthan", -"Odisha (Orissa)", -"Gujarat", -"West Bengal", -"Madhya Pradesh", -"Telangana", -"Andhra Pradesh", -"Maharashtra", -"Uttar Pradesh", -"Puducherry", -"New South Wales", -"Australian Capital Territory", -"Jervis Bay Territory", -"Northern Territory", -"South Australia", -"Tasmania", -"Victoria", -"Western Australia", -"Queensland", -"Distrito Federal", -"Sergipe", -"Alagoas", -"Rio de Janeiro", -"Espirito Santo", -"Rio Grande do Norte", -"Paraiba", -"Santa Catarina", -"Pernambuco", -"Amapa", -"Ceara", -"Acre", -"Parana", -"Roraima", -"Rondonia", -"Sao Paulo", -"Piaui", -"Tocantins", -"Rio Grande do Sul", -"Maranhao", -"Goias", -"Mato Grosso do Sul", -"Bahia", -"Minas Gerais", -"Mato Grosso", -"Para", -"Amazonas", -"District of Columbia (Washington, D.C.)", -"Rhode Island", -"Delaware", -"Connecticut", -"New Jersey", -"New Hampshire", -"Vermont", -"Massachusetts", -"Hawaii", -"Maryland", -"West Virginia", -"South Carolina", -"Maine", -"Indiana", -"Kentucky", -"Tennessee", -"Virginia", -"Ohio", -"Pennsylvania", -"Mississippi", -"Louisiana", -"Alabama", -"Arkansas", -"North Carolina", -"New York", -"Iowa", -"Illinois", -"Georgia", -"Wisconsin", -"Florida", -"Missouri", -"Oklahoma", -"North Dakota", -"Washington", -"South Dakota", -"Nebraska", -"Kansas", -"Idaho", -"Utah", -"Minnesota", -"Michigan", -"Wyoming", -"Oregon", -"Colorado", -"Nevada", -"Arizona", -"New Mexico", -"Montana", -"California", -"Texas", -"Alaska", -"British Columbia", -"Alberta", -"Ontario", -"Quebec", -"Saskatchewan", -"Manitoba", -"Newfoundland and Labrador (Labrador)", -"New Brunswick", -"Nova Scotia", -"Prince Edward Island", -"Yukon", -"Northwest Territories", -"Nunavut", -"India", -"Australia", -"Brazil", -"USA (United States of America) (America)", -"Mexico (United Mexican States)", -"Moscow", -"Saint Petersburg", -"Kaliningrad Oblast", -"Ingushetia", -"Adygea Republic", -"North Ossetia-Alania Republic", -"Kabardino-Balkar Republic", -"Karachay-Cherkess Republic", -"Chechen Republic (Chechnya) (Ichkeria)", -"Chuvash Republic", -"Ivanovo Oblast", -"Lipetsk Oblast", -"Oryol Oblast", -"Tula Oblast", -"Belgorod Oblast", -"Vladimir Oblast", -"Kursk Oblast", -"Kaluga Oblast", -"Tambov Oblast", -"Bryansk Oblast", -"Yaroslavl Oblast", -"Ryazan Oblast", -"Astrakhan Oblast", -"Moscow Oblast", -"Smolensk Oblast", -"Dagestan Republic", -"Voronezh Oblast", -"Novgorod Oblast", -"Pskov Oblast", -"Kostroma Oblast", -"Stavropol Krai", -"Krasnodar Krai", -"Kalmykia Republic", -"Tver Oblast", -"Leningrad Oblast", -"Rostov Oblast", -"Volgograd Oblast", -"Vologda Oblast", -"Murmansk Oblast", -"Karelia Republic", -"Nenets Autonomous Okrug", -"Komi Republic", -"Arkhangelsk Oblast", -"Mordovia Republic", -"Nizhny Novgorod Oblast", -"Penza Oblast", -"Kirov Oblast", -"Mari El Republic", -"Orenburg Oblast", -"Ulyanovsk Oblast", -"Perm Krai", -"Bashkortostan Republic", -"Udmurt Republic", -"Tatarstan Republic", -"Samara Oblast", -"Saratov Oblast", -"Yamalo-Nenets", -"Khanty-Mansi", -"Sverdlovsk Oblast", -"Tyumen Oblast", -"Kurgan Oblast", -"Chelyabinsk Oblast", -"Buryatia Republic", -"Zabaykalsky Krai", -"Irkutsk Oblast", -"Novosibirsk Oblast", -"Tomsk Oblast", -"Omsk Oblast", -"Khakassia Republic", -"Kemerovo Oblast", -"Altai Republic", -"Altai Krai", -"Tuva Republic", -"Krasnoyarsk Krai", -"Magadan Oblast", -"Chukotka Okrug", -"Kamchatka Krai", -"Sakhalin Oblast", -"Primorsky Krai", -"Jewish Autonomous Oblast", -"Khabarovsk Krai", -"Amur Oblast", -"Sakha Republic (Yakutia Republic)", -"Canada", -"Russia (Russian Federation)", -"Shanghai", -"Tianjin", -"Beijing", -"Hainan", -"Ningxia Hui", -"Chongqing", -"Zhejiang", -"Jiangsu", -"Fujian", -"Anhui", -"Liaoning", -"Shandong", -"Shanxi", -"Jiangxi", -"Henan", -"Guizhou", -"Guangdong", -"Hubei", -"Jilin", -"Hebei (Yanzhao)", -"Shaanxi", -"Nei Mongol (Inner Mongolia)", -"Heilongjiang", -"Hunan", -"Guangxi Zhuang", -"Sichuan", -"Yunnan", -"Xizang (Tibet)", -"Gansu", -"Qinghai (Tsinghai)", -"Xinjiang Uyghur", -"China", -"United States Minor Outlying Islands", -"Clipperton Island", -"Antarctica", -"International (Worldwide) (Earth)", -"?"}; + "Vatican City State (Holy See)", + "Monaco", + "Gibraltar", + "Tokelau", + "Cocos Islands (Keeling Islands)", + "Saint-Barthelemy", + "Nauru", + "Tuvalu", + "Macau (Aomen)", + "Sint Maarten", + "Saint Martin", + "Norfolk and Philip Island (Philip Island)", + "Pitcairn Group of Islands", + "Bouvet Island", + "Bermuda (Somers Isles)", + "British Indian Ocean Territory", + "San Marino", + "Guernsey", + "Anguilla", + "Montserrat", + "Jersey", + "Christmas Island", + "Wallis and Futuna (Futuna)", + "British Virgin Islands (Virgin Islands, British)", + "Liechtenstein", + "Aruba", + "Marshall Islands", + "American Samoa (Samoa, American)", + "Cook Islands", + "Saint Pierre and Miquelon (Miquelon)", + "Niue", + "Saint Kitts and Nevis (Nevis)", + "Cayman islands", + "Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)", + "Maldives", + "Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)", + "Malta", + "Grenada", + "Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)", + "Mayotte (Maore)", + "Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)", + "Saint Vincent and the Grenadines (Grenadines)", + "Heard Island and McDonald Islands (McDonald Islands)", + "Barbados", + "Antigua and Barbuda (Barbuda)", + "Curacao", + "Seychelles", + "Palau", + "Northern Mariana Islands", + "Andorra", + "Guam", + "Isle of Mann (Mann)", + "Saint Lucia", + "Micronesia (Federated States of Micronesia)", + "Singapore", + "Tonga", + "Dominica", + "Bahrain", + "Kiribati", + "Turks and Caicos Islands (Caicos Islands)", + "Sao Tome and Principe (Principe)", + "Hong Kong (Xianggang)", + "Martinique", + "Faroe Islands", + "Guadeloupe", + "Comoros", + "Mauritius", + "Reunion", + "Luxembourg", + "Samoa", + "South Georgia and the South Sandwich Islands (South Sandwich Islands)", + "French Polynesia", + "Cape Verde (Cabo Verde) (Republic of Cabo Verde)", + "Trinidad and Tobago (Tobago)", + "Brunei", + "French Southern and Antarctic Lands", + "Puerto Rico", + "Cyprus", + "Lebanon (Lebanese Republic)", + "Jamaica", + "Gambia (The Gambia)", + "Qatar", + "Falkland Islands", + "Vanuatu", + "Montenegro", + "Bahamas", + "Timor-Leste (East Timor)", + "Swaziland", + "Kuwait", + "Fiji", + "New Caledonia", + "Slovenia", + "Israel", + "Palestinian territories (State of Palestine)", + "El Salvador", + "Belize", + "Djibouti", + "Macedonia (FYROM) (Former Yugoslav Republic of Macedonia)", + "Rwanda", + "Haiti", + "Burundi", + "Equatorial Guinea", + "Albania", + "Solomon Islands", + "Armenia", + "Lesotho", + "Belgium", + "Moldova", + "Guinea-Bissau", + "Taiwan (Republic of China)", + "Bhutan", + "Switzerland (Swiss Confederation)", + "Netherlands (The Netherlands)", + "Denmark", + "Estonia", + "Dominican Republic", + "Slovakia (Slovak Republic)", + "Costa Rica", + "Bosnia and Herzegovina", + "Croatia", + "Togo (Togolese Republic)", + "Latvia", + "Lithuania", + "Sri Lanka", + "Georgia", + "Ireland", + "Sierra Leone", + "Panama", + "Czech Republic", + "French Guiana (Guiana)", + "United Arab Emirates (Emirates)", + "Austria", + "Azerbaijan", + "Serbia", + "Jordan", + "Portugal (Portuguese Republic)", + "Hungary", + "South Korea (Republic of Korea)", + "Iceland", + "Guatemala", + "Cuba", + "Bulgaria", + "Liberia", + "Honduras", + "Benin", + "Eritrea", + "Malawi", + "North Korea (Democratic People's Republic of Korea)", + "Nicaragua", + "Greece (Hellenic Republic)", + "Tajikistan", + "Bangladesh", + "Nepal", + "Tunisia (Tunisian Republic)", + "Suriname", + "Uruguay", + "Cambodia", + "Syria (Syrian Arab Republic)", + "Senegal", + "Kyrgyzstan (Kyrgyz Republic)", + "Belarus", + "Guyana", + "Laos (Lao People's Democratic Republic)", + "Romania", + "Ghana", + "Uganda", + "United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)", + "Guinea (Guinea-Conakry)", + "Ecuador", + "Western Sahara (Sahrawi Arab Democratic Republic)", + "Gabon (Gabonese Republic)", + "New Zealand", + "Burkina Faso", + "Philippines", + "Italy (Italian Republic)", + "Oman", + "Poland", + "Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)", + "Norway", + "Malaysia", + "Vietnam", + "Finland", + "Congo-Brazzaville (West Congo) (Republic of the Congo)", + "Germany", + "Japan", + "Zimbabwe", + "Paraguay", + "Iraq", + "Morocco", + "Uzbekistan", + "Sweden", + "Papua New Guinea", + "Cameroon", + "Turkmenistan", + "Spain", + "Thailand", + "Yemen", + "France (French Republic)", + "Aaland Islands", + "Kenya", + "Botswana", + "Madagascar", + "Ukraine", + "South Sudan", + "Central African Republic", + "Somalia", + "Afghanistan", + "Myanmar (Burma)", + "Zambia", + "Chile", + "Turkey", + "Pakistan", + "Mozambique", + "Namibia", + "Venezuela", + "Nigeria", + "Tanzania", + "Egypt", + "Mauritania", + "Bolivia", + "Ethiopia", + "Colombia", + "South Africa", + "Mali", + "Angola", + "Niger", + "Chad", + "Peru", + "Mongolia", + "Iran (Persia)", + "Libya", + "Sudan", + "Indonesia", + "Federal District", + "Tlaxcala", + "Morelos", + "Aguascalientes", + "Colima", + "Queretaro", + "Hidalgo", + "Mexico State", + "Tabasco", + "Nayarit", + "Guanajuato", + "Puebla", + "Yucatan", + "Quintana Roo", + "Sinaloa", + "Campeche", + "Michoacan", + "San Luis Potosi", + "Guerrero", + "Nuevo Leon (New Leon)", + "Baja California", + "Veracruz", + "Chiapas", + "Baja California Sur", + "Zacatecas", + "Jalisco", + "Tamaulipas", + "Oaxaca", + "Durango", + "Coahuila", + "Sonora", + "Chihuahua", + "Greenland", + "Saudi Arabia", + "Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)", + "Algeria", + "Kazakhstan", + "Argentina (Argentine Republic)", + "Daman and Diu", + "Dadra and Nagar Haveli", + "Chandigarh", + "Andaman and Nicobar", + "Lakshadweep", + "Delhi", + "Meghalaya", + "Nagaland", + "Manipur", + "Tripura", + "Mizoram", + "Sikkim", + "Punjab", + "Haryana", + "Arunachal Pradesh", + "Assam", + "Bihar", + "Uttarakhand", + "Goa", + "Kerala", + "Tamil Nadu", + "Himachal Pradesh", + "Jammu and Kashmir", + "Chhattisgarh", + "Jharkhand", + "Karnataka", + "Rajasthan", + "Odisha (Orissa)", + "Gujarat", + "West Bengal", + "Madhya Pradesh", + "Telangana", + "Andhra Pradesh", + "Maharashtra", + "Uttar Pradesh", + "Puducherry", + "New South Wales", + "Australian Capital Territory", + "Jervis Bay Territory", + "Northern Territory", + "South Australia", + "Tasmania", + "Victoria", + "Western Australia", + "Queensland", + "Distrito Federal", + "Sergipe", + "Alagoas", + "Rio de Janeiro", + "Espirito Santo", + "Rio Grande do Norte", + "Paraiba", + "Santa Catarina", + "Pernambuco", + "Amapa", + "Ceara", + "Acre", + "Parana", + "Roraima", + "Rondonia", + "Sao Paulo", + "Piaui", + "Tocantins", + "Rio Grande do Sul", + "Maranhao", + "Goias", + "Mato Grosso do Sul", + "Bahia", + "Minas Gerais", + "Mato Grosso", + "Para", + "Amazonas", + "District of Columbia (Washington, D.C.)", + "Rhode Island", + "Delaware", + "Connecticut", + "New Jersey", + "New Hampshire", + "Vermont", + "Massachusetts", + "Hawaii", + "Maryland", + "West Virginia", + "South Carolina", + "Maine", + "Indiana", + "Kentucky", + "Tennessee", + "Virginia", + "Ohio", + "Pennsylvania", + "Mississippi", + "Louisiana", + "Alabama", + "Arkansas", + "North Carolina", + "New York", + "Iowa", + "Illinois", + "Georgia", + "Wisconsin", + "Florida", + "Missouri", + "Oklahoma", + "North Dakota", + "Washington", + "South Dakota", + "Nebraska", + "Kansas", + "Idaho", + "Utah", + "Minnesota", + "Michigan", + "Wyoming", + "Oregon", + "Colorado", + "Nevada", + "Arizona", + "New Mexico", + "Montana", + "California", + "Texas", + "Alaska", + "British Columbia", + "Alberta", + "Ontario", + "Quebec", + "Saskatchewan", + "Manitoba", + "Newfoundland and Labrador (Labrador)", + "New Brunswick", + "Nova Scotia", + "Prince Edward Island", + "Yukon", + "Northwest Territories", + "Nunavut", + "India", + "Australia", + "Brazil", + "USA (United States of America) (America)", + "Mexico (United Mexican States)", + "Moscow", + "Saint Petersburg", + "Kaliningrad Oblast", + "Ingushetia", + "Adygea Republic", + "North Ossetia-Alania Republic", + "Kabardino-Balkar Republic", + "Karachay-Cherkess Republic", + "Chechen Republic (Chechnya) (Ichkeria)", + "Chuvash Republic", + "Ivanovo Oblast", + "Lipetsk Oblast", + "Oryol Oblast", + "Tula Oblast", + "Belgorod Oblast", + "Vladimir Oblast", + "Kursk Oblast", + "Kaluga Oblast", + "Tambov Oblast", + "Bryansk Oblast", + "Yaroslavl Oblast", + "Ryazan Oblast", + "Astrakhan Oblast", + "Moscow Oblast", + "Smolensk Oblast", + "Dagestan Republic", + "Voronezh Oblast", + "Novgorod Oblast", + "Pskov Oblast", + "Kostroma Oblast", + "Stavropol Krai", + "Krasnodar Krai", + "Kalmykia Republic", + "Tver Oblast", + "Leningrad Oblast", + "Rostov Oblast", + "Volgograd Oblast", + "Vologda Oblast", + "Murmansk Oblast", + "Karelia Republic", + "Nenets Autonomous Okrug", + "Komi Republic", + "Arkhangelsk Oblast", + "Mordovia Republic", + "Nizhny Novgorod Oblast", + "Penza Oblast", + "Kirov Oblast", + "Mari El Republic", + "Orenburg Oblast", + "Ulyanovsk Oblast", + "Perm Krai", + "Bashkortostan Republic", + "Udmurt Republic", + "Tatarstan Republic", + "Samara Oblast", + "Saratov Oblast", + "Yamalo-Nenets", + "Khanty-Mansi", + "Sverdlovsk Oblast", + "Tyumen Oblast", + "Kurgan Oblast", + "Chelyabinsk Oblast", + "Buryatia Republic", + "Zabaykalsky Krai", + "Irkutsk Oblast", + "Novosibirsk Oblast", + "Tomsk Oblast", + "Omsk Oblast", + "Khakassia Republic", + "Kemerovo Oblast", + "Altai Republic", + "Altai Krai", + "Tuva Republic", + "Krasnoyarsk Krai", + "Magadan Oblast", + "Chukotka Okrug", + "Kamchatka Krai", + "Sakhalin Oblast", + "Primorsky Krai", + "Jewish Autonomous Oblast", + "Khabarovsk Krai", + "Amur Oblast", + "Sakha Republic (Yakutia Republic)", + "Canada", + "Russia (Russian Federation)", + "Shanghai", + "Tianjin", + "Beijing", + "Hainan", + "Ningxia Hui", + "Chongqing", + "Zhejiang", + "Jiangsu", + "Fujian", + "Anhui", + "Liaoning", + "Shandong", + "Shanxi", + "Jiangxi", + "Henan", + "Guizhou", + "Guangdong", + "Hubei", + "Jilin", + "Hebei (Yanzhao)", + "Shaanxi", + "Nei Mongol (Inner Mongolia)", + "Heilongjiang", + "Hunan", + "Guangxi Zhuang", + "Sichuan", + "Yunnan", + "Xizang (Tibet)", + "Gansu", + "Qinghai (Tsinghai)", + "Xinjiang Uyghur", + "China", + "United States Minor Outlying Islands", + "Clipperton Island", + "Antarctica", + "International (Worldwide) (Earth)", + "?"}; diff --git a/mapcodelib/mapcoder.c b/mapcodelib/mapcoder.c index d4165dc..643c38e 100644 --- a/mapcodelib/mapcoder.c +++ b/mapcodelib/mapcoder.c @@ -148,7 +148,7 @@ static int disambiguate_str( const char *s, int len ) // returns disambiguation { char *t; for(t=country;*t!=0;t++) - *t = toupper(*t); + *t = (char) toupper(*t); } f=strstr(p,country); if (f==NULL) @@ -185,9 +185,9 @@ static int ccode_of_iso3(const char *in_iso, int parentcode ) } else return -23; // solve bad args // make (uppercased) copy of at most three characters - iso[0]=toupper(in_iso[0]); - if (iso[0]) iso[1]=toupper(in_iso[1]); - if (iso[1]) iso[2]=toupper(in_iso[2]); + iso[0]=(char) toupper(in_iso[0]); + if (iso[0]) iso[1]=(char)toupper(in_iso[1]); + if (iso[1]) iso[2]=(char)toupper(in_iso[2]); iso[3]=0; if ( iso[2]==0 || iso[2]==' ' ) // 2-letter iso code? @@ -556,7 +556,6 @@ static int decodeGrid(decodeRec *dec, int m, int hasHeaderLetter ) { int pw = nc[prelen]; divx = ( pw / divy ); - divx = ( pw / divy ); } if ( prelen==4 && divx==xside[4] && divy==yside[4] ) @@ -612,11 +611,11 @@ static int decodeGrid(decodeRec *dec, int m, int hasHeaderLetter ) } else { - int v; + int v2; if ( postlen==4 ) { char t = r[1]; r[1]=r[2]; r[2]=t; } // swap - v = decodeBase31(r); - difx = ( v/yp ); - dify = ( v%yp ); + v2 = decodeBase31(r); + difx = ( v2 /yp ); + dify = ( v2 %yp ); if ( postlen==4 ) { char t = r[1]; r[1]=r[2]; r[2]=t; } // swap back } @@ -666,7 +665,6 @@ static void encodeGrid( char* result, const encodeRec *enc, int const m, int ext { int pw = nc[prelen]; divx = ( pw / divy ); - divx = ( pw / divy ); } { // grid @@ -807,7 +805,7 @@ static int decodeNameless(decodeRec *dec, int m) int SIDE; int swapletters=0; int xSIDE; - int X=-1; + int X; const mminforec *b; // make copy of input, so we can swap around letters during the decoding @@ -980,9 +978,9 @@ static int unpack_if_alldigits(char *input) // returns 1 if unpacked, 0 if left if (aonly) // v1.50 encoded only with A's { int v = (s[0]=='A' || s[0]=='a' ? 31 : decodeChar(s[0])) * 32 + (s[1]=='A' || s[1]=='a' ? 31 : decodeChar(s[1])); - *input = '0'+(v/100); - s[0]= '0'+((v/10)%10); - s[1]= '0'+(v%10); + *input = (char) ('0'+(v/100)); + s[0]= (char) ('0'+((v/10)%10)); + s[1]= (char) ('0'+(v%10)); return 1; } // v1.50 @@ -1043,7 +1041,6 @@ static int encodeNameless( char *result, const encodeRec* enc, int input_ctry, i if ( codexm!=21 && A<=31 ) { - int size=p; if (X<r) size++; // example: A=7, p=4 r=3: size(X)={5,5,5,4,4,4,4} storage_offset= (X*p + (X<r ? X : r)) * (961*961); // p=4,r=3: offset(X)={0,5,10,15,19,23,27}-31 } else if ( codexm!=21 && A<62 ) @@ -1272,7 +1269,7 @@ static int encodeAutoHeader( char *result, const encodeRec *enc, int m, int extr value += (vy/176); // PIPELETTER ENCODE - encodeBase31( result, (STORAGE_START/(961*31)) + value, (int)codexlen - 2); + encodeBase31( result, (STORAGE_START/(961*31)) + value, codexlen - 2); result[codexlen-2]='.'; encode_triple( result+codexlen-1, vx%168, vy%176 ); @@ -1343,7 +1340,7 @@ static void encoderEngine( int ccode, const encodeRec *enc, int stop_with_one_re { if ( result_counter>0 || !isRestricted(i) ) // skip isRestricted records unless there already is a result { - char headerletter = (recType(i)==1) ? headerLetter(i) : 0; + char headerletter = (char)((recType(i)==1) ? headerLetter(i) : 0); encodeGrid( result, enc, i, extraDigits,headerletter ); } } @@ -1387,7 +1384,7 @@ static void encoderEngine( int ccode, const encodeRec *enc, int stop_with_one_re // returns nonzero if error static int decoderEngine( decodeRec *dec ) { - int parentcode=-1; + int parentcode; int err=-255; // unknown error int ccode,len; char *minus; @@ -1736,7 +1733,7 @@ static UWORD* encode_utf16(UWORD* unibuf,int maxlen,const char *mapcode,int lang if ( c<0 || c>'Z' ) // not in any valid range? *w++ = '?'; else if ( c<'A' ) // valid but not a letter (e.g. a dot, a space...) - *w++ = c; // leave untranslated + *w++ = (UWORD)c; // leave untranslated else *w++ = asc2lan[language][c-'A']; } @@ -1886,10 +1883,10 @@ static int encodeLatLonToMapcodes_internal( char **v, Mapcodes *mapcodes, double int i=0; // pointer into redivar for(;;) { - int v = redivar[i++]; + int v2 = redivar[i++]; HOR=1-HOR; - if ( v>=0 && v<1024 ) { // leaf? - int j,nr = (int)v; + if ( v2 >=0 && v2 <1024 ) { // leaf? + int j,nr = v2; for (j=0;j<=nr;j++) { int ctry = (j==nr ? ccode_earth : redivar[i+j]); encoderEngine( ctry,&enc,stop_with_one_result,extraDigits,-1); @@ -1899,7 +1896,7 @@ static int encodeLatLonToMapcodes_internal( char **v, Mapcodes *mapcodes, double } else { int coord = (HOR ? enc.lon32 : enc.lat32); - if ( coord > v ) { + if ( coord > v2) { i = redivar[i]; } else { diff --git a/mapcodelib/mapcoder.h b/mapcodelib/mapcoder.h index 9abf06d..ac77e81 100644 --- a/mapcodelib/mapcoder.h +++ b/mapcodelib/mapcoder.h @@ -26,7 +26,6 @@ #define MAX_ISOCODE_LEN 7 // Max. number of characters of a valid territory code; although nothing longer than SIX characters is ever generated (RU-KAM), users can input SEVEN characters (RUS-KAM). #define MAX_CLEAN_MAPCODE_LEN (MAX_PROPER_MAPCODE_LEN + 1 + MAX_PRECISION_DIGITS) // Max. number of characters in a clean mapcode (excluding zero-terminator). #define MAX_MAPCODE_RESULT_LEN (MAX_ISOCODE_LEN + 1 + MAX_CLEAN_MAPCODE_LEN + 1) // Max. number of characters to store a single result (including zero-terminator). -#define COMPARE_MAPCODE_MISSING_CHARACTERS -999 // Used for compareWithMapcodeFormat. /** * The type Mapcodes hold a number of mapcodes, for example from an encoding call. @@ -34,8 +33,8 @@ * International mapcodes do not specify a territory alphacode, nor a space. */ typedef struct { - int count; // The number of mapcode results (length of array). - char mapcode[MAX_NR_OF_MAPCODE_RESULTS][MAX_MAPCODE_RESULT_LEN]; // The mapcodes. + int count; // The number of mapcode results (length of array). + char mapcode[MAX_NR_OF_MAPCODE_RESULTS][MAX_MAPCODE_RESULT_LEN]; // The mapcodes. } Mapcodes; @@ -59,11 +58,11 @@ typedef struct { */ int encodeLatLonToMapcodes( - Mapcodes* mapcodes, - double lat, - double lon, - int territoryCode, - int extraDigits); + Mapcodes *mapcodes, + double lat, + double lon, + int territoryCode, + int extraDigits); /** * WARNING: This method is deprecated and should no longer be used, as it is not thread-safe. Use the version @@ -90,11 +89,11 @@ int encodeLatLonToMapcodes( * (results[0], results[1])...(results[(2 * N) - 2], results[(2 * N) - 1]) */ int encodeLatLonToMapcodes_Deprecated( // Warning: this method is deprecated and not thread-safe. - char** results, - double lat, - double lon, - int territoryCode, - int extraDigits); + char **results, + double lat, + double lon, + int territoryCode, + int extraDigits); /** * Encode a latitude, longitude pair (in degrees) to a single Mapcode: the shortest possible for the given territory @@ -117,11 +116,11 @@ int encodeLatLonToMapcodes_Deprecated( // Warning: this method is deprecated * 0 if encoding failed, or >0 if it succeeded. */ int encodeLatLonToSingleMapcode( - char* result, - double lat, - double lon, - int territoryCode, - int extraDigits); + char *result, + double lat, + double lon, + int territoryCode, + int extraDigits); /** * Decode a Mapcode to a latitude, longitude pair (in degrees). @@ -137,10 +136,10 @@ int encodeLatLonToSingleMapcode( * 0 if encoding succeeded, nonzero in case of error */ int decodeMapcodeToLatLon( - double* lat, - double* lon, - const char* mapcode, - int territoryCode); + double *lat, + double *lon, + const char *mapcode, + int territoryCode); /** * Checks if a string has the format of a Mapcode. (Note: The method is called compareXXX rather than hasXXX because @@ -156,8 +155,8 @@ int decodeMapcodeToLatLon( * to lack some characters. */ int compareWithMapcodeFormat( - const char* check, - int includesTerritory); + const char *check, + int includesTerritory); /** * Convert a territory name to a territory code. @@ -170,8 +169,8 @@ int compareWithMapcodeFormat( * Territory code >0 if succeeded, or <0 if failed. */ int convertTerritoryIsoNameToCode( - const char* isoName, - int parentTerritoryCode); + const char *isoName, + int parentTerritoryCode); /** * Convert a territory name to a territory code. @@ -184,15 +183,15 @@ int convertTerritoryIsoNameToCode( * Returns: * Pointer to result. Empty if territoryCode illegal. */ -char* getTerritoryIsoName( - char* result, - int territoryCode, - int format); +char *getTerritoryIsoName( + char *result, + int territoryCode, + int format); // the old, non-threadsafe routine which uses static storage, overwritten at each call: -const char* convertTerritoryCodeToIsoName( - int territoryCode, - int format); +const char *convertTerritoryCodeToIsoName( + int territoryCode, + int format); /** * Given a territory code, return the territory code itself it it was a country, or return its parent @@ -250,13 +249,14 @@ int getParentCountryOf(int territoryCode); * Returns: * pointer to asciibuf, which holds the result */ -char* convertToRoman(char* asciibuf, int maxlen, const UWORD* string); +char *convertToRoman(char *asciibuf, int maxlen, const UWORD *string); + /** * old variant, not thread-safe: uses a pre-allocated static buffer, overwritten by the next call * Returns converted string. allocated by the library. String must NOT be * de-allocated by the caller. It will be overwritten by a subsequent call to this method! */ -const char* decodeToRoman(const UWORD* string); +const char *decodeToRoman(const UWORD *string); /** * Encode a string to Alphabet characters for a language. @@ -273,14 +273,14 @@ const char* decodeToRoman(const UWORD* string); * Encoded string. The string is allocated by the library and must NOT be * de-allocated by the caller. It will be overwritten by a subsequent call to this method! */ -UWORD* convertToAlphabet(UWORD* unibuf, int maxlength, const char* string, int alphabet); +UWORD *convertToAlphabet(UWORD *unibuf, int maxlength, const char *string, int alphabet); /** * old variant, not thread-safe: uses a pre-allocated static buffer, overwritten by the next call * Returns converted string. allocated by the library. String must NOT be * de-allocated by the caller. It will be overwritten by a subsequent call to this method! */ -const UWORD* encodeToAlphabet(const char* string, int alphabet); +const UWORD *encodeToAlphabet(const char *string, int alphabet); /** diff --git a/utility/mapcode.cpp b/utility/mapcode.cpp index cf03518..d82f608 100644 --- a/utility/mapcode.cpp +++ b/utility/mapcode.cpp @@ -49,37 +49,35 @@ #define my_isnan(x) (false) #define my_round(x) ((int) (floor((x) + 0.5))) -static int selfCheckEnabled = 0; +static int selfCheckEnabled = 0; -static const int NORMAL_ERROR = 1; -static const int INTERNAL_ERROR = 2; +static const int NORMAL_ERROR = 1; +static const int INTERNAL_ERROR = 2; /** * Some global constants to be used. */ -static const double PI = 3.14159265358979323846; -static const int SHOW_PROGRESS = 125; -static const double DELTA = 0.001; - +static const double PI = 3.14159265358979323846; +static const int SHOW_PROGRESS = 125; +static const double DELTA = 0.001; /** * These statistics are stored globally so they can be updated easily by the * generateAndOutputMapcodes() method. */ -static int totalNrOfPoints = 0; -static int totalNrOfResults = 0; -static int largestNrOfResults = 0; -static double latLargestNrOfResults = 0.0; -static double lonLargestNrOfResults = 0.0; - +static int totalNrOfPoints = 0; +static int totalNrOfResults = 0; +static int largestNrOfResults = 0; +static double latLargestNrOfResults = 0.0; +static double lonLargestNrOfResults = 0.0; /** * The usage() method explains how this application can be used. It is called * whenever a incorrect amount or combination of parameters is entered. */ -static void usage(const char* appName) { +static void usage(const char *appName) { printf("MAPCODE (version %s)\n", mapcode_cversion); printf("Copyright (C) 2014-2015 Stichting Mapcode Foundation\n"); printf("\n"); @@ -140,31 +138,28 @@ static void usage(const char* appName) { } - /** * The method radToDeg() converts radians to degrees. */ -static double radToDeg(double rad){ +static double radToDeg(double rad) { return (rad / PI) * 180.0; } - /** * The method degToRad() converts degrees to radians. */ -static double degToRad(double deg){ +static double degToRad(double deg) { return (deg / 180.0) * PI; } - /** * Given a single number between 0..1, generate a latitude, longitude (in degrees) and a 3D * (x, y, z) point on a sphere with a radius of 1. */ static void unitToLatLonDeg( - const double unit1, const double unit2, double* latDeg, double* lonDeg) { + const double unit1, const double unit2, double *latDeg, double *lonDeg) { // Calculate uniformly distributed 3D point on sphere (radius = 1.0): // http://mathproofs.blogspot.co.il/2005/04/uniform-random-distribution-on-sphere.html @@ -185,12 +180,11 @@ static void unitToLatLonDeg( } - /** * The method convertLatLonToXYZ() convertes a lat/lon pair to a (x, y, z) coordinate * on a sphere with radius 1. */ -static void convertLatLonToXYZ(double latDeg, double lonDeg, double* x, double* y, double* z) { +static void convertLatLonToXYZ(double latDeg, double lonDeg, double *x, double *y, double *z) { double latRad = degToRad(latDeg); double lonRad = degToRad(lonDeg); *x = cos(latRad) * cos(lonRad); @@ -199,20 +193,20 @@ static void convertLatLonToXYZ(double latDeg, double lonDeg, double* x, double* } - /** * This methods provides a self check for encoding lat/lon to Mapcode. */ -static void selfCheckLatLonToMapcode(const double lat, double lon, const char* territory, const char* mapcode, int extraDigits) { +static void selfCheckLatLonToMapcode(const double lat, double lon, const char *territory, const char *mapcode, + int extraDigits) { int context = convertTerritoryIsoNameToCode(territory, 0); - char* results[2 * MAX_NR_OF_MAPCODE_RESULTS]; + char *results[2 * MAX_NR_OF_MAPCODE_RESULTS]; const double limitLat = (lat < -90.0) ? -90.0 : ((lat > 90.0) ? 90.0 : lat); const double limitLon = (lon < -180.0) ? -180.0 : ((lon > 180.0) ? 180.0 : lon); const int nrResults = encodeLatLonToMapcodes_Deprecated(results, limitLat, limitLon, context, extraDigits); if (nrResults <= 0) { fprintf(stderr, "error: encoding lat/lon to mapcode failure; " - "cannot encode lat=%.12g, lon=%.12g (default territory=%s)\n", - lat, lon, territory); + "cannot encode lat=%.12g, lon=%.12g (default territory=%s)\n", + lat, lon, territory); if (selfCheckEnabled) { exit(INTERNAL_ERROR); } @@ -224,22 +218,22 @@ static void selfCheckLatLonToMapcode(const double lat, double lon, const char* t /* Check if the territory and code were found in results. Note that the territory * may be a minimal code, like IN (which may indicate US-IN or RU-IN). */ - const char* foundMapcode = results[(i * 2)]; - const char* foundTerritory = results[(i * 2) + 1]; - char* foundTerritoryMin = strstr(foundTerritory, "-"); + const char *foundMapcode = results[(i * 2)]; + const char *foundTerritory = results[(i * 2) + 1]; + char *foundTerritoryMin = strstr(foundTerritory, "-"); if (foundTerritoryMin && (strlen(foundTerritoryMin) > 0)) { ++foundTerritoryMin; } found = (((strcmp(territory, foundTerritory) == 0) || - (strcmp(territory, foundTerritoryMin) == 0)) && - (strcmp(mapcode, foundMapcode) == 0)); + (strcmp(territory, foundTerritoryMin) == 0)) && + (strcmp(mapcode, foundMapcode) == 0)); } if (!found) { fprintf(stderr, "error: encoding lat/lon to mapcode failure; " - "mapcode '%s %s' decodes to lat=%.12g(%.12g), lon=%.12g(%.12g), " - "which does not encode back to '%s %s'\n", - territory, mapcode, lat, limitLat, lon, limitLon, territory, mapcode); + "mapcode '%s %s' decodes to lat=%.12g(%.12g), lon=%.12g(%.12g), " + "which does not encode back to '%s %s'\n", + territory, mapcode, lat, limitLat, lon, limitLon, territory, mapcode); if (selfCheckEnabled) { exit(INTERNAL_ERROR); } @@ -248,34 +242,33 @@ static void selfCheckLatLonToMapcode(const double lat, double lon, const char* t } - /** * This method provides a self-check for decoding a Mapcode to lat/lon. */ -static void selfCheckMapcodeToLatLon(const char* territory, const char* mapcode, - const double lat, const double lon) { +static void selfCheckMapcodeToLatLon(const char *territory, const char *mapcode, + const double lat, const double lon) { double foundLat; double foundLon; int foundContext = convertTerritoryIsoNameToCode(territory, 0); int err = decodeMapcodeToLatLon(&foundLat, &foundLon, mapcode, foundContext); if (err != 0) { fprintf(stderr, "error: decoding mapcode to lat/lon failure; " - "cannot decode '%s %s')\n", territory, mapcode); + "cannot decode '%s %s')\n", territory, mapcode); if (selfCheckEnabled) { exit(INTERNAL_ERROR); } return; } double deltaLat = ((foundLat - lat) >= 0.0 ? (foundLat - lat) : -(foundLat - lat)); - double deltaLon = ((foundLon - lon) >- 0.0 ? (foundLon - lon) : -(foundLon - lon)); + double deltaLon = ((foundLon - lon) > -0.0 ? (foundLon - lon) : -(foundLon - lon)); if (deltaLon > 180.0) { deltaLon = 360.0 - deltaLon; } if ((deltaLat > DELTA) || (deltaLon > DELTA)) { fprintf(stderr, "error: decoding mapcode to lat/lon failure; " - "lat=%.12g, lon=%.12g produces mapcode %s %s, " - "which decodes to lat=%.12g (delta=%.12g), lon=%.12g (delta=%.12g)\n", - lat, lon, territory, mapcode, foundLat, deltaLat, foundLon, deltaLon); + "lat=%.12g, lon=%.12g produces mapcode %s %s, " + "which decodes to lat=%.12g (delta=%.12g), lon=%.12g (delta=%.12g)\n", + lat, lon, territory, mapcode, foundLat, deltaLat, foundLon, deltaLon); if (selfCheckEnabled) { exit(INTERNAL_ERROR); } @@ -285,7 +278,7 @@ static void selfCheckMapcodeToLatLon(const char* territory, const char* mapcode, static void generateAndOutputMapcodes(double lat, double lon, int iShowError, int extraDigits, int useXYZ) { - char* results[2 * MAX_NR_OF_MAPCODE_RESULTS]; + char *results[2 * MAX_NR_OF_MAPCODE_RESULTS]; int context = 0; while (lon > 180.0) { @@ -330,8 +323,8 @@ static void generateAndOutputMapcodes(double lat, double lon, int iShowError, in printf("%d %.12g %.12g\n", nrResults, lat, lon); } for (int j = 0; j < nrResults; ++j) { - const char* foundMapcode = results[(j * 2)]; - const char* foundTerritory = results[(j * 2) + 1]; + const char *foundMapcode = results[(j * 2)]; + const char *foundTerritory = results[(j * 2) + 1]; // Output result line. printf("%s %s\n", foundTerritory, foundMapcode); @@ -355,7 +348,6 @@ static void generateAndOutputMapcodes(double lat, double lon, int iShowError, in } - /** * This method resets the statistics counters. */ @@ -367,7 +359,6 @@ static void resetStatistics(int nrOfPoints) { } - /** * This method outputs the statistics. */ @@ -376,30 +367,27 @@ static void outputStatistics() { fprintf(stderr, "Total number of 3D points generated = %d\n", totalNrOfPoints); fprintf(stderr, "Total number of mapcodes generated = %d\n", totalNrOfResults); fprintf(stderr, "Average number of mapcodes per 3D point = %.12g\n", - ((float) totalNrOfResults) / ((float) totalNrOfPoints)); + ((float) totalNrOfResults) / ((float) totalNrOfPoints)); fprintf(stderr, "Largest number of results for 1 mapcode = %d at (%.12g, %.12g)\n", - largestNrOfResults, latLargestNrOfResults, lonLargestNrOfResults); + largestNrOfResults, latLargestNrOfResults, lonLargestNrOfResults); } - /** * This method shows a progress indication. */ static void showProgress(int i) { fprintf(stderr, "[%d%%] Processed %d of %d regions (generated %d mapcodes)...\r", - (int) ((((float) i / ((float) totalNrOfPoints)) * 100.0) + 0.5), - i, totalNrOfPoints, totalNrOfResults); + (int) ((((float) i / ((float) totalNrOfPoints)) * 100.0) + 0.5), + i, totalNrOfPoints, totalNrOfResults); } - /** * This is the main() method which is called from the command-line. * Return code 0 means success. Any other values means some sort of error occurred. */ -int main(const int argc, const char** argv) -{ +int main(const int argc, const char **argv) { // Assume no extra digits (unless overridden later. int extraDigits = 0; @@ -407,7 +395,7 @@ int main(const int argc, const char** argv) int useXYZ = 0; // Provide usage message if no arguments specified. - const char* appName = argv[0]; + const char *appName = argv[0]; selfCheckEnabled = (strstr(appName, "debug") != 0); if (selfCheckEnabled) { fprintf(stderr, "(debug mode: self checking enabled)\n"); @@ -418,7 +406,7 @@ int main(const int argc, const char** argv) } // First argument: command. - const char* cmd = argv[1]; + const char *cmd = argv[1]; if ((strcmp(cmd, "-d") == 0) || (strcmp(cmd, "--decode") == 0)) { // ------------------------------------------------------------------ @@ -430,7 +418,7 @@ int main(const int argc, const char** argv) return NORMAL_ERROR; } - const char* defaultTerritory = argv[2]; + const char *defaultTerritory = argv[2]; double lat; double lon; @@ -441,7 +429,7 @@ int main(const int argc, const char** argv) for (int i = 3; i < argc; ++i) { // Decode the Mapcode to a lat/lon. - const char* mapcode = argv[i]; + const char *mapcode = argv[i]; int err = decodeMapcodeToLatLon(&lat, &lon, mapcode, context); if (err != 0) { fprintf(stderr, "error: cannot decode '%s %s'\n", defaultTerritory, mapcode); @@ -453,7 +441,7 @@ int main(const int argc, const char** argv) // Self-checking code to see if encoder produces this Mapcode for the lat/lon. if (selfCheckEnabled) { - const char* suffix = strstr(mapcode, "-"); + const char *suffix = strstr(mapcode, "-"); extraDigits = 0; if (suffix != 0) { extraDigits = (int) (strlen(suffix) - 1); @@ -463,15 +451,15 @@ int main(const int argc, const char** argv) } } else if ((strcmp(cmd, "-e") == 0) || (strcmp(cmd, "-e0") == 0) || - (strcmp(cmd, "-e1") == 0) || (strcmp(cmd, "-e2") == 0) || - (strcmp(cmd, "-e3") == 0) || (strcmp(cmd, "-e4") == 0) || - (strcmp(cmd, "-e5") == 0) || (strcmp(cmd, "-e6") == 0) || - (strcmp(cmd, "-e7") == 0) || (strcmp(cmd, "-e8") == 0) || - (strcmp(cmd, "--encode") == 0) || (strcmp(cmd, "--encode0") == 0) || - (strcmp(cmd, "--encode1") == 0) || (strcmp(cmd, "--encode2") == 0) || - (strcmp(cmd, "--encode3") == 0) || (strcmp(cmd, "--encode4") == 0) || - (strcmp(cmd, "--encode5") == 0) || (strcmp(cmd, "--encode5") == 0) || - (strcmp(cmd, "--encode7") == 0) || (strcmp(cmd, "--encode8") == 0)) { + (strcmp(cmd, "-e1") == 0) || (strcmp(cmd, "-e2") == 0) || + (strcmp(cmd, "-e3") == 0) || (strcmp(cmd, "-e4") == 0) || + (strcmp(cmd, "-e5") == 0) || (strcmp(cmd, "-e6") == 0) || + (strcmp(cmd, "-e7") == 0) || (strcmp(cmd, "-e8") == 0) || + (strcmp(cmd, "--encode") == 0) || (strcmp(cmd, "--encode0") == 0) || + (strcmp(cmd, "--encode1") == 0) || (strcmp(cmd, "--encode2") == 0) || + (strcmp(cmd, "--encode3") == 0) || (strcmp(cmd, "--encode4") == 0) || + (strcmp(cmd, "--encode5") == 0) || (strcmp(cmd, "--encode5") == 0) || + (strcmp(cmd, "--encode7") == 0) || (strcmp(cmd, "--encode8") == 0)) { // ------------------------------------------------------------------ // Encode: [-e[0-8] | --encode[0-8]] <lat:-90..90> <lon:-180..180> [territory]> @@ -519,25 +507,25 @@ int main(const int argc, const char** argv) // Get territory context. int context = 0; - const char* defaultTerritory = "AAA"; + const char *defaultTerritory = "AAA"; if (argc == 5) { context = convertTerritoryIsoNameToCode(argv[4], 0); defaultTerritory = argv[4]; } // Encode the lat/lon to a set of Mapcodes. - char* results[2 * MAX_NR_OF_MAPCODE_RESULTS]; + char *results[2 * MAX_NR_OF_MAPCODE_RESULTS]; const int nrResults = encodeLatLonToMapcodes_Deprecated(results, lat, lon, context, extraDigits); if (nrResults <= 0) { fprintf(stderr, "error: cannot encode lat=%.12g, lon=%.12g (default territory=%s)\n", - lat, lon, defaultTerritory); + lat, lon, defaultTerritory); return NORMAL_ERROR; } // Output the Mapcode. for (int i = 0; i < nrResults; ++i) { - const char* foundMapcode = results[(i * 2)]; - const char* foundTerritory = results[(i * 2) + 1]; + const char *foundMapcode = results[(i * 2)]; + const char *foundTerritory = results[(i * 2) + 1]; printf("%s %s\n", foundTerritory, foundMapcode); // Self-checking code to see if decoder produces the lat/lon for all of these Mapcodes. @@ -547,7 +535,7 @@ int main(const int argc, const char** argv) } } else if ((strcmp(cmd, "-b") == 0) || (strcmp(cmd, "-bXYZ") == 0) || - (strcmp(cmd, "--boundaries") == 0) || (strcmp(cmd, "--boundariesXYZ") == 0)) { + (strcmp(cmd, "--boundaries") == 0) || (strcmp(cmd, "--boundariesXYZ") == 0)) { // ------------------------------------------------------------------ // Generate a test set based on the Mapcode boundaries. @@ -559,7 +547,7 @@ int main(const int argc, const char** argv) } if (argc == 3) { extraDigits = atoi(argv[2]); - if ((extraDigits < 0) || (extraDigits> 8)) { + if ((extraDigits < 0) || (extraDigits > 8)) { fprintf(stderr, "error: parameter extraDigits must be in [0..8]\n\n"); usage(appName); return NORMAL_ERROR; @@ -576,15 +564,15 @@ int main(const int argc, const char** argv) double lat; double lon; - const mminforec *mm = boundaries(i); + const mminforec *mm = boundaries(i); minLon = ((double) mm->minx) / 1.0E6; maxLon = ((double) mm->maxx) / 1.0E6; minLat = ((double) mm->miny) / 1.0E6; maxLat = ((double) mm->maxy) / 1.0E6; // Try center. - lat = (maxLat - minLat ) / 2.0; - lon = (maxLon - minLon ) / 2.0; + lat = (maxLat - minLat) / 2.0; + lon = (maxLon - minLon) / 2.0; generateAndOutputMapcodes(lat, lon, 0, extraDigits, useXYZ); // Try corners. @@ -613,9 +601,9 @@ int main(const int argc, const char** argv) outputStatistics(); } else if ((strcmp(cmd, "-g") == 0) || (strcmp(cmd, "-gXYZ") == 0) || - (strcmp(cmd, "--grid") == 0) || (strcmp(cmd, "--gridXYZ") == 0) || - (strcmp(cmd, "-r") == 0) || (strcmp(cmd, "-rXYZ") == 0) || - (strcmp(cmd, "--random") == 0) || (strcmp(cmd, "--randomXYZ") == 0)) { + (strcmp(cmd, "--grid") == 0) || (strcmp(cmd, "--gridXYZ") == 0) || + (strcmp(cmd, "-r") == 0) || (strcmp(cmd, "-rXYZ") == 0) || + (strcmp(cmd, "--random") == 0) || (strcmp(cmd, "--randomXYZ") == 0)) { // ------------------------------------------------------------------ // Generate grid test set: [-g | --grid] <nrOfPoints> [<extradigits>] @@ -644,7 +632,7 @@ int main(const int argc, const char** argv) if (random) { if (argc == 5) { const int seed = atoi(argv[4]); - srand(seed); + srand((unsigned int) seed); } else { srand((unsigned int) time(0)); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/mapcode.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

