/** * Data-center metros (markets) used to group facilities. Coordinates are the market's reference point * (usually the city centre or the cluster's centroid), radius_km is the assignment radius, aliases are * sub-markets / towns that belong to the market. Metro ids are deterministic: stableId("metro", slug). * Row: [slug, name, countryIso2, regionName, lat, lng, radiusKm, aliases[]] */ import { stableId } from "@dci/core"; export interface MetroSeed { id: string; slug: string; name: string; countryIso2: string; regionName: string | null; lat: number; lng: number; radiusKm: number; aliases: string[]; description: string | null; } type Row = [string, string, string, string | null, number, number, number, string[]]; const ROWS: Row[] = [ // North America — United States ["northern-virginia", "Northern Virginia", "US", "Virginia", 39.02, -77.47, 60, ["Ashburn", "Loudoun County", "Loudoun", "Sterling", "Manassas", "Leesburg", "Reston", "Herndon", "Chantilly", "Gainesville", "Prince William County", "Fairfax", "Culpeper", "Fredericksburg", "NoVA"]], ["dallas-fort-worth", "Dallas–Fort Worth", "US", "Texas", 32.83, -96.9, 70, ["Dallas", "Fort Worth", "Plano", "Richardson", "Garland", "Irving", "Carrollton", "Allen", "Frisco", "Red Oak", "Lancaster", "Midlothian", "DFW"]], ["phoenix", "Phoenix", "US", "Arizona", 33.45, -112.07, 70, ["Mesa", "Chandler", "Goodyear", "Tempe", "Scottsdale", "Glendale", "Buckeye", "Avondale", "El Mirage", "Queen Creek"]], ["chicago", "Chicago", "US", "Illinois", 41.88, -87.63, 70, ["Elk Grove Village", "Aurora", "Northlake", "Franklin Park", "Hoffman Estates", "Itasca", "Naperville", "DeKalb", "Yorkville", "Joliet"]], ["silicon-valley", "Silicon Valley", "US", "California", 37.35, -121.95, 50, ["Santa Clara", "San Jose", "Sunnyvale", "Milpitas", "Fremont", "Palo Alto", "Mountain View", "Hayward", "San Francisco Bay Area", "Bay Area"]], ["san-francisco", "San Francisco", "US", "California", 37.77, -122.42, 30, ["Oakland", "Emeryville", "Brisbane"]], ["los-angeles", "Los Angeles", "US", "California", 34.05, -118.24, 70, ["El Segundo", "Irvine", "Orange County", "Anaheim", "Torrance", "Long Beach", "Burbank", "Rancho Cucamonga", "Vernon", "One Wilshire"]], ["seattle", "Seattle", "US", "Washington", 47.61, -122.33, 60, ["Tukwila", "Bellevue", "Redmond", "Kent", "Tacoma", "Everett", "Westin Building"]], ["quincy", "Quincy (Central Washington)", "US", "Washington", 47.23, -119.85, 60, ["East Wenatchee", "Wenatchee", "Moses Lake", "Grant County", "Douglas County"]], ["hillsboro-portland", "Hillsboro / Portland", "US", "Oregon", 45.52, -122.99, 60, ["Portland", "Hillsboro", "Beaverton", "Tigard", "Gresham", "The Dalles"]], ["boardman-umatilla", "Boardman / Umatilla", "US", "Oregon", 45.84, -119.7, 60, ["Boardman", "Umatilla", "Hermiston", "Morrow County", "Umatilla County"]], ["prineville", "Prineville", "US", "Oregon", 44.3, -120.83, 50, ["Crook County", "Bend", "Redmond OR"]], ["atlanta", "Atlanta", "US", "Georgia", 33.75, -84.39, 70, ["Alpharetta", "Douglasville", "Lithia Springs", "Marietta", "Norcross", "Suwanee", "Duluth", "Fayetteville", "Newton County", "Covington", "Palmetto", "Union City"]], ["new-york-new-jersey", "New York / New Jersey", "US", "New York", 40.73, -74.1, 70, ["New York", "New York City", "Manhattan", "Secaucus", "Piscataway", "Carteret", "Weehawken", "Newark", "Clifton", "Parsippany", "Somerset", "Edison", "Mahwah", "Cranbury", "Bridgewater", "Brooklyn", "Long Island", "Staten Island", "NYC", "NJ"]], ["columbus", "Columbus", "US", "Ohio", 39.96, -83.0, 60, ["New Albany", "Dublin", "Hilliard", "Westerville", "Grove City", "Delaware County", "Licking County"]], ["salt-lake-city", "Salt Lake City", "US", "Utah", 40.76, -111.89, 60, ["West Jordan", "South Jordan", "Bluffdale", "Eagle Mountain", "Draper", "Lehi", "Ogden", "Provo"]], ["denver", "Denver", "US", "Colorado", 39.74, -104.99, 60, ["Aurora CO", "Englewood", "Centennial", "Lakewood", "Boulder", "Parker", "Colorado Springs"]], ["las-vegas", "Las Vegas", "US", "Nevada", 36.17, -115.14, 60, ["Henderson", "North Las Vegas", "Summerlin", "Boulder City"]], ["reno", "Reno", "US", "Nevada", 39.53, -119.81, 60, ["Sparks", "Tahoe Reno Industrial Center", "TRIC", "Storey County", "McCarran", "Carson City", "Fernley"]], ["houston", "Houston", "US", "Texas", 29.76, -95.37, 70, ["Katy", "Sugar Land", "The Woodlands", "Spring", "Pasadena TX", "Baytown"]], ["austin", "Austin", "US", "Texas", 30.27, -97.74, 60, ["Round Rock", "Pflugerville", "Hutto", "Taylor", "Temple", "Kyle", "San Marcos", "Georgetown TX", "Cedar Park"]], ["san-antonio", "San Antonio", "US", "Texas", 29.42, -98.49, 60, ["Westover Hills", "New Braunfels", "Schertz", "Seguin", "Boerne"]], ["minneapolis", "Minneapolis–St. Paul", "US", "Minnesota", 44.98, -93.27, 60, ["Minneapolis", "St. Paul", "Saint Paul", "Chaska", "Shakopee", "Eagan", "Rosemount", "Becker", "Farmington"]], ["kansas-city", "Kansas City", "US", "Missouri", 39.1, -94.58, 60, ["Kansas City MO", "Kansas City KS", "Overland Park", "Lenexa", "Olathe", "Independence", "Golden Plains"]], ["omaha-council-bluffs", "Omaha / Council Bluffs", "US", "Nebraska", 41.26, -95.93, 60, ["Omaha", "Council Bluffs", "Papillion", "Sarpy County", "Lincoln", "Kearney"]], ["des-moines", "Des Moines", "US", "Iowa", 41.59, -93.62, 60, ["Altoona", "West Des Moines", "Ankeny", "Waukee", "Cedar Rapids"]], ["cheyenne", "Cheyenne", "US", "Wyoming", 41.14, -104.82, 50, ["Laramie County", "Laramie"]], ["boydton", "Boydton", "US", "Virginia", 36.67, -78.39, 50, ["Mecklenburg County", "South Hill", "Clarksville"]], ["richmond", "Richmond", "US", "Virginia", 37.54, -77.44, 60, ["Henrico", "Henrico County", "Chesterfield", "Sandston", "Hanover"]], ["charlotte", "Charlotte", "US", "North Carolina", 35.23, -80.84, 60, ["Huntersville", "Concord", "Gastonia", "Kings Mountain", "Rock Hill", "Fort Mill"]], ["raleigh-durham", "Raleigh–Durham", "US", "North Carolina", 35.85, -78.75, 60, ["Raleigh", "Durham", "Cary", "Research Triangle", "Morrisville", "Apex", "Lenoir", "Maiden", "Forest City"]], ["miami", "Miami", "US", "Florida", 25.76, -80.19, 60, ["Fort Lauderdale", "Boca Raton", "Doral", "Hialeah", "Miramar", "Pompano Beach", "West Palm Beach", "NAP of the Americas"]], ["tampa-orlando", "Tampa / Orlando", "US", "Florida", 28.2, -81.9, 80, ["Tampa", "Orlando", "Lakeland", "St. Petersburg", "Jacksonville"]], ["boston", "Boston", "US", "Massachusetts", 42.36, -71.06, 60, ["Cambridge", "Waltham", "Marlborough", "Needham", "Somerville", "Westborough"]], ["philadelphia", "Philadelphia", "US", "Pennsylvania", 39.95, -75.17, 60, ["King of Prussia", "Conshohocken", "Wilmington", "Cherry Hill", "Camden"]], ["pittsburgh", "Pittsburgh", "US", "Pennsylvania", 40.44, -80.0, 50, ["Homer City", "Cranberry Township"]], ["sacramento", "Sacramento", "US", "California", 38.58, -121.49, 60, ["Rancho Cordova", "Roseville", "McClellan", "Folsom", "Elk Grove"]], ["san-diego", "San Diego", "US", "California", 32.72, -117.16, 50, ["Carlsbad", "Chula Vista"]], ["nashville", "Nashville", "US", "Tennessee", 36.16, -86.78, 60, ["Franklin", "Clarksville TN", "Gallatin"]], ["memphis", "Memphis", "US", "Tennessee", 35.15, -90.05, 50, ["Southaven", "Colossus"]], ["st-louis", "St. Louis", "US", "Missouri", 38.63, -90.2, 50, ["Saint Louis", "Chesterfield MO", "Maryland Heights"]], ["indianapolis", "Indianapolis", "US", "Indiana", 39.77, -86.16, 60, ["Plainfield", "Carmel", "Fishers", "Lebanon IN"]], ["detroit", "Detroit", "US", "Michigan", 42.33, -83.05, 60, ["Southfield", "Ann Arbor", "Troy MI", "Saline"]], ["cleveland", "Cleveland", "US", "Ohio", 41.5, -81.69, 50, ["Akron", "Cincinnati"]], ["central-valley-california", "Central Valley (California)", "US", "California", 36.74, -119.79, 80, ["Fresno", "Bakersfield", "Stockton", "Modesto"]], ["abilene", "Abilene", "US", "Texas", 32.45, -99.73, 50, ["Taylor County", "Stargate"]], ["ellendale", "Ellendale", "US", "North Dakota", 46.0, -98.53, 60, ["Dickey County", "Jamestown ND"]], ["new-orleans-baton-rouge", "New Orleans / Baton Rouge", "US", "Louisiana", 30.3, -90.6, 80, ["New Orleans", "Baton Rouge", "Richland Parish", "Holly Ridge"]], // Canada ["montreal", "Montréal", "CA", "Quebec", 45.5, -73.57, 60, ["Montreal", "Laval", "Longueuil", "Saint-Laurent", "Vaudreuil-Dorion", "Beauharnois", "Pointe-Claire", "Brossard", "Boucherville", "Granby"]], ["quebec-city", "Québec City", "CA", "Quebec", 46.81, -71.21, 50, ["Quebec City", "Québec", "Quebec", "Lévis", "Trois-Rivières", "Bécancour"]], ["toronto", "Toronto", "CA", "Ontario", 43.65, -79.38, 70, ["Mississauga", "Markham", "Vaughan", "Brampton", "Barrie", "Richmond Hill", "Scarborough", "Oakville", "Hamilton", "Kitchener", "Waterloo", "Cambridge ON", "GTA"]], ["vancouver", "Vancouver", "CA", "British Columbia", 49.28, -123.12, 60, ["Burnaby", "Richmond BC", "Surrey", "Kamloops", "Kelowna"]], ["calgary", "Calgary", "CA", "Alberta", 51.05, -114.07, 60, ["Airdrie", "Red Deer", "Edmonton"]], ["ottawa", "Ottawa", "CA", "Ontario", 45.42, -75.7, 50, ["Gatineau", "Kanata"]], ["winnipeg", "Winnipeg", "CA", "Manitoba", 49.9, -97.14, 50, []], // Latin America ["sao-paulo", "São Paulo", "BR", "São Paulo", -23.55, -46.63, 80, ["Sao Paulo", "Campinas", "Barueri", "Santana de Parnaíba", "Tamboré", "Osasco", "Cotia", "Hortolândia", "Paulínia", "Sumaré", "Vinhedo", "Jundiaí", "Alphaville"]], ["rio-de-janeiro", "Rio de Janeiro", "BR", "Rio de Janeiro", -22.91, -43.17, 60, ["Niterói", "Duque de Caxias", "Macaé"]], ["fortaleza", "Fortaleza", "BR", "Ceará", -3.72, -38.54, 50, ["Praia do Futuro", "Caucaia", "Eusébio"]], ["brasilia", "Brasília", "BR", "Distrito Federal", -15.79, -47.88, 50, ["Brasilia"]], ["porto-alegre", "Porto Alegre", "BR", "Rio Grande do Sul", -30.03, -51.23, 50, ["Eldorado do Sul", "Canoas"]], ["santiago", "Santiago", "CL", "Región Metropolitana", -33.45, -70.67, 60, ["Quilicura", "Colina", "Huechuraba", "Lampa", "Pudahuel", "Maipú", "San Bernardo"]], ["bogota", "Bogotá", "CO", "Cundinamarca", 4.71, -74.07, 60, ["Bogota", "Tocancipá", "Funza", "Chía", "Zipaquirá"]], ["queretaro", "Querétaro", "MX", "Querétaro", 20.59, -100.39, 60, ["Queretaro", "El Marqués", "Colón", "San Juan del Río", "Corregidora", "Bajío"]], ["mexico-city", "Mexico City", "MX", "Ciudad de México", 19.43, -99.13, 60, ["Ciudad de México", "CDMX", "Toluca", "Tultitlán", "Naucalpan", "Cuautitlán"]], ["monterrey", "Monterrey", "MX", "Nuevo León", 25.69, -100.32, 60, ["Apodaca", "San Pedro Garza García", "Guadalupe NL", "García", "Santa Catarina"]], ["guadalajara", "Guadalajara", "MX", "Jalisco", 20.66, -103.35, 50, ["Zapopan", "Tlaquepaque", "El Salto"]], ["buenos-aires", "Buenos Aires", "AR", "Buenos Aires", -34.6, -58.38, 60, ["Pilar", "Cañuelas", "Tigre", "La Plata", "Vicente López"]], ["lima", "Lima", "PE", "Lima", -12.05, -77.04, 50, ["Callao", "Lurín", "Villa El Salvador", "Chorrillos"]], ["panama-city", "Panama City", "PA", "Panamá", 8.98, -79.52, 50, ["Panamá", "Panama", "Colón"]], // Europe — FLAP-D and beyond ["frankfurt", "Frankfurt", "DE", "Hesse", 50.11, 8.68, 60, ["Frankfurt am Main", "Hanau", "Offenbach", "Eschborn", "Rüsselsheim", "Dietzenbach", "Hattersheim", "Kelsterbach", "Mainz", "Wiesbaden", "Darmstadt", "Langen", "Friedrichsdorf", "Neu-Isenburg", "Bad Homburg", "Hessen"]], ["london", "London", "GB", "England", 51.51, -0.13, 70, ["Slough", "Docklands", "Canary Wharf", "Hayes", "Park Royal", "Enfield", "Stockley Park", "Woking", "Croydon", "Isle of Dogs", "Brentford", "Iver", "Uxbridge", "Dagenham", "Hemel Hempstead", "Welwyn Garden City", "Watford", "Reading", "Bracknell", "Farnborough", "Basildon", "Greater London", "Berkshire", "Hertfordshire"]], ["amsterdam", "Amsterdam", "NL", "North Holland", 52.37, 4.9, 60, ["Schiphol", "Schiphol-Rijk", "Haarlem", "Haarlemmermeer", "Hoofddorp", "Aalsmeer", "Almere", "Zaandam", "Diemen", "Amstelveen", "Hilversum", "Lelystad", "Middenmeer", "Agriport", "Wieringermeer", "Zeewolde", "Utrecht", "Randstad"]], ["paris", "Paris", "FR", "Île-de-France", 48.86, 2.35, 60, ["Marcoussis", "Saint-Denis", "Aubervilliers", "La Courneuve", "Pantin", "Courbevoie", "Nanterre", "Vitry-sur-Seine", "Les Ulis", "Massy", "Bruyères-le-Châtel", "Ile-de-France", "Île-de-France", "Wissous", "Nozay", "Val-de-Reuil", "Cergy", "Roissy", "Meudon", "Saint-Ouen", "Ferrières-en-Brie", "Villebon"]], ["dublin", "Dublin", "IE", "Leinster", 53.35, -6.26, 60, ["Clondalkin", "Grange Castle", "Blanchardstown", "Clonshaugh", "Ballycoolin", "Profile Park", "Citywest", "Tallaght", "Swords", "Kildare", "Ennis"]], ["madrid", "Madrid", "ES", "Community of Madrid", 40.42, -3.7, 60, ["Alcobendas", "San Sebastián de los Reyes", "Alcalá de Henares", "Getafe", "Pinto", "Torrejón de Ardoz", "Meco", "Tres Cantos", "Leganés", "San Fernando de Henares", "Móstoles"]], ["barcelona", "Barcelona", "ES", "Catalonia", 41.39, 2.17, 50, ["Sant Adrià de Besòs", "Cerdanyola", "El Prat de Llobregat", "Cornellà", "Sant Cugat"]], ["aragon", "Aragón", "ES", "Aragon", 41.65, -0.89, 70, ["Zaragoza", "Aragon", "Villanueva de Gállego", "Huesca", "El Burgo de Ebro"]], ["milan", "Milan", "IT", "Lombardy", 45.46, 9.19, 60, ["Milano", "Settimo Milanese", "Cornaredo", "Segrate", "Rozzano", "Vimercate", "Basiglio", "Pavia", "Lombardia", "Ponte San Pietro", "Bergamo", "Siziano", "Arese"]], ["rome", "Rome", "IT", "Lazio", 41.9, 12.5, 50, ["Roma", "Pomezia", "Fiumicino"]], ["zurich", "Zurich", "CH", "Zürich", 47.38, 8.54, 50, ["Zürich", "Glattbrugg", "Rümlang", "Opfikon", "Dielsdorf", "Lupfig", "Winterthur", "Baden", "Aargau"]], ["geneva", "Geneva", "CH", "Geneva", 46.2, 6.14, 40, ["Genève", "Genf", "Plan-les-Ouates", "Gland", "Lausanne"]], ["vienna", "Vienna", "AT", "Vienna", 48.21, 16.37, 50, ["Wien", "Floridsdorf", "Kittsee", "Wiener Neudorf"]], ["warsaw", "Warsaw", "PL", "Masovian", 52.23, 21.01, 60, ["Warszawa", "Piaseczno", "Pruszków", "Ożarów Mazowiecki", "Ursus", "Radom"]], ["poznan", "Poznań", "PL", "Greater Poland", 52.41, 16.93, 50, ["Poznan"]], ["wroclaw", "Wrocław", "PL", "Lower Silesia", 51.11, 17.04, 50, ["Wroclaw", "Katowice", "Kraków", "Krakow"]], ["prague", "Prague", "CZ", "Prague", 50.08, 14.44, 50, ["Praha", "Hostivice", "Zdiby", "Písek"]], ["stockholm", "Stockholm", "SE", "Stockholm County", 59.33, 18.07, 60, ["Kista", "Solna", "Upplands Väsby", "Sätra", "Akalla", "Eskilstuna", "Sollentuna", "Enköping", "Västerås"]], ["boden-lulea", "Boden / Luleå", "SE", "Norrbotten", 65.83, 21.69, 80, ["Luleå", "Lulea", "Boden", "Piteå", "Skellefteå", "Node Pole"]], ["falun-borlange", "Falun / Borlänge", "SE", "Dalarna", 60.6, 15.63, 60, ["Falun", "Borlänge", "Avesta", "Gävle"]], ["oslo", "Oslo", "NO", "Oslo", 59.91, 10.75, 70, ["Fetsund", "Enebakk", "Hønefoss", "Holtskogen", "Vestby", "Skien", "Drammen", "Lillestrøm", "Hamar", "Heggvin", "Rjukan", "Ringerike"]], ["stavanger", "Stavanger", "NO", "Rogaland", 58.97, 5.73, 60, ["Rennesøy", "Bryne", "Sandnes"]], ["copenhagen", "Copenhagen", "DK", "Capital Region", 55.68, 12.57, 60, ["København", "Ballerup", "Glostrup", "Taastrup", "Odense", "Fredericia", "Viborg", "Køge", "Roskilde"]], ["helsinki", "Helsinki", "FI", "Uusimaa", 60.17, 24.94, 60, ["Espoo", "Vantaa", "Kirkkonummi", "Kajaani", "Hamina", "Kouvola", "Mäntsälä", "Kerava", "Porvoo", "Tampere", "Lohja"]], ["reykjavik", "Reykjavík", "IS", "Capital Region", 64.15, -21.94, 60, ["Reykjavik", "Keflavík", "Reykjanesbær", "Hafnarfjörður", "Blönduós", "Akureyri", "Kópavogur"]], ["brussels", "Brussels", "BE", "Brussels-Capital", 50.85, 4.35, 60, ["Bruxelles", "Brussel", "Zaventem", "Vilvoorde", "Antwerp", "Antwerpen", "Ghent", "Gent", "Saint-Ghislain", "Mons", "Leuven", "Diegem", "Mechelen"]], ["luxembourg", "Luxembourg", "LU", null, 49.61, 6.13, 40, ["Bettembourg", "Bissen", "Roost", "Kayl", "Contern", "Windhof", "Betzdorf", "Esch-sur-Alzette"]], ["marseille", "Marseille", "FR", "Provence-Alpes-Côte d'Azur", 43.3, 5.37, 50, ["Bouc-Bel-Air", "Aix-en-Provence", "Vitrolles", "Fos-sur-Mer", "Toulon"]], ["lyon", "Lyon", "FR", "Auvergne-Rhône-Alpes", 45.76, 4.84, 50, ["Vénissieux", "Villeurbanne", "Saint-Priest", "Grenoble", "Saint-Étienne"]], ["lille", "Lille", "FR", "Hauts-de-France", 50.63, 3.06, 50, ["Roubaix", "Croix", "Villeneuve-d'Ascq", "Lesquin", "Nord"]], ["gravelines-dunkirk", "Gravelines / Dunkirk", "FR", "Hauts-de-France", 51.0, 2.3, 40, ["Gravelines", "Dunkerque", "Dunkirk", "Calais"]], ["lisbon", "Lisbon", "PT", "Lisbon", 38.72, -9.14, 60, ["Lisboa", "Sines", "Carregado", "Alenquer", "Covilhã", "Setúbal", "Loures", "Oeiras", "Sintra"]], ["manchester", "Manchester", "GB", "England", 53.48, -2.24, 60, ["Salford", "Trafford", "Stockport", "Warrington", "Leeds", "Liverpool", "Kirkby", "Sheffield"]], ["cardiff-newport", "Cardiff / Newport", "GB", "Wales", 51.55, -3.0, 50, ["Cardiff", "Newport", "Imperial Park", "Celtic Manor", "Bridgend"]], ["edinburgh-glasgow", "Edinburgh / Glasgow", "GB", "Scotland", 55.9, -3.8, 80, ["Edinburgh", "Glasgow", "Lanarkshire", "Livingston", "Dundee", "Aberdeen", "Fort William"]], ["berlin", "Berlin", "DE", "Berlin", 52.52, 13.41, 60, ["Potsdam", "Schönefeld", "Ludwigsfelde", "Brandenburg", "Neuenhagen", "Mittenwalde", "Spandau", "Marzahn"]], ["munich", "Munich", "DE", "Bavaria", 48.14, 11.58, 60, ["München", "Garching", "Aschheim", "Unterföhring", "Poing", "Ismaning", "Kirchheim", "Nuremberg", "Nürnberg", "Augsburg"]], ["hamburg", "Hamburg", "DE", "Hamburg", 53.55, 9.99, 60, ["Norderstedt", "Ahrensburg", "Wilhelmsburg", "Glinde", "Lüneburg"]], ["dusseldorf-cologne", "Düsseldorf / Cologne", "DE", "North Rhine-Westphalia", 51.1, 6.85, 70, ["Düsseldorf", "Dusseldorf", "Cologne", "Köln", "Bonn", "Neuss", "Krefeld", "Ratingen", "Essen", "Dortmund", "Duisburg", "Bochum", "Hürth", "Leverkusen", "Hilden", "Langenfeld", "Rhine-Ruhr", "Rhein-Ruhr", "Ruhr"]], ["stuttgart", "Stuttgart", "DE", "Baden-Württemberg", 48.78, 9.18, 50, ["Karlsruhe", "Mannheim", "Böblingen", "Ludwigsburg", "Heilbronn"]], ["athens", "Athens", "GR", "Attica", 37.98, 23.73, 50, ["Athina", "Koropi", "Paiania", "Spata", "Markopoulo", "Thessaloniki", "Attiki"]], ["istanbul", "Istanbul", "TR", "Istanbul", 41.01, 28.98, 60, ["İstanbul", "Esenyurt", "Tuzla", "Gebze", "Kocaeli", "Ümraniye", "Çorlu", "Silivri", "Ankara"]], ["moscow", "Moscow", "RU", "Moscow", 55.76, 37.62, 70, ["Москва", "Moskva", "Podolsk", "Balashikha", "Domodedovo", "Khimki", "Zelenograd"]], ["saint-petersburg", "Saint Petersburg", "RU", "Saint Petersburg", 59.93, 30.34, 60, ["St. Petersburg", "Sankt-Peterburg", "Санкт-Петербург"]], ["kyiv", "Kyiv", "UA", "Kyiv", 50.45, 30.52, 50, ["Kiev", "Київ", "Brovary"]], ["bucharest", "Bucharest", "RO", "Bucharest", 44.43, 26.1, 50, ["București", "Bucuresti", "Ilfov", "Chitila", "Otopeni"]], ["budapest", "Budapest", "HU", "Budapest", 47.5, 19.04, 50, ["Budaörs", "Törökbálint", "Dunakeszi"]], ["sofia", "Sofia", "BG", "Sofia City", 42.7, 23.32, 50, ["София", "Sofiya"]], ["belgrade", "Belgrade", "RS", "Belgrade", 44.79, 20.45, 50, ["Beograd", "Kragujevac"]], // Middle East & Africa ["dubai", "Dubai", "AE", "Dubai", 25.2, 55.27, 60, ["Dubai Silicon Oasis", "Dubai Internet City", "Jebel Ali", "Dubai South", "Sharjah", "Ajman", "Dubai Investments Park", "Dubai Production City"]], ["abu-dhabi", "Abu Dhabi", "AE", "Abu Dhabi", 24.45, 54.38, 60, ["Masdar City", "Masdar", "Khalifa Industrial Zone", "KIZAD", "Mussafah", "Al Ain", "Abu Dhabi Global Market"]], ["riyadh", "Riyadh", "SA", "Riyadh Province", 24.71, 46.68, 60, ["Ar Riyad", "Al Kharj", "King Abdullah Financial District", "KAFD"]], ["jeddah", "Jeddah", "SA", "Makkah Province", 21.49, 39.19, 60, ["Jiddah", "Mecca", "Makkah", "King Abdullah Economic City", "KAEC", "Rabigh"]], ["dammam", "Dammam", "SA", "Eastern Province", 26.43, 50.1, 60, ["Dhahran", "Khobar", "Al Khobar", "Jubail", "Eastern Province"]], ["doha", "Doha", "QA", "Ad Dawhah", 25.29, 51.53, 50, ["Al Rayyan", "Lusail", "Mesaieed", "Ras Laffan", "Qatar Science and Technology Park"]], ["manama", "Manama", "BH", "Capital", 26.23, 50.59, 40, ["Bahrain", "Riffa", "Muharraq", "Hidd"]], ["muscat", "Muscat", "OM", "Muscat", 23.59, 58.38, 60, ["Masqat", "Barka", "Duqm", "Salalah", "Sohar"]], ["kuwait-city", "Kuwait City", "KW", "Al Asimah", 29.38, 47.99, 50, ["Kuwait", "Al Kuwayt", "Shuwaikh"]], ["amman", "Amman", "JO", "Amman", 31.95, 35.93, 50, ["Zarqa", "Aqaba"]], ["tel-aviv", "Tel Aviv", "IL", "Tel Aviv", 32.09, 34.78, 50, ["Petah Tikva", "Herzliya", "Rosh HaAyin", "Modi'in", "Shoham", "Airport City", "Haifa", "Jerusalem", "Ashdod", "Be'er Sheva"]], ["johannesburg", "Johannesburg", "ZA", "Gauteng", -26.2, 28.05, 60, ["Isando", "Midrand", "Samrand", "Centurion", "Pretoria", "Bredell", "Kempton Park", "Sandton", "Waterfall", "Gauteng", "Ekurhuleni"]], ["cape-town", "Cape Town", "ZA", "Western Cape", -33.93, 18.42, 60, ["Rondebosch", "Brackenfell", "Bellville", "Parow", "Stellenbosch", "Paarl"]], ["durban", "Durban", "ZA", "KwaZulu-Natal", -29.86, 31.02, 50, ["Umhlanga", "Pinetown", "Riverhorse Valley"]], ["nairobi", "Nairobi", "KE", "Nairobi County", -1.29, 36.82, 60, ["Karen", "Tatu City", "Athi River", "Mombasa Road", "Konza", "Konza Technopolis", "Machakos", "Kiambu"]], ["lagos", "Lagos", "NG", "Lagos State", 6.52, 3.38, 60, ["Lekki", "Ikeja", "Victoria Island", "Ikoyi", "Ibeju-Lekki", "Ogun"]], ["abuja", "Abuja", "NG", "Federal Capital Territory", 9.06, 7.49, 50, []], ["cairo", "Cairo", "EG", "Cairo", 30.04, 31.24, 60, ["Giza", "New Cairo", "Maadi", "Smart Village", "6th of October City", "New Administrative Capital", "Alexandria"]], ["casablanca", "Casablanca", "MA", "Casablanca-Settat", 33.57, -7.59, 60, ["Rabat", "Nouaceur", "Mohammedia", "Tétouan", "Tetouan", "Kenitra", "Dakhla"]], ["accra", "Accra", "GH", "Greater Accra", 5.6, -0.19, 50, ["Tema", "Kumasi"]], ["kigali", "Kigali", "RW", "Kigali", -1.95, 30.06, 40, []], ["addis-ababa", "Addis Ababa", "ET", "Addis Ababa", 9.03, 38.74, 50, ["Addis Abeba"]], ["dar-es-salaam", "Dar es Salaam", "TZ", "Dar es Salaam", -6.79, 39.28, 50, ["Dodoma", "Arusha"]], ["kampala", "Kampala", "UG", "Central", 0.35, 32.58, 50, ["Namanve", "Entebbe"]], ["luanda", "Luanda", "AO", "Luanda", -8.84, 13.23, 50, ["Talatona", "Viana"]], ["dakar", "Dakar", "SN", "Dakar", 14.69, -17.44, 50, ["Diamniadio", "Rufisque"]], ["abidjan", "Abidjan", "CI", "Abidjan", 5.35, -4.0, 50, ["Grand-Bassam"]], ["port-louis", "Port Louis", "MU", null, -20.16, 57.5, 50, ["Ébène", "Ebene", "Mauritius", "Rose Hill"]], // Asia-Pacific ["tokyo", "Tokyo", "JP", "Kantō", 35.68, 139.69, 70, ["Inzai", "Chiba", "Saitama", "Kawasaki", "Yokohama", "Kanagawa", "Ōtemachi", "Otemachi", "Shinagawa", "Koto", "Tama", "Tochigi", "Ibaraki", "Tsukuba", "Shirai", "Kashiwa", "Ōme", "Fuchū", "Kawagoe", "Kanto"]], ["osaka", "Osaka", "JP", "Kansai", 34.69, 135.5, 60, ["Ōsaka", "Kyoto", "Kobe", "Keihanna", "Hyogo", "Nara", "Sakai", "Ibaraki-shi", "Kansai", "Kinki"]], ["nagoya", "Nagoya", "JP", "Chūbu", 35.18, 136.91, 50, ["Aichi", "Gifu", "Chubu"]], ["fukuoka", "Fukuoka", "JP", "Kyūshū", 33.59, 130.4, 50, ["Kitakyushu", "Kitakyūshū", "Kyushu", "Saga"]], ["hokkaido", "Hokkaidō", "JP", "Hokkaidō", 43.06, 141.35, 80, ["Sapporo", "Hokkaido", "Ishikari", "Tomakomai", "Chitose", "Kitahiroshima"]], ["seoul", "Seoul", "KR", "Seoul Capital Area", 37.57, 126.98, 70, ["Incheon", "Gyeonggi", "Sangam", "Gasan", "Pyeongchon", "Anyang", "Pangyo", "Seongnam", "Yongin", "Goyang", "Bucheon", "Gimpo", "Hanam", "Guro", "Mokdong", "Gangnam", "Suwon", "Paju", "Ansan", "Hwaseong", "Yangju"]], ["busan", "Busan", "KR", "Yeongnam", 35.18, 129.08, 50, ["Pusan", "Gangseo", "Ulsan", "Gimhae"]], ["taipei", "Taipei", "TW", "Northern Taiwan", 25.03, 121.57, 60, ["New Taipei", "Taoyuan", "Banqiao", "Neihu", "Nangang", "Zhonghe", "Linkou", "Hsinchu", "Keelung", "Taoyuan City"]], ["taichung", "Taichung", "TW", "Central Taiwan", 24.15, 120.67, 50, ["Changhua", "Yunlin"]], ["kaohsiung", "Kaohsiung", "TW", "Southern Taiwan", 22.63, 120.3, 60, ["Tainan", "Pingtung"]], ["hong-kong", "Hong Kong", "HK", null, 22.32, 114.17, 40, ["Kwai Chung", "Tseung Kwan O", "Tsuen Wan", "Chai Wan", "Fo Tan", "Sha Tin", "Kowloon", "Tuen Mun", "Kwun Tong", "Fanling", "Kwai Hing", "Tsing Yi", "HK"]], ["beijing", "Beijing", "CN", "Beijing", 39.9, 116.4, 70, ["北京", "Peking", "Langfang", "Tianjin", "Zhangjiakou", "Huailai", "Daxing", "Shunyi", "Yizhuang", "Haidian", "Chaoyang", "Tongzhou", "Hebei", "Zhangbei"]], ["shanghai", "Shanghai", "CN", "Shanghai", 31.23, 121.47, 70, ["上海", "Pudong", "Songjiang", "Jiading", "Minhang", "Qingpu", "Lingang", "Suzhou", "Kunshan", "Nantong", "Hangzhou", "Wuxi", "Nanjing", "Jiangsu", "Zhejiang", "Baoshan", "Jinshan"]], ["shenzhen", "Shenzhen", "CN", "Guangdong", 22.54, 114.06, 70, ["深圳", "Guangzhou", "Dongguan", "Huizhou", "Foshan", "Zhongshan", "Zhuhai", "Nanshan", "Longhua", "Guangming", "Pingshan", "Greater Bay Area", "Guangdong", "Qingyuan", "Shaoguan"]], ["chengdu", "Chengdu", "CN", "Sichuan", 30.57, 104.07, 60, ["成都", "Sichuan", "Ya'an", "Yibin", "Tianfu"]], ["chongqing", "Chongqing", "CN", "Chongqing", 29.56, 106.55, 60, ["重庆", "Liangjiang", "Shuitu"]], ["ulanqab-inner-mongolia", "Ulanqab / Inner Mongolia", "CN", "Inner Mongolia", 41.0, 113.13, 80, ["Ulanqab", "Wulanchabu", "Hohhot", "Ordos", "Inner Mongolia", "Nei Mongol"]], ["guiyang", "Guiyang", "CN", "Guizhou", 26.65, 106.63, 60, ["Gui'an", "Guian", "Guizhou", "Anshun"]], ["wuhan", "Wuhan", "CN", "Hubei", 30.59, 114.31, 60, ["武汉", "Hubei", "Xiangyang"]], ["singapore", "Singapore", "SG", null, 1.35, 103.82, 35, ["Jurong", "Tuas", "Loyang", "Tai Seng", "Paya Lebar", "Woodlands", "Changi", "Ayer Rajah", "Tanjong Kling", "Pioneer", "Punggol", "Kallang", "Serangoon", "Sunview", "SG"]], ["johor", "Johor", "MY", "Johor", 1.55, 103.75, 60, ["Johor Bahru", "Nusajaya", "Iskandar Puteri", "Sedenak", "Kulai", "Senai", "Gelang Patah", "Iskandar", "Pasir Gudang", "Tebrau", "Kempas", "Skudai"]], ["kuala-lumpur", "Kuala Lumpur", "MY", "Klang Valley", 3.14, 101.69, 60, ["Cyberjaya", "Putrajaya", "Selangor", "Klang Valley", "Shah Alam", "Petaling Jaya", "Bukit Jalil", "Puchong", "Sepang", "Elmina", "Bangi", "Rawang", "Klang", "Kajang", "Serdang", "Bandar Baru Bangi", "Seri Kembangan"]], ["penang-kedah", "Penang / Kedah", "MY", "Penang", 5.41, 100.33, 70, ["Penang", "George Town", "Bayan Lepas", "Batu Kawan", "Kulim", "Kedah", "Prai"]], ["batam", "Batam", "ID", "Riau Islands", 1.13, 104.05, 40, ["Nongsa", "Nongsa Digital Park", "Riau Islands", "Bintan"]], ["jakarta", "Jakarta", "ID", "Java", -6.21, 106.85, 70, ["Bekasi", "Cikarang", "Karawang", "Tangerang", "Bogor", "Cibitung", "Jababeka", "Cibinong", "Depok", "Serpong", "BSD City", "Jabodetabek", "Greater Jakarta", "West Java", "Banten", "Purwakarta", "Deltamas"]], ["bangkok", "Bangkok", "TH", "Central Thailand", 13.76, 100.5, 70, ["Samut Prakan", "Nonthaburi", "Pathum Thani", "Chonburi", "Rayong", "Eastern Economic Corridor", "EEC", "Bang Na", "Bangna", "Chachoengsao", "Ayutthaya", "Krung Thep", "Bang Pakong", "Amata"]], ["manila", "Manila", "PH", "Metro Manila", 14.6, 120.98, 60, ["Metro Manila", "Makati", "Quezon City", "Pasig", "Taguig", "Bonifacio Global City", "BGC", "Cavite", "Laguna", "Santa Rosa", "Clark", "Pampanga", "Bulacan", "Muntinlupa", "Parañaque", "Pasay", "Cainta", "Marilao", "Calamba", "Biñan"]], ["ho-chi-minh-city", "Ho Chi Minh City", "VN", "Southeast Vietnam", 10.82, 106.63, 60, ["Saigon", "HCMC", "Thu Duc", "Binh Duong", "Dong Nai", "Long An", "Tan Thuan", "Saigon Hi-Tech Park", "District 9", "Củ Chi"]], ["hanoi", "Hanoi", "VN", "Red River Delta", 21.03, 105.85, 60, ["Hà Nội", "Bac Ninh", "Hoa Lac", "Hung Yen", "Vinh Phuc", "Hai Phong", "Ha Nam"]], ["mumbai", "Mumbai", "IN", "Maharashtra", 19.08, 72.88, 60, ["Navi Mumbai", "Panvel", "Airoli", "Mahape", "Rabale", "Thane", "Powai", "Andheri", "Chandivali", "Taloja", "Bhiwandi", "Kalyan", "Vashi", "Turbhe", "Bombay", "Mumbai Metropolitan Region", "MMR"]], ["chennai", "Chennai", "IN", "Tamil Nadu", 13.08, 80.27, 60, ["Ambattur", "Siruseri", "Sholinganallur", "Madras", "Oragadam", "Sriperumbudur", "Padur", "Taramani", "Kelambakkam", "Mahindra World City"]], ["hyderabad", "Hyderabad", "IN", "Telangana", 17.39, 78.49, 60, ["Gachibowli", "Chandanvelly", "Shamshabad", "Kokapet", "HITEC City", "Secunderabad", "Madhapur", "Uppal", "Mankhal", "Mucherla", "Fab City"]], ["delhi-ncr", "Delhi NCR", "IN", "Delhi", 28.61, 77.21, 70, ["Noida", "Greater Noida", "Gurugram", "Gurgaon", "Delhi", "New Delhi", "Ghaziabad", "Faridabad", "Manesar", "Sonipat", "Yamuna Expressway", "Jewar", "Sector 62", "Sector 135", "NCR", "Uttar Pradesh"]], ["bangalore", "Bengaluru", "IN", "Karnataka", 12.97, 77.59, 60, ["Bangalore", "Whitefield", "Electronic City", "Devanahalli", "Doddaballapur", "Hebbal", "Yelahanka", "Hosur", "Bidadi", "Hoskote", "Sarjapur", "Bommasandra"]], ["pune", "Pune", "IN", "Maharashtra", 18.52, 73.86, 60, ["Hinjewadi", "Hinjawadi", "Talegaon", "Chakan", "Pimpri-Chinchwad", "Kharadi", "Magarpatta", "Wagholi", "Rajiv Gandhi Infotech Park"]], ["kolkata", "Kolkata", "IN", "West Bengal", 22.57, 88.36, 60, ["Calcutta", "New Town", "Rajarhat", "Salt Lake", "Bantala", "Howrah", "Silicon Valley Hub"]], ["ahmedabad-gift-city", "Ahmedabad / GIFT City", "IN", "Gujarat", 23.02, 72.57, 70, ["Ahmedabad", "GIFT City", "Gandhinagar", "Sanand", "Jamnagar", "Gujarat", "Vadodara", "Surat", "Dholera", "Mundra"]], ["visakhapatnam", "Visakhapatnam", "IN", "Andhra Pradesh", 17.69, 83.22, 60, ["Vizag", "Andhra Pradesh", "Rambilli", "Anakapalli", "Kapuluppada"]], ["kochi", "Kochi", "IN", "Kerala", 9.93, 76.27, 50, ["Cochin", "Kakkanad", "Infopark", "Ernakulam"]], ["thiruvananthapuram", "Thiruvananthapuram", "IN", "Kerala", 8.52, 76.94, 50, ["Trivandrum", "Technopark"]], ["karachi", "Karachi", "PK", "Sindh", 24.86, 67.01, 50, ["Lahore", "Islamabad"]], ["dhaka", "Dhaka", "BD", "Dhaka", 23.81, 90.41, 50, ["Gazipur", "Kaliakoir", "Narayanganj", "Jessore"]], ["colombo", "Colombo", "LK", "Western Province", 6.93, 79.86, 50, ["Pitipana", "Homagama", "Sri Jayawardenepura Kotte"]], ["sydney", "Sydney", "AU", "New South Wales", -33.87, 151.21, 70, ["Macquarie Park", "Alexandria", "Eastern Creek", "Erskine Park", "Kemps Creek", "Huntingwood", "Artarmon", "Silverwater", "Homebush", "Lane Cove", "Mascot", "Parramatta", "Western Sydney", "North Ryde", "Rosehill", "Rooty Hill", "Blacktown", "Marsden Park", "Riverstone", "Wollongong", "Newcastle", "Bringelly", "Norwest", "Frenchs Forest"]], ["melbourne", "Melbourne", "AU", "Victoria", -37.81, 144.96, 70, ["Port Melbourne", "Tullamarine", "Truganina", "Derrimut", "Deer Park", "Clayton", "Fishermans Bend", "Dandenong", "Cranbourne", "West Footscray", "Laverton", "Craigieburn", "Werribee", "Tarneit", "Ravenhall", "Geelong", "Sunshine", "Docklands VIC"]], ["perth", "Perth", "AU", "Western Australia", -31.95, 115.86, 60, ["Malaga", "Shenton Park", "Bentley", "Welshpool", "Jandakot", "Landsdale", "Kwinana", "Balcatta", "Forrestfield", "Kewdale"]], ["brisbane", "Brisbane", "AU", "Queensland", -27.47, 153.03, 60, ["Fortitude Valley", "Eight Mile Plains", "Yatala", "Gold Coast", "Ipswich", "Springfield", "Wacol", "Polaris", "Springfield Central", "Redbank", "Toowoomba"]], ["canberra", "Canberra", "AU", "Australian Capital Territory", -35.28, 149.13, 50, ["Fyshwick", "Hume", "Symonston", "Bruce", "Eastern Creek ACT", "ACT", "Queanbeyan"]], ["adelaide", "Adelaide", "AU", "South Australia", -34.93, 138.6, 50, ["Edinburgh Parks", "Tonsley", "Elizabeth", "Mawson Lakes"]], ["auckland", "Auckland", "NZ", "Auckland", -36.85, 174.76, 60, ["Westgate", "Silverdale", "Albany", "Takanini", "Hobsonville", "Penrose", "Mount Wellington", "East Tamaki", "Māngere", "Wiri", "Karaka", "Drury", "Whenuapai"]], ["wellington", "Wellington", "NZ", "Wellington", -41.29, 174.78, 50, ["Petone", "Porirua", "Lower Hutt", "Upper Hutt", "Trentham"]], ["christchurch", "Christchurch", "NZ", "Canterbury", -43.53, 172.64, 50, ["Rolleston", "Hornby", "Southland", "Invercargill", "Dunedin"]], ["tashkent", "Tashkent", "UZ", "Tashkent", 41.3, 69.24, 50, ["Toshkent", "Tashkent Region"]], ["ulaanbaatar", "Ulaanbaatar", "MN", "Ulaanbaatar", 47.92, 106.92, 50, ["Ulan Bator"]], ["phnom-penh", "Phnom Penh", "KH", "Phnom Penh", 11.56, 104.93, 50, ["Kandal"]], ["yangon", "Yangon", "MM", "Yangon", 16.87, 96.2, 50, ["Rangoon", "Thilawa", "Mandalay"]], ["baku", "Baku", "AZ", "Baku", 40.41, 49.87, 50, ["Bakı", "Sumgait"]], ["almaty", "Almaty", "KZ", "Almaty", 43.24, 76.89, 50, ["Alma-Ata"]], ["astana", "Astana", "KZ", "Astana", 51.17, 71.43, 50, ["Nur-Sultan", "Karaganda", "Ekibastuz", "Pavlodar"]], ["tbilisi", "Tbilisi", "GE", "Tbilisi", 41.72, 44.79, 50, ["Kutaisi", "Batumi"]], ["san-juan", "San Juan", "PR", null, 18.47, -66.11, 50, ["Puerto Rico", "Bayamón", "Caguas", "Guaynabo", "Toa Baja"]], ["santo-domingo", "Santo Domingo", "DO", "Distrito Nacional", 18.49, -69.93, 50, ["Santiago de los Caballeros", "Punta Cana"]], ["san-jose-costa-rica", "San José (Costa Rica)", "CR", "San José", 9.93, -84.08, 50, ["San José", "Heredia", "Alajuela", "Cartago", "Escazú", "Santa Ana", "Belén"]], ["guatemala-city", "Guatemala City", "GT", "Guatemala", 14.63, -90.51, 50, ["Ciudad de Guatemala", "Mixco", "Villa Nueva"]], ["montevideo", "Montevideo", "UY", "Montevideo", -34.9, -56.16, 50, ["Canelones", "Pando", "Zonamerica"]], ["quito", "Quito", "EC", "Pichincha", -0.18, -78.47, 50, ["Guayaquil", "Cumbayá"]], ["caracas", "Caracas", "VE", "Distrito Capital", 10.48, -66.9, 50, ["Valencia VE", "Maracaibo"]], ["medellin", "Medellín", "CO", "Antioquia", 6.25, -75.56, 50, ["Medellin", "Rionegro", "Itagüí", "Cali", "Barranquilla"]], ]; export const METRO_SEEDS: MetroSeed[] = ROWS.map(([slug, name, countryIso2, regionName, lat, lng, radiusKm, aliases]) => ({ id: stableId("metro", slug), slug, name, countryIso2, regionName, lat, lng, radiusKm, aliases, description: null, })); export function metroIdForSlug(slug: string): string { return stableId("metro", slug); }