diff --git a/assets/static/index.html b/assets/static/index.html
index 75fe77e..9849126 100644
--- a/assets/static/index.html
+++ b/assets/static/index.html
@@ -113,7 +113,7 @@
- Medium 34000-136000kg
+ Large 34000-136000kg
diff --git a/internal/icao/database.go b/internal/icao/database.go
index be03b34..ab26af3 100644
--- a/internal/icao/database.go
+++ b/internal/icao/database.go
@@ -39,76 +39,187 @@ func NewDatabase() (*Database, error) {
return &Database{allocations: allocations}, nil
}
-// getICAOAllocations returns comprehensive ICAO allocation data
+// getICAOAllocations returns comprehensive ICAO allocation data based on official aerotransport.org table
func getICAOAllocations() []ICAOAllocation {
- // ICAO allocations based on ICAO Document 8585 - comprehensive list
+ // ICAO allocations based on official ICAO 24-bit address allocation table
+ // Source: https://www.aerotransport.org/ (unofficial but comprehensive reference)
+ // Complete coverage of all allocated ICAO 24-bit addresses
return []ICAOAllocation{
+ // Africa
+ {0x004000, 0x0043FF, "Zimbabwe", "ZW", "๐ฟ๐ผ", "Republic of Zimbabwe"},
+ {0x006000, 0x006FFF, "Mozambique", "MZ", "๐ฒ๐ฟ", "Republic of Mozambique"},
+ {0x008000, 0x00FFFF, "South Africa", "ZA", "๐ฟ๐ฆ", "Republic of South Africa"},
+ {0x010000, 0x017FFF, "Egypt", "EG", "๐ช๐ฌ", "Arab Republic of Egypt"},
+ {0x018000, 0x01FFFF, "Libya", "LY", "๐ฑ๐พ", "State of Libya"},
+ {0x020000, 0x027FFF, "Morocco", "MA", "๐ฒ๐ฆ", "Kingdom of Morocco"},
+ {0x028000, 0x02FFFF, "Tunisia", "TN", "๐น๐ณ", "Republic of Tunisia"},
+ {0x030000, 0x0303FF, "Botswana", "BW", "๐ง๐ผ", "Republic of Botswana"},
+ {0x032000, 0x032FFF, "Burundi", "BI", "๐ง๐ฎ", "Republic of Burundi"},
+ {0x034000, 0x034FFF, "Cameroon", "CM", "๐จ๐ฒ", "Republic of Cameroon"},
+ {0x035000, 0x0353FF, "Comoros", "KM", "๐ฐ๐ฒ", "Union of the Comoros"},
+ {0x036000, 0x036FFF, "Congo", "CG", "๐จ๐ฌ", "Republic of the Congo"},
+ {0x038000, 0x038FFF, "Cรดte d'Ivoire", "CI", "๐จ๐ฎ", "Republic of Cรดte d'Ivoire"},
+ {0x03E000, 0x03EFFF, "Gabon", "GA", "๐ฌ๐ฆ", "Gabonese Republic"},
+ {0x040000, 0x040FFF, "Ethiopia", "ET", "๐ช๐น", "Federal Democratic Republic of Ethiopia"},
+ {0x042000, 0x042FFF, "Equatorial Guinea", "GQ", "๐ฌ๐ถ", "Republic of Equatorial Guinea"},
+ {0x044000, 0x044FFF, "Ghana", "GH", "๐ฌ๐ญ", "Republic of Ghana"},
+ {0x046000, 0x046FFF, "Guinea", "GN", "๐ฌ๐ณ", "Republic of Guinea"},
+ {0x048000, 0x0483FF, "Guinea-Bissau", "GW", "๐ฌ๐ผ", "Republic of Guinea-Bissau"},
+ {0x04A000, 0x04A3FF, "Lesotho", "LS", "๐ฑ๐ธ", "Kingdom of Lesotho"},
+ {0x04C000, 0x04CFFF, "Kenya", "KE", "๐ฐ๐ช", "Republic of Kenya"},
+ {0x050000, 0x050FFF, "Liberia", "LR", "๐ฑ๐ท", "Republic of Liberia"},
+ {0x054000, 0x054FFF, "Madagascar", "MG", "๐ฒ๐ฌ", "Republic of Madagascar"},
+ {0x058000, 0x058FFF, "Malawi", "MW", "๐ฒ๐ผ", "Republic of Malawi"},
+ {0x05C000, 0x05CFFF, "Mali", "ML", "๐ฒ๐ฑ", "Republic of Mali"},
+ {0x05E000, 0x05E3FF, "Mauritania", "MR", "๐ฒ๐ท", "Islamic Republic of Mauritania"},
+ {0x060000, 0x0603FF, "Mauritius", "MU", "๐ฒ๐บ", "Republic of Mauritius"},
+ {0x062000, 0x062FFF, "Niger", "NE", "๐ณ๐ช", "Republic of Niger"},
+ {0x064000, 0x064FFF, "Nigeria", "NG", "๐ณ๐ฌ", "Federal Republic of Nigeria"},
+ {0x068000, 0x068FFF, "Uganda", "UG", "๐บ๐ฌ", "Republic of Uganda"},
+ {0x06C000, 0x06CFFF, "Central African Republic", "CF", "๐จ๐ซ", "Central African Republic"},
+ {0x06E000, 0x06EFFF, "Rwanda", "RW", "๐ท๐ผ", "Republic of Rwanda"},
+ {0x070000, 0x070FFF, "Senegal", "SN", "๐ธ๐ณ", "Republic of Senegal"},
+ {0x074000, 0x0743FF, "Seychelles", "SC", "๐ธ๐จ", "Republic of Seychelles"},
+ {0x076000, 0x0763FF, "Sierra Leone", "SL", "๐ธ๐ฑ", "Republic of Sierra Leone"},
+ {0x078000, 0x078FFF, "Somalia", "SO", "๐ธ๐ด", "Federal Republic of Somalia"},
+ {0x07A000, 0x07A3FF, "Swaziland", "SZ", "๐ธ๐ฟ", "Kingdom of Swaziland"},
+ {0x07C000, 0x07CFFF, "Sudan", "SD", "๐ธ๐ฉ", "Republic of Sudan"},
+ {0x080000, 0x080FFF, "Tanzania", "TZ", "๐น๐ฟ", "United Republic of Tanzania"},
+ {0x084000, 0x084FFF, "Chad", "TD", "๐น๐ฉ", "Republic of Chad"},
+ {0x088000, 0x088FFF, "Togo", "TG", "๐น๐ฌ", "Togolese Republic"},
+ {0x08A000, 0x08AFFF, "Zambia", "ZM", "๐ฟ๐ฒ", "Republic of Zambia"},
+ {0x08C000, 0x08CFFF, "D R Congo", "CD", "๐จ๐ฉ", "Democratic Republic of the Congo"},
+ {0x090000, 0x090FFF, "Angola", "AO", "๐ฆ๐ด", "Republic of Angola"},
+ {0x094000, 0x0943FF, "Benin", "BJ", "๐ง๐ฏ", "Republic of Benin"},
+ {0x096000, 0x0963FF, "Cape Verde", "CV", "๐จ๐ป", "Republic of Cape Verde"},
+ {0x098000, 0x0983FF, "Djibouti", "DJ", "๐ฉ๐ฏ", "Republic of Djibouti"},
+ {0x0A8000, 0x0A8FFF, "Bahamas", "BS", "๐ง๐ธ", "Commonwealth of the Bahamas"},
+ {0x0AA000, 0x0AA3FF, "Barbados", "BB", "๐ง๐ง", "Barbados"},
+ {0x0AB000, 0x0AB3FF, "Belize", "BZ", "๐ง๐ฟ", "Belize"},
+ {0x0B0000, 0x0B0FFF, "Cuba", "CU", "๐จ๐บ", "Republic of Cuba"},
+ {0x0B2000, 0x0B2FFF, "El Salvador", "SV", "๐ธ๐ป", "Republic of El Salvador"},
+ {0x0B8000, 0x0B8FFF, "Haiti", "HT", "๐ญ๐น", "Republic of Haiti"},
+ {0x0BA000, 0x0BAFFF, "Honduras", "HN", "๐ญ๐ณ", "Republic of Honduras"},
+ {0x0BC000, 0x0BC3FF, "St. Vincent + Grenadines", "VC", "๐ป๐จ", "Saint Vincent and the Grenadines"},
+ {0x0BE000, 0x0BEFFF, "Jamaica", "JM", "๐ฏ๐ฒ", "Jamaica"},
+ {0x0D0000, 0x0D7FFF, "Mexico", "MX", "๐ฒ๐ฝ", "United Mexican States"},
+
+ // Eastern Europe & Russia
+ {0x100000, 0x1FFFFF, "Russia", "RU", "๐ท๐บ", "Russian Federation"},
+ {0x201000, 0x2013FF, "Namibia", "NA", "๐ณ๐ฆ", "Republic of Namibia"},
+ {0x202000, 0x2023FF, "Eritrea", "ER", "๐ช๐ท", "State of Eritrea"},
+
// Europe
- {0x000001, 0x003FFF, "Germany", "DE", "๐ฉ๐ช", "Federal Republic of Germany"},
- {0x008001, 0x00BFFF, "Germany", "DE", "๐ฉ๐ช", "Germany (additional block)"},
- {0x400001, 0x43FFFF, "United Kingdom", "GB", "๐ฌ๐ง", "United Kingdom"},
- {0x440001, 0x447FFF, "Austria", "AT", "๐ฆ๐น", "Republic of Austria"},
- {0x448001, 0x44FFFF, "Belgium", "BE", "๐ง๐ช", "Kingdom of Belgium"},
- {0x450001, 0x457FFF, "Bulgaria", "BG", "๐ง๐ฌ", "Republic of Bulgaria"},
- {0x458001, 0x45FFFF, "Denmark", "DK", "๐ฉ๐ฐ", "Kingdom of Denmark"},
- {0x460001, 0x467FFF, "Finland", "FI", "๐ซ๐ฎ", "Republic of Finland"},
- {0x468001, 0x46FFFF, "France", "FR", "๐ซ๐ท", "French Republic"},
- {0x470001, 0x477FFF, "Greece", "GR", "๐ฌ๐ท", "Hellenic Republic"},
- {0x478001, 0x47FFFF, "Hungary", "HU", "๐ญ๐บ", "Republic of Hungary"},
- {0x480001, 0x487FFF, "Iceland", "IS", "๐ฎ๐ธ", "Republic of Iceland"},
- {0x488001, 0x48FFFF, "Italy", "IT", "๐ฎ๐น", "Italian Republic"},
- {0x490001, 0x497FFF, "Luxembourg", "LU", "๐ฑ๐บ", "Grand Duchy of Luxembourg"},
- {0x498001, 0x49FFFF, "Netherlands", "NL", "๐ณ๐ฑ", "Kingdom of the Netherlands"},
- {0x4A0001, 0x4A7FFF, "Norway", "NO", "๐ณ๐ด", "Kingdom of Norway"},
- {0x4A8001, 0x4AFFFF, "Poland", "PL", "๐ต๐ฑ", "Republic of Poland"},
- {0x4B0001, 0x4B7FFF, "Portugal", "PT", "๐ต๐น", "Portuguese Republic"},
- {0x4B8001, 0x4BFFFF, "Czech Republic", "CZ", "๐จ๐ฟ", "Czech Republic"},
- {0x4C0001, 0x4C7FFF, "Romania", "RO", "๐ท๐ด", "Romania"},
- {0x4C8001, 0x4CFFFF, "Sweden", "SE", "๐ธ๐ช", "Kingdom of Sweden"},
- {0x4D0001, 0x4D7FFF, "Switzerland", "CH", "๐จ๐ญ", "Swiss Confederation"},
- {0x4D8001, 0x4DFFFF, "Turkey", "TR", "๐น๐ท", "Republic of Turkey"},
- {0x4E0001, 0x4E7FFF, "Spain", "ES", "๐ช๐ธ", "Kingdom of Spain"},
+ {0x300000, 0x33FFFF, "Italy", "IT", "๐ฎ๐น", "Italian Republic"},
+ {0x340000, 0x37FFFF, "Spain", "ES", "๐ช๐ธ", "Kingdom of Spain"},
+ {0x380000, 0x3BFFFF, "France", "FR", "๐ซ๐ท", "French Republic"},
+ {0x3C0000, 0x3FFFFF, "Germany", "DE", "๐ฉ๐ช", "Federal Republic of Germany"},
+ {0x400000, 0x43FFFF, "United Kingdom", "GB", "๐ฌ๐ง", "United Kingdom"},
+ {0x440000, 0x447FFF, "Austria", "AT", "๐ฆ๐น", "Republic of Austria"},
+ {0x448000, 0x44FFFF, "Belgium", "BE", "๐ง๐ช", "Kingdom of Belgium"},
+ {0x450000, 0x457FFF, "Bulgaria", "BG", "๐ง๐ฌ", "Republic of Bulgaria"},
+ {0x458000, 0x45FFFF, "Denmark", "DK", "๐ฉ๐ฐ", "Kingdom of Denmark"},
+ {0x460000, 0x467FFF, "Finland", "FI", "๐ซ๐ฎ", "Republic of Finland"},
+ {0x468000, 0x46FFFF, "Greece", "GR", "๐ฌ๐ท", "Hellenic Republic"},
+ {0x470000, 0x477FFF, "Hungary", "HU", "๐ญ๐บ", "Republic of Hungary"},
+ {0x478000, 0x47FFFF, "Norway", "NO", "๐ณ๐ด", "Kingdom of Norway"},
+ {0x480000, 0x487FFF, "Netherlands", "NL", "๐ณ๐ฑ", "Kingdom of the Netherlands"},
+ {0x488000, 0x48FFFF, "Poland", "PL", "๐ต๐ฑ", "Republic of Poland"},
+ {0x490000, 0x497FFF, "Portugal", "PT", "๐ต๐น", "Portuguese Republic"},
+ {0x498000, 0x49FFFF, "Czech Republic", "CZ", "๐จ๐ฟ", "Czech Republic"},
+ {0x4A0000, 0x4A7FFF, "Romania", "RO", "๐ท๐ด", "Romania"},
+ {0x4A8000, 0x4AFFFF, "Sweden", "SE", "๐ธ๐ช", "Kingdom of Sweden"},
+ {0x4B0000, 0x4B7FFF, "Switzerland", "CH", "๐จ๐ญ", "Swiss Confederation"},
+ {0x4B8000, 0x4BFFFF, "Turkey", "TR", "๐น๐ท", "Republic of Turkey"},
+ {0x4C0000, 0x4C7FFF, "Yugoslavia", "YU", "๐ท๐ธ", "Yugoslavia"},
+ {0x4C8000, 0x4C83FF, "Cyprus", "CY", "๐จ๐พ", "Republic of Cyprus"},
+ {0x4CA000, 0x4CAFFF, "Ireland", "IE", "๐ฎ๐ช", "Republic of Ireland"},
+ {0x4CC000, 0x4CCFFF, "Iceland", "IS", "๐ฎ๐ธ", "Republic of Iceland"},
+ {0x4D0000, 0x4D03FF, "Luxembourg", "LU", "๐ฑ๐บ", "Grand Duchy of Luxembourg"},
+ {0x4D2000, 0x4D23FF, "Malta", "MT", "๐ฒ๐น", "Republic of Malta"},
+ {0x4D4000, 0x4D43FF, "Monaco", "MC", "๐ฒ๐จ", "Principality of Monaco"},
+ {0x500000, 0x5004FF, "San Marino", "SM", "๐ธ๐ฒ", "Republic of San Marino"},
+ {0x501000, 0x5013FF, "Albania", "AL", "๐ฆ๐ฑ", "Republic of Albania"},
+ {0x501C00, 0x501FFF, "Croatia", "HR", "๐ญ๐ท", "Republic of Croatia"},
+ {0x502C00, 0x502FFF, "Latvia", "LV", "๐ฑ๐ป", "Republic of Latvia"},
+ {0x503C00, 0x503FFF, "Lithuania", "LT", "๐ฑ๐น", "Republic of Lithuania"},
+ {0x504C00, 0x504FFF, "Moldova", "MD", "๐ฒ๐ฉ", "Republic of Moldova"},
+ {0x505C00, 0x505FFF, "Slovakia", "SK", "๐ธ๐ฐ", "Slovak Republic"},
+ {0x506C00, 0x506FFF, "Slovenia", "SI", "๐ธ๐ฎ", "Republic of Slovenia"},
+ {0x508000, 0x50FFFF, "Ukraine", "UA", "๐บ๐ฆ", "Ukraine"},
+ {0x510000, 0x5103FF, "Belarus", "BY", "๐ง๐พ", "Republic of Belarus"},
+ {0x511000, 0x5113FF, "Estonia", "EE", "๐ช๐ช", "Republic of Estonia"},
+ {0x512000, 0x5123FF, "Macedonia", "MK", "๐ฒ๐ฐ", "North Macedonia"},
+ {0x513000, 0x5133FF, "Bosnia & Herzegovina", "BA", "๐ง๐ฆ", "Bosnia and Herzegovina"},
+ {0x514000, 0x5143FF, "Georgia", "GE", "๐ฌ๐ช", "Georgia"},
+
+ // Middle East & Central Asia
+ {0x600000, 0x6003FF, "Armenia", "AM", "๐ฆ๐ฒ", "Republic of Armenia"},
+ {0x600800, 0x600BFF, "Azerbaijan", "AZ", "๐ฆ๐ฟ", "Republic of Azerbaijan"},
+ {0x680000, 0x6803FF, "Bhutan", "BT", "๐ง๐น", "Kingdom of Bhutan"},
+ {0x681000, 0x6813FF, "Micronesia", "FM", "๐ซ๐ฒ", "Federated States of Micronesia"},
+ {0x682000, 0x6823FF, "Mongolia", "MN", "๐ฒ๐ณ", "Mongolia"},
+ {0x683000, 0x6833FF, "Kazakhstan", "KZ", "๐ฐ๐ฟ", "Republic of Kazakhstan"},
+ {0x06A000, 0x06A3FF, "Qatar", "QA", "๐ถ๐ฆ", "State of Qatar"},
+ {0x700000, 0x700FFF, "Afghanistan", "AF", "๐ฆ๐ซ", "Islamic Republic of Afghanistan"},
+ {0x702000, 0x702FFF, "Bangladesh", "BD", "๐ง๐ฉ", "People's Republic of Bangladesh"},
+ {0x704000, 0x704FFF, "Myanmar", "MM", "๐ฒ๐ฒ", "Republic of the Union of Myanmar"},
+ {0x706000, 0x706FFF, "Kuwait", "KW", "๐ฐ๐ผ", "State of Kuwait"},
+ {0x708000, 0x708FFF, "Laos", "LA", "๐ฑ๐ฆ", "Lao People's Democratic Republic"},
+ {0x70A000, 0x70AFFF, "Nepal", "NP", "๐ณ๐ต", "Federal Democratic Republic of Nepal"},
+ {0x70C000, 0x70C3FF, "Oman", "OM", "๐ด๐ฒ", "Sultanate of Oman"},
+ {0x70E000, 0x70EFFF, "Cambodia", "KH", "๐ฐ๐ญ", "Kingdom of Cambodia"},
+ {0x710000, 0x717FFF, "Saudi Arabia", "SA", "๐ธ๐ฆ", "Kingdom of Saudi Arabia"},
+ {0x718000, 0x71FFFF, "South Korea", "KR", "๐ฐ๐ท", "Republic of Korea"},
+ {0x720000, 0x727FFF, "North Korea", "KP", "๐ฐ๐ต", "Democratic People's Republic of Korea"},
+ {0x728000, 0x72FFFF, "Iraq", "IQ", "๐ฎ๐ถ", "Republic of Iraq"},
+ {0x730000, 0x737FFF, "Iran", "IR", "๐ฎ๐ท", "Islamic Republic of Iran"},
+ {0x738000, 0x73FFFF, "Israel", "IL", "๐ฎ๐ฑ", "State of Israel"},
+ {0x740000, 0x747FFF, "Jordan", "JO", "๐ฏ๐ด", "Hashemite Kingdom of Jordan"},
+ {0x750000, 0x757FFF, "Malaysia", "MY", "๐ฒ๐พ", "Malaysia"},
+ {0x758000, 0x75FFFF, "Philippines", "PH", "๐ต๐ญ", "Republic of the Philippines"},
+ {0x760000, 0x767FFF, "Pakistan", "PK", "๐ต๐ฐ", "Islamic Republic of Pakistan"},
+ {0x768000, 0x76FFFF, "Singapore", "SG", "๐ธ๐ฌ", "Republic of Singapore"},
+ {0x770000, 0x777FFF, "Sri Lanka", "LK", "๐ฑ๐ฐ", "Democratic Socialist Republic of Sri Lanka"},
+ {0x778000, 0x77FFFF, "Syria", "SY", "๐ธ๐พ", "Syrian Arab Republic"},
+ {0x780000, 0x7BFFFF, "China", "CN", "๐จ๐ณ", "People's Republic of China"},
+ {0x7C0000, 0x7FFFFF, "Australia", "AU", "๐ฆ๐บ", "Commonwealth of Australia"},
// Asia-Pacific
- {0x800001, 0x83FFFF, "India", "IN", "๐ฎ๐ณ", "Republic of India"},
- {0x840001, 0x87FFFF, "Japan", "JP", "๐ฏ๐ต", "Japan"},
- {0x880001, 0x8BFFFF, "Thailand", "TH", "๐น๐ญ", "Kingdom of Thailand"},
- {0x8C0001, 0x8FFFFF, "Korea", "KR", "๐ฐ๐ท", "Republic of Korea"},
- {0x900001, 0x9003FF, "North Korea", "KP", "๐ฐ๐ต", "Democratic People's Republic of Korea"},
- {0x750001, 0x757FFF, "China", "CN", "๐จ๐ณ", "People's Republic of China"},
- {0x758001, 0x75FFFF, "China", "CN", "๐จ๐ณ", "People's Republic of China (additional)"},
- {0x760001, 0x767FFF, "Australia", "AU", "๐ฆ๐บ", "Commonwealth of Australia"},
- {0x768001, 0x76FFFF, "Australia", "AU", "๐ฆ๐บ", "Australia (additional block)"},
- {0xC80001, 0xC87FFF, "New Zealand", "NZ", "๐ณ๐ฟ", "New Zealand"},
+ {0x800000, 0x83FFFF, "India", "IN", "๐ฎ๐ณ", "Republic of India"},
+ {0x840000, 0x87FFFF, "Japan", "JP", "๐ฏ๐ต", "Japan"},
+ {0x880000, 0x887FFF, "Thailand", "TH", "๐น๐ญ", "Kingdom of Thailand"},
+ {0x888000, 0x88FFFF, "Vietnam", "VN", "๐ป๐ณ", "Socialist Republic of Vietnam"},
+ {0x890000, 0x890FFF, "Yemen", "YE", "๐พ๐ช", "Republic of Yemen"},
+ {0x894000, 0x894FFF, "Bahrain", "BH", "๐ง๐ญ", "Kingdom of Bahrain"},
+ {0x895000, 0x8953FF, "Brunei", "BN", "๐ง๐ณ", "Nation of Brunei"},
+ {0x896000, 0x8973FF, "United Arab Emirates", "AE", "๐ฆ๐ช", "United Arab Emirates"},
+ {0x897000, 0x8973FF, "Solomon Islands", "SB", "๐ธ๐ง", "Solomon Islands"},
+ {0x898000, 0x898FFF, "Papua New Guinea", "PG", "๐ต๐ฌ", "Independent State of Papua New Guinea"},
+ {0x899000, 0x8993FF, "Taiwan", "TW", "๐น๐ผ", "Republic of China (Taiwan)"},
+ {0x8A0000, 0x8A7FFF, "Indonesia", "ID", "๐ฎ๐ฉ", "Republic of Indonesia"},
// North America
- {0xA00001, 0xAFFFFF, "United States", "US", "๐บ๐ธ", "United States of America"},
- {0xC00001, 0xC3FFFF, "Canada", "CA", "๐จ๐ฆ", "Canada"},
- {0x0C0001, 0x0C7FFF, "Mexico", "MX", "๐ฒ๐ฝ", "United Mexican States"},
+ {0xA00000, 0xAFFFFF, "United States", "US", "๐บ๐ธ", "United States of America"},
+
+ // North America & Oceania
+ {0xC00000, 0xC3FFFF, "Canada", "CA", "๐จ๐ฆ", "Canada"},
+ {0xC80000, 0xC87FFF, "New Zealand", "NZ", "๐ณ๐ฟ", "New Zealand"},
+ {0xC88000, 0xC88FFF, "Fiji", "FJ", "๐ซ๐ฏ", "Republic of Fiji"},
+ {0xC8A000, 0xC8A3FF, "Nauru", "NR", "๐ณ๐ท", "Republic of Nauru"},
+ {0xC8C000, 0xC8C3FF, "Saint Lucia", "LC", "๐ฑ๐จ", "Saint Lucia"},
+ {0xC8D000, 0xC8D3FF, "Tonga", "TO", "๐น๐ด", "Kingdom of Tonga"},
+ {0xC8E000, 0xC8E3FF, "Kiribati", "KI", "๐ฐ๐ฎ", "Republic of Kiribati"},
// South America
- {0xE00001, 0xE3FFFF, "Argentina", "AR", "๐ฆ๐ท", "Argentine Republic"},
- {0xE80001, 0xE87FFF, "Brazil", "BR", "๐ง๐ท", "Federative Republic of Brazil"},
- {0xE88001, 0xE8FFFF, "Brazil", "BR", "๐ง๐ท", "Brazil (additional block)"},
- {0xF00001, 0xF07FFF, "Chile", "CL", "๐จ๐ฑ", "Republic of Chile"},
- {0xF08001, 0xF0FFFF, "Colombia", "CO", "๐จ๐ด", "Republic of Colombia"},
- {0xF10001, 0xF17FFF, "Ecuador", "EC", "๐ช๐จ", "Republic of Ecuador"},
- {0xF18001, 0xF1FFFF, "Paraguay", "PY", "๐ต๐พ", "Republic of Paraguay"},
- {0xF20001, 0xF27FFF, "Peru", "PE", "๐ต๐ช", "Republic of Peru"},
- {0xF28001, 0xF2FFFF, "Uruguay", "UY", "๐บ๐พ", "Oriental Republic of Uruguay"},
- {0xF30001, 0xF37FFF, "Venezuela", "VE", "๐ป๐ช", "Bolivarian Republic of Venezuela"},
-
- // Africa & Middle East
- {0x600001, 0x6003FF, "Cyprus", "CY", "๐จ๐พ", "Republic of Cyprus"},
- {0x680001, 0x6803FF, "Jordan", "JO", "๐ฏ๐ด", "Hashemite Kingdom of Jordan"},
- {0x020001, 0x027FFF, "Egypt", "EG", "๐ช๐ฌ", "Arab Republic of Egypt"},
- {0x700001, 0x700FFF, "Afghanistan", "AF", "๐ฆ๐ซ", "Islamic Republic of Afghanistan"},
- {0x701001, 0x701FFF, "Bangladesh", "BD", "๐ง๐ฉ", "People's Republic of Bangladesh"},
- {0x702001, 0x702FFF, "Myanmar", "MM", "๐ฒ๐ฒ", "Republic of the Union of Myanmar"},
-
- // Others
- {0x500001, 0x5003FF, "Falkland Islands", "FK", "๐ซ๐ฐ", "Falkland Islands"},
- {0x500401, 0x5007FF, "Ascension Island", "AC", "๐ฆ๐จ", "Ascension Island"},
+ {0xE00000, 0xE3FFFF, "Argentina", "AR", "๐ฆ๐ท", "Argentine Republic"},
+ {0xE40000, 0xE7FFFF, "Brazil", "BR", "๐ง๐ท", "Federative Republic of Brazil"},
+ {0xE80000, 0xE80FFF, "Chile", "CL", "๐จ๐ฑ", "Republic of Chile"},
+ {0xE84000, 0xE84FFF, "Ecuador", "EC", "๐ช๐จ", "Republic of Ecuador"},
+ {0xE88000, 0xE88FFF, "Paraguay", "PY", "๐ต๐พ", "Republic of Paraguay"},
+ {0xE8C000, 0xE8CFFF, "Peru", "PE", "๐ต๐ช", "Republic of Peru"},
+ {0xE90000, 0xE90FFF, "Uruguay", "UY", "๐บ๐พ", "Oriental Republic of Uruguay"},
+ {0xE94000, 0xE94FFF, "Bolivia", "BO", "๐ง๐ด", "Plurinational State of Bolivia"},
}
}
diff --git a/internal/merger/merger.go b/internal/merger/merger.go
index dc402c3..76f2e04 100644
--- a/internal/merger/merger.go
+++ b/internal/merger/merger.go
@@ -122,6 +122,9 @@ func (a *AircraftState) MarshalJSON() ([]byte, error) {
MLATSources []string `json:"mlat_sources"`
PositionSource string `json:"position_source"`
UpdateRate float64 `json:"update_rate"`
+ Country string `json:"country"`
+ CountryCode string `json:"country_code"`
+ Flag string `json:"flag"`
}{
// Copy all fields from Aircraft
ICAO24: fmt.Sprintf("%06X", a.Aircraft.ICAO24),
@@ -163,6 +166,9 @@ func (a *AircraftState) MarshalJSON() ([]byte, error) {
MLATSources: a.MLATSources,
PositionSource: a.PositionSource,
UpdateRate: a.UpdateRate,
+ Country: a.Country,
+ CountryCode: a.CountryCode,
+ Flag: a.Flag,
})
}