Blazor Binding Multiple Data Sources
En la Ignite UI for Blazor, puede agregar varios objetos de series geográficas para superponer fuentes de datos personalizadas con datos geoespaciales. Por ejemplo, IgbGeographicSymbolSeries
para trazar ubicaciones geográficas de aeropuertos, IgbGeographicPolylineSeries
para trazar vuelos entre aeropuertos y 2nd IgbGeographicPolylineSeries
para trazar líneas de cuadrícula de coordenadas geográficas principales.
Ejemplo de vinculación de múltiples fuentes de datos Blazor
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modules
namespace Infragistics.Samples
{
public class Program
{
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbGeographicMapModule),
typeof(IgbDataChartInteractivityModule)
);
await builder.Build().RunAsync();
}
}
}
csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Infragistics.Samples
{
public class GeoLocation
{
public double Lat { get; set; }
public double Lon { get; set; }
}
}
csusing System;
namespace Infragistics.Samples
{
public class WorldCity
{
public double Lat { get; set; }
public double Lon { get; set; }
public double Pop { get; set; }
public string Country { get; set; }
public string Name { get; set; }
public bool Cap { get; set; }
}
}
csusing IgniteUI.Blazor.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Infragistics.Samples
{
public static class WorldConnections
{
public static List<FlightInfo> Flights { get; set; }
public static List<WorldCity> Airports { get; set; }
public static Dictionary<string, string> FlightsLookup = new Dictionary<string, string>();
public static Dictionary<string, WorldCity> AirportsLookup = new Dictionary<string, WorldCity>();
static WorldConnections()
{
Init();
}
public static List<FlightInfo> GetFlights()
{;
return Flights;
}
public static List<WorldCity> GetAirports()
{
return Airports;
}
public static int ComparePopulation(WorldCity a, WorldCity b)
{
if(a.Pop < b.Pop)
{
return 1;
}
if(a.Pop > b.Pop)
{
return -1;
}
return 0;
}
static Random rand = new Random();
public static void Init()
{
Flights = new List<FlightInfo>();
Airports = new List<WorldCity>();
var fullCityList = WorldLocations.GetAll();
var cities = new List<WorldCity>();
var countries = new Dictionary<string, int>();
foreach (var city in fullCityList)
{
if (countries.ContainsKey(city.Country))
{
if (countries[city.Country] < 2)
{
cities.Add(city);
countries[city.Country]++;
}
}
else
{
cities.Add(city);
countries.Add(city.Country, 1);
}
}
fullCityList.Sort(new Comparison<WorldCity>(ComparePopulation));
int count = cities.Count;
int flightsCount = 0;
double minDistance = 200;
double maxDistance = 10000;
double flightsLimit = 250;
for (int i = 0; i < count; i++)
{
WorldCity origin = cities[i];
int connectionsCount = 0;
double connectionsMax = Math.Min(20, Math.Round(origin.Pop * 4));
for (int j = 0; j < count; j++)
{
WorldCity dest = cities[j];
GeoLocation originGeo = new GeoLocation() { Lat = origin.Lat, Lon = origin.Lon };
GeoLocation destGeo = new GeoLocation() { Lat = dest.Lat, Lon = dest.Lon };
if(origin.Name != dest.Name)
{
string route = origin.Name + "-" + dest.Name;
bool routeIsValid = !FlightsLookup.ContainsKey(route);
double distance = Math.Round(WorldUtils.CalcDistance(originGeo, destGeo));
bool distanceIsValid = distance > minDistance && distance < maxDistance;
double pass = Math.Round(rand.NextDouble() * 200) + 150;
double time = distance / 800;
bool trafficIsValid = origin.Pop > 3 && dest.Pop > 1.0;
if(routeIsValid && distanceIsValid && trafficIsValid)
{
FlightsLookup.Add(route, route);
List<List<Point>> paths = WorldUtils.CalcPaths(originGeo, destGeo);
flightsCount++;
connectionsCount++;
string id = origin.Name.Substring(0, 3).ToUpper() + "-" + flightsCount;
FlightInfo flight = new FlightInfo() { ID = id, Origin = origin, Dest = dest, Time = time, Passengers = pass, Distance = distance, Points = paths };
Flights.Add(flight);
}
if (connectionsCount > connectionsMax)
{
break;
}
if (flightsCount > flightsLimit)
{
break;
}
}
}
}
foreach(FlightInfo flight in Flights)
{
AddAirport(flight.Origin);
AddAirport(flight.Dest);
}
Airports = AirportsLookup.Values.ToList();
}
public static void AddAirport(WorldCity city)
{
if (!AirportsLookup.ContainsKey(city.Name))
{
AirportsLookup.Add(city.Name, city);
}
}
public static List<CoordinateLine> GetGridlines()
{
List<CoordinateLine> gridlines = new List<CoordinateLine>();
List<List<Point>> latLines = new List<List<Point>>();
List<List<Point>> lonLines = new List<List<Point>>();
for (int lon = -180; lon <= 180; lon += 30)
{
List<Point> points = new List<Point>();
points.Add(new Point(lon, -90));
points.Add(new Point(lon, 90));
lonLines.Add(points);
}
for (int lat = -90; lat <= 90; lat += 30)
{
List<Point> points = new List<Point>();
points.Add(new Point(-180, lat));
points.Add(new Point(180, lat));
latLines.Add(points);
}
CoordinateLine lines1 = new CoordinateLine() { Points = lonLines };
CoordinateLine lines2 = new CoordinateLine() { Points = latLines };
gridlines.Add(lines1);
gridlines.Add(lines2);
return gridlines;
}
}
public class FlightInfo
{
public string ID { get; set; }
public WorldCity Origin { get; set; }
public WorldCity Dest { get; set; }
public double Time { get; set; }
public double Passengers { get; set; }
public double Distance { get; set; }
public List<List<Point>> Points { get; set; }
public string Color { get; set; }
}
public class CoordinateLine
{
public List<List<Point>> Points { get; set; }
}
}
csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Infragistics.Samples
{
public static class WorldLocations
{
public static List<WorldCity> GetAll()
{
return WorldLocations.Init();
}
public static List<WorldCity> GetCities()
{
List<WorldCity> all = WorldLocations.Init();
return all.Where(c => c.Cap == false).ToList();
}
public static List<WorldCity> GetCapitals()
{
List<WorldCity> all = WorldLocations.Init();
return all.Where(c => c.Cap == true).ToList();
}
public static List<WorldCity> Init()
{
List<WorldCity> cities = new List<WorldCity>() {
// console.log("WorldLocations init");
new WorldCity { Cap = false, Pop = 0.468, Lat = 68.9635467529297, Lon = 33.0860404968262, Country = "Russia", Name = "Murmansk" },
new WorldCity { Cap = false, Pop = 0.416, Lat = 64.5206680297852, Lon = 40.6461601257324, Country = "Russia", Name = "Arkhangelsk" },
new WorldCity { Cap = false, Pop = 5.825, Lat = 59.9518890380859, Lon = 30.4533271789551, Country = "Russia", Name = "Saint Petersburg" },
new WorldCity { Cap = false, Pop = 0.152, Lat = 59.5709991455078, Lon = 150.780014038086, Country = "Russia", Name = "Magadan" },
new WorldCity { Cap = false, Pop = 1.160, Lat = 58.0002365112305, Lon = 56.2324638366699, Country = "Russia", Name = "Perm'" },
new WorldCity { Cap = false, Pop = 1.620, Lat = 56.8465423583984, Lon = 60.6101303100586, Country = "Russia", Name = "Yekaterinburg" },
new WorldCity { Cap = false, Pop = 2.025, Lat = 56.2896766662598, Lon = 43.9406700134277, Country = "Russia", Name = "Nizhniy Novgorod" },
new WorldCity { Cap = false, Pop = 1.800, Lat = 55.8628082275391, Lon = -4.26994752883911, Country = "UK", Name = "Glasgow" },
new WorldCity { Cap = false, Pop = 1.140, Lat = 55.7330055236816, Lon = 49.1454658508301, Country = "Russia", Name = "Kazan'" },
new WorldCity { Cap = false, Pop = 1.325, Lat = 55.1450004577637, Lon = 61.3926124572754, Country = "Russia", Name = "Chelyabinsk" },
new WorldCity { Cap = false, Pop = 1.175, Lat = 55.063304901123, Lon = 73.2502899169922, Country = "Russia", Name = "Omsk" },
new WorldCity { Cap = false, Pop = 1.600, Lat = 55.0321006774902, Lon = 82.9428482055664, Country = "Russia", Name = "Novosibirsk" },
new WorldCity { Cap = false, Pop = 1.100, Lat = 54.8217353820801, Lon = 56.0961265563965, Country = "Russia", Name = "Ufa" },
new WorldCity { Cap = true, Pop = 0.582, Lat = 54.6885681152344, Lon = 25.2759666442871, Country = "Lithuania", Name = "Vilnius" },
new WorldCity { Cap = false, Pop = 0.685, Lat = 54.5869255065918, Lon = -5.90966033935547, Country = "UK", Name = "Belfast" },
new WorldCity { Cap = false, Pop = 0.909, Lat = 54.3662033081055, Lon = 18.624942779541, Country = "Poland", Name = "Gdansk" },
new WorldCity { Cap = true, Pop = 1.650, Lat = 53.8999366760254, Lon = 27.5755672454834, Country = "Byelarus", Name = "Minsk" },
new WorldCity { Cap = false, Pop = 1.540, Lat = 53.8087120056152, Lon = -1.49752748012543, Country = "UK", Name = "Leeds" },
new WorldCity { Cap = false, Pop = 2.225, Lat = 53.5711212158203, Lon = 10.027606010437, Country = "Germany", Name = "Hamburg" },
new WorldCity { Cap = false, Pop = 2.775, Lat = 53.479663848877, Lon = -2.26177859306335, Country = "UK", Name = "Manchester" },
new WorldCity { Cap = false, Pop = 0.710, Lat = 53.3740425109863, Lon = -1.46298921108246, Country = "UK", Name = "Sheffield" },
new WorldCity { Cap = true, Pop = 1.140, Lat = 53.3415603637695, Lon = -6.25734663009644, Country = "Ireland", Name = "Dublin" },
new WorldCity { Cap = false, Pop = 1.505, Lat = 53.1385955810547, Lon = 50.0961799621582, Country = "Russia", Name = "Samara" },
new WorldCity { Cap = false, Pop = 0.800, Lat = 53.0801048278809, Lon = 8.85762596130371, Country = "Germany", Name = "Bremen" },
new WorldCity { Cap = true, Pop = 5.061, Lat = 52.5162734985352, Lon = 13.3275728225708, Country = "Germany", Name = "Berlin" },
new WorldCity { Cap = false, Pop = 2.675, Lat = 52.4927520751953, Lon = -1.86334776878357, Country = "UK", Name = "Birmingham" },
new WorldCity { Cap = true, Pop = 1.860, Lat = 52.3730430603027, Lon = 4.89483308792114, Country = "Netherlands", Name = "Amsterdam" },
new WorldCity { Cap = false, Pop = 0.626, Lat = 52.3174324035645, Lon = 104.247833251953, Country = "Russia", Name = "Irkutsk" },
new WorldCity { Cap = true, Pop = 2.323, Lat = 52.244945526123, Lon = 21.0118789672852, Country = "Poland", Name = "Warsaw" },
new WorldCity { Cap = false, Pop = 1.110, Lat = 51.925594329834, Lon = 4.48515224456787, Country = "Netherlands", Name = "Rotterdam" },
new WorldCity { Cap = false, Pop = 1.061, Lat = 51.7779083251953, Lon = 19.4764404296875, Country = "Poland", Name = "Lodz" },
new WorldCity { Cap = false, Pop = 0.568, Lat = 51.5138130187988, Lon = 7.46641826629639, Country = "Germany", Name = "Dortmund" },
new WorldCity { Cap = false, Pop = 0.515, Lat = 51.4893379211426, Lon = 6.77530431747437, Country = "Germany", Name = "Duisburg" },
new WorldCity { Cap = true, Pop = 11.100, Lat = 51.4879112243652, Lon = -0.177998125553131, Country = "UK", Name = "london" },
new WorldCity { Cap = false, Pop = 3.867, Lat = 51.3540420532227, Lon = 7.12243509292603, Country = "Germany", Name = "Essen" },
new WorldCity { Cap = false, Pop = 0.700, Lat = 51.3493309020996, Lon = 12.3980741500854, Country = "Germany", Name = "Leipzig" },
new WorldCity { Cap = false, Pop = 1.100, Lat = 51.207347869873, Lon = 4.42605447769165, Country = "Belgium", Name = "Antwerpen" },
new WorldCity { Cap = false, Pop = 0.640, Lat = 51.1218185424805, Lon = 17.0381278991699, Country = "Poland", Name = "Wroclaw" },
new WorldCity { Cap = false, Pop = 0.465, Lat = 51.0475540161133, Lon = 3.73629117012024, Country = "Belgium", Name = "Gent" },
new WorldCity { Cap = false, Pop = 0.670, Lat = 51.0456809997559, Lon = 13.7053575515747, Country = "Germany", Name = "Dresden" },
new WorldCity { Cap = false, Pop = 0.671, Lat = 51.0299987792969, Lon = -114.050003051758, Country = "Canada", Name = "Calgary" },
new WorldCity { Cap = false, Pop = 1.760, Lat = 50.9423446655273, Lon = 6.93487167358398, Country = "Germany", Name = "Koln" },
new WorldCity { Cap = true, Pop = 2.385, Lat = 50.8370475769043, Lon = 4.36761236190796, Country = "Belgium", Name = "Bruxelles" },
new WorldCity { Cap = false, Pop = 0.570, Lat = 50.7345581054688, Lon = 7.09981870651245, Country = "Germany", Name = "Bonn" },
new WorldCity { Cap = false, Pop = 1.020, Lat = 50.6320838928223, Lon = 3.06290125846863, Country = "France", Name = "Lille" },
new WorldCity { Cap = false, Pop = 0.750, Lat = 50.6225280761719, Lon = 5.56943559646606, Country = "Belgium", Name = "Liege" },
new WorldCity { Cap = true, Pop = 2.900, Lat = 50.4481582641602, Lon = 30.5021114349365, Country = "Ukraine", Name = "Kiev" },
new WorldCity { Cap = false, Pop = 1.855, Lat = 50.129997253418, Lon = 8.66816711425781, Country = "Germany", Name = "Frankfurt am Main" },
new WorldCity { Cap = true, Pop = 1.325, Lat = 50.1058959960938, Lon = 14.4565200805664, Country = "Czech Repub", Name = "Prague" },
new WorldCity { Cap = false, Pop = 0.828, Lat = 50.0622406005859, Lon = 19.9450569152832, Country = "Poland", Name = "Krakow" },
new WorldCity { Cap = false, Pop = 0.625, Lat = 49.9211692810059, Lon = -97.1244430541992, Country = "Canada", Name = "Winnipeg" },
new WorldCity { Cap = false, Pop = 0.614, Lat = 49.879207611084, Lon = 73.20263671875, Country = "Kazakhstan", Name = "Karaganda" },
new WorldCity { Cap = false, Pop = 0.790, Lat = 49.8373107910156, Lon = 24.0345211029053, Country = "Ukraine", Name = "Lvov" },
new WorldCity { Cap = false, Pop = 0.450, Lat = 49.2029800415039, Lon = 16.6162452697754, Country = "Czech Repub", Name = "Brno" },
new WorldCity { Cap = true, Pop = 9.775, Lat = 48.8815536499023, Lon = 2.43283271789551, Country = "France", Name = "Paris" },
new WorldCity { Cap = false, Pop = 1.360, Lat = 48.7102470397949, Lon = 44.4836311340332, Country = "Russia", Name = "Volgograd" },
new WorldCity { Cap = false, Pop = 0.400, Lat = 48.5834350585938, Lon = 7.76799440383911, Country = "France", Name = "Strasbourg" },
new WorldCity { Cap = false, Pop = 0.335, Lat = 48.2975959777832, Lon = 14.2939014434814, Country = "Austria", Name = "Linz" },
new WorldCity { Cap = true, Pop = 1.875, Lat = 48.2021179199219, Lon = 16.3209857940674, Country = "Austria", Name = "Vienna" },
new WorldCity { Cap = false, Pop = 1.955, Lat = 48.1409759521484, Lon = 11.5429534912109, Country = "Germany", Name = "Munchen" },
new WorldCity { Cap = false, Pop = 2.200, Lat = 48.0401458740234, Lon = 37.7370529174805, Country = "Ukraine", Name = "Donets'k" },
new WorldCity { Cap = true, Pop = 0.548, Lat = 47.928596496582, Lon = 106.912353515625, Country = "Mongolia", Name = "Ulaanbaatar" },
new WorldCity { Cap = true, Pop = 2.565, Lat = 47.5146255493164, Lon = 19.0942497253418, Country = "Hungary", Name = "Budapest" },
new WorldCity { Cap = false, Pop = 1.150, Lat = 47.3440055847168, Lon = 123.964965820313, Country = "China", Name = "Qiqihar" },
new WorldCity { Cap = false, Pop = 0.185, Lat = 47.2654609680176, Lon = 11.3499822616577, Country = "Austria", Name = "Innsbruck" },
new WorldCity { Cap = false, Pop = 1.165, Lat = 47.2320976257324, Lon = 39.6880378723145, Country = "Russia", Name = "Rostov-na-Donu" },
new WorldCity { Cap = false, Pop = 0.465, Lat = 47.2194328308105, Lon = -1.56156122684479, Country = "France", Name = "Nantes" },
new WorldCity { Cap = false, Pop = 0.325, Lat = 47.0649223327637, Lon = 15.4311008453369, Country = "Austria", Name = "Graz" },
new WorldCity { Cap = true, Pop = 0.299, Lat = 46.9482078552246, Lon = 7.44573640823364, Country = "Switzerland", Name = "Bern" },
new WorldCity { Cap = false, Pop = 0.603, Lat = 46.802074432373, Lon = -71.2449340820313, Country = "Canada", Name = "Quebec" },
new WorldCity { Cap = false, Pop = 1.185, Lat = 46.5722007751465, Lon = 30.6839370727539, Country = "Ukraine", Name = "Odessa" },
new WorldCity { Cap = false, Pop = 2.670, Lat = 45.7552185058594, Lon = 126.622634887695, Country = "China", Name = "Harbin" },
new WorldCity { Cap = false, Pop = 1.275, Lat = 45.7470817565918, Lon = 4.85540056228638, Country = "France", Name = "Lyon" },
new WorldCity { Cap = false, Pop = 2.921, Lat = 45.541015625, Lon = -73.6535339355469, Country = "Canada", Name = "Montreal" },
new WorldCity { Cap = false, Pop = 3.750, Lat = 45.4733810424805, Lon = 9.19046401977539, Country = "Italy", Name = "Milano" },
new WorldCity { Cap = false, Pop = 0.420, Lat = 45.4247741699219, Lon = 12.370719909668, Country = "Italy", Name = "Venezia" },
new WorldCity { Cap = true, Pop = 0.819, Lat = 45.3742179870605, Lon = -75.650749206543, Country = "Canada", Name = "Ottawa" },
new WorldCity { Cap = false, Pop = 1.550, Lat = 45.0748748779297, Lon = 7.66642618179321, Country = "Italy", Name = "Torino" },
new WorldCity { Cap = false, Pop = 2.012, Lat = 44.924186706543, Lon = -93.3077926635742, Country = "US", Name = "Minneapolis" },
new WorldCity { Cap = false, Pop = 0.640, Lat = 44.8414726257324, Lon = -0.599498748779297, Country = "France", Name = "Bordeaux" },
new WorldCity { Cap = true, Pop = 1.400, Lat = 44.7996826171875, Lon = 20.4125556945801, Country = "Serbia", Name = "Beograd" },
new WorldCity { Cap = true, Pop = 2.250, Lat = 44.4304847717285, Lon = 26.1229763031006, Country = "Romania", Name = "Bucuresti" },
new WorldCity { Cap = false, Pop = 1.740, Lat = 43.8813171386719, Lon = 125.312652587891, Country = "China", Name = "Changchung" },
new WorldCity { Cap = false, Pop = 1.170, Lat = 43.8502159118652, Lon = 126.56706237793, Country = "China", Name = "Jilin" },
new WorldCity { Cap = false, Pop = 1.040, Lat = 43.7826652526855, Lon = 87.5865173339844, Country = "China", Name = "Urumqi" },
new WorldCity { Cap = false, Pop = 0.640, Lat = 43.7815742492676, Lon = 11.207745552063, Country = "Italy", Name = "Firenze" },
new WorldCity { Cap = false, Pop = 3.427, Lat = 43.7207679748535, Lon = -79.4126358032227, Country = "Canada", Name = "Toronto" },
new WorldCity { Cap = false, Pop = 0.541, Lat = 43.5999603271484, Lon = 1.43798303604126, Country = "France", Name = "Toulouse" },
new WorldCity { Cap = false, Pop = 0.985, Lat = 43.2821578979492, Lon = -2.97378325462341, Country = "Spain", Name = "Bilbao" },
new WorldCity { Cap = true, Pop = 1.190, Lat = 43.2550621032715, Lon = 76.9126281738281, Country = "Kazakhstan", Name = "Almaty" },
new WorldCity { Cap = false, Pop = 0.816, Lat = 43.2104644775391, Lon = -77.635612487793, Country = "US", Name = "Rochester" },
new WorldCity { Cap = false, Pop = 1.375, Lat = 43.0679473876953, Lon = -87.9907379150391, Country = "US", Name = "Milwaukee" },
new WorldCity { Cap = false, Pop = 1.900, Lat = 43.0552520751953, Lon = 141.345474243164, Country = "Japan", Name = "Sapporo" },
new WorldCity { Cap = false, Pop = 1.483, Lat = 42.8986625671387, Lon = -78.8484344482422, Country = "US", Name = "Buffalo" },
new WorldCity { Cap = true, Pop = 1.205, Lat = 42.7072639465332, Lon = 23.3318710327148, Country = "Bulgaria", Name = "Sofia" },
new WorldCity { Cap = false, Pop = 4.692, Lat = 42.3943138122559, Lon = -83.0789260864258, Country = "US", Name = "Detroit" },
new WorldCity { Cap = false, Pop = 3.972, Lat = 42.3752975463867, Lon = -71.1025848388672, Country = "US", Name = "Boston" },
new WorldCity { Cap = false, Pop = 1.270, Lat = 41.8591575622559, Lon = 123.905570983887, Country = "China", Name = "Fushun" },
new WorldCity { Cap = false, Pop = 7.717, Lat = 41.826545715332, Lon = -87.6413040161133, Country = "US", Name = "Chicago" },
new WorldCity { Cap = false, Pop = 3.840, Lat = 41.8021621704102, Lon = 123.383056640625, Country = "China", Name = "Shenyang" },
new WorldCity { Cap = true, Pop = 1.460, Lat = 41.721809387207, Lon = 44.7831268310547, Country = "Georgia", Name = "Tbilisi" },
new WorldCity { Cap = false, Pop = 0.575, Lat = 41.6512641906738, Lon = -0.878205060958862, Country = "Spain", Name = "Zaragoza" },
new WorldCity { Cap = false, Pop = 2.218, Lat = 41.3907165527344, Lon = -81.7275085449219, Country = "US", Name = "Cleveland" },
new WorldCity { Cap = true, Pop = 0.211, Lat = 41.3316535949707, Lon = 19.8318042755127, Country = "Albania", Name = "Tirane" },
new WorldCity { Cap = false, Pop = 1.300, Lat = 41.1152458190918, Lon = 122.977012634277, Country = "China", Name = "Anshan" },
new WorldCity { Cap = false, Pop = 5.750, Lat = 41.0659561157227, Lon = 29.0060691833496, Country = "Turkey", Name = "Istanbul" },
new WorldCity { Cap = false, Pop = 0.682, Lat = 40.693920135498, Lon = -111.89217376709, Country = "US", Name = "Salt Lake City" },
new WorldCity { Cap = false, Pop = 2.219, Lat = 40.4972038269043, Lon = -79.9970855712891, Country = "US", Name = "Pittsburgh" },
new WorldCity { Cap = true, Pop = 4.650, Lat = 40.4422187805176, Lon = -3.69096946716309, Country = "Spain", Name = "Madrid" },
new WorldCity { Cap = true, Pop = 2.020, Lat = 40.3242988586426, Lon = 49.8162384033203, Country = "Azerbaijan", Name = "Baku" },
new WorldCity { Cap = true, Pop = 1.315, Lat = 40.2080230712891, Lon = 44.5326690673828, Country = "Armenia", Name = "Yerevan" },
new WorldCity { Cap = false, Pop = 0.964, Lat = 40.0446434020996, Lon = -82.9927062988281, Country = "US", Name = "Columbus" },
new WorldCity { Cap = true, Pop = 2.400, Lat = 39.929328918457, Lon = 32.853271484375, Country = "Turkey", Name = "Ankara" },
new WorldCity { Cap = false, Pop = 5.209, Lat = 39.9275512695313, Lon = -75.2182235717773, Country = "US", Name = "Philadelphia" },
new WorldCity { Cap = true, Pop = 6.450, Lat = 39.906192779541, Lon = 116.388038635254, Country = "China", Name = "Beijing" },
new WorldCity { Cap = false, Pop = 0.246, Lat = 39.9044532775879, Lon = 41.2918243408203, Country = "Turkey", Name = "Erzurum" },
new WorldCity { Cap = false, Pop = 0.366, Lat = 39.6575813293457, Lon = 66.9476013183594, Country = "Uzbekistan", Name = "Samarkand" },
new WorldCity { Cap = false, Pop = 1.060, Lat = 39.6154441833496, Lon = 118.180213928223, Country = "China", Name = "Tangshan" },
new WorldCity { Cap = false, Pop = 1.270, Lat = 39.4709167480469, Lon = -0.367400944232941, Country = "Spain", Name = "Valencia" },
new WorldCity { Cap = false, Pop = 1.960, Lat = 39.3218841552734, Lon = -76.6183776855469, Country = "US", Name = "Baltimore" },
new WorldCity { Cap = false, Pop = 0.305, Lat = 39.2251434326172, Lon = 9.10890960693359, Country = "Italy", Name = "Cagliari" },
new WorldCity { Cap = false, Pop = 1.480, Lat = 39.1480102539063, Lon = -84.4770202636719, Country = "US", Name = "Cincinnati" },
new WorldCity { Cap = false, Pop = 4.880, Lat = 39.1284141540527, Lon = 117.18522644043, Country = "China", Name = "Tianjin" },
new WorldCity { Cap = true, Pop = 1.600, Lat = 39.0285148620605, Lon = 125.757514953613, Country = "Korea D P Rp", Name = "Pyongyang" },
new WorldCity { Cap = false, Pop = 1.272, Lat = 38.9941177368164, Lon = -94.6265640258789, Country = "US", Name = "Kansas City" },
new WorldCity { Cap = true, Pop = 3.221, Lat = 38.8909111022949, Lon = -76.9538345336914, Country = "US", Name = "Washington D.C." },
new WorldCity { Cap = false, Pop = 2.203, Lat = 38.6388854980469, Lon = -90.3419799804688, Country = "US", Name = "St. Louis" },
new WorldCity { Cap = false, Pop = 0.866, Lat = 38.5670166015625, Lon = -121.422706604004, Country = "US", Name = "Sacramento" },
new WorldCity { Cap = false, Pop = 0.971, Lat = 38.0809783935547, Lon = 46.2901191711426, Country = "Iran", Name = "Tabriz" },
new WorldCity { Cap = false, Pop = 1.190, Lat = 38.0770950317383, Lon = 114.559707641602, Country = "China", Name = "Shijiazhuang" },
new WorldCity { Cap = true, Pop = 0.398, Lat = 37.9504203796387, Lon = 58.3901329040527, Country = "Turkmenistan", Name = "Ashkhabad" },
new WorldCity { Cap = false, Pop = 1.660, Lat = 37.8930549621582, Lon = 112.551704406738, Country = "China", Name = "Taiyuan" },
new WorldCity { Cap = true, Pop = 15.850, Lat = 37.542350769043, Lon = 126.935249328613, Country = "Korea Rep", Name = "Seoul" },
new WorldCity { Cap = false, Pop = 0.945, Lat = 37.3726463317871, Lon = -5.97083187103271, Country = "Spain", Name = "Sevilla" },
new WorldCity { Cap = false, Pop = 0.778, Lat = 36.9999809265137, Lon = 35.3243637084961, Country = "Turkey", Name = "Adana" },
new WorldCity { Cap = false, Pop = 0.796, Lat = 36.8792915344238, Lon = -76.2685699462891, Country = "US", Name = "Norfolk" },
new WorldCity { Cap = true, Pop = 1.225, Lat = 36.8188133239746, Lon = 10.1659603118896, Country = "Tunisia", Name = "Tunis" },
new WorldCity { Cap = false, Pop = 0.830, Lat = 36.7914962768555, Lon = 118.062042236328, Country = "China", Name = "Zibo" },
new WorldCity { Cap = false, Pop = 1.460, Lat = 36.6555366516113, Lon = 116.967056274414, Country = "China", Name = "Jinan" },
new WorldCity { Cap = false, Pop = 0.571, Lat = 36.3355674743652, Lon = 43.1371269226074, Country = "Iraq", Name = "Mosul" },
new WorldCity { Cap = false, Pop = 1.464, Lat = 36.2900695800781, Lon = 59.596851348877, Country = "Iran", Name = "Mashhad" },
new WorldCity { Cap = false, Pop = 1.216, Lat = 36.2155456542969, Lon = 37.1592826843262, Country = "Syria", Name = "Aleppo" },
new WorldCity { Cap = false, Pop = 1.270, Lat = 36.1134300231934, Lon = 103.599594116211, Country = "China", Name = "Lanzhou" },
new WorldCity { Cap = false, Pop = 2.206, Lat = 35.8635368347168, Lon = 128.591384887695, Country = "Korea Rep", Name = "Taegu" },
new WorldCity { Cap = true, Pop = 6.400, Lat = 35.7744750976563, Lon = 51.4476509094238, Country = "Iran", Name = "Tehran" },
new WorldCity { Cap = true, Pop = 23.620, Lat = 35.6830558776855, Lon = 139.809188842773, Country = "Japan", Name = "Tokyo" },
new WorldCity { Cap = false, Pop = 1.089, Lat = 35.5045700073242, Lon = 139.72721862793, Country = "Japan", Name = "Kawasaki" },
new WorldCity { Cap = false, Pop = 0.742, Lat = 35.4895896911621, Lon = -97.5302963256836, Country = "US", Name = "Oklahoma City" },
new WorldCity { Cap = false, Pop = 2.993, Lat = 35.437385559082, Lon = 139.619659423828, Country = "Japan", Name = "Yokohama" },
new WorldCity { Cap = false, Pop = 0.479, Lat = 35.2058143615723, Lon = -80.8356857299805, Country = "US", Name = "Charlotte" },
new WorldCity { Cap = false, Pop = 3.800, Lat = 35.1578674316406, Lon = 129.0546875, Country = "Korea Rep", Name = "Pusan" },
new WorldCity { Cap = false, Pop = 4.800, Lat = 35.1549224853516, Lon = 136.920593261719, Country = "Japan", Name = "Nagoya" },
new WorldCity { Cap = false, Pop = 0.853, Lat = 35.1147270202637, Lon = -90.0003280639648, Country = "US", Name = "Memphis" },
new WorldCity { Cap = false, Pop = 1.479, Lat = 35.0091285705566, Lon = 135.754821777344, Country = "Japan", Name = "Kyoto" },
new WorldCity { Cap = false, Pop = 1.170, Lat = 34.757682800293, Lon = 113.641777038574, Country = "China", Name = "Zhengzhou" },
new WorldCity { Cap = false, Pop = 0.431, Lat = 34.7338752746582, Lon = 36.7181739807129, Country = "Syria", Name = "Homs" },
new WorldCity { Cap = false, Pop = 0.740, Lat = 34.6713485717773, Lon = 112.361236572266, Country = "China", Name = "Luoyang" },
new WorldCity { Cap = false, Pop = 15.040, Lat = 34.6355285644531, Lon = 135.519119262695, Country = "Japan", Name = "Osaka" },
new WorldCity { Cap = true, Pop = 1.179, Lat = 34.5309066772461, Lon = 69.1367568969727, Country = "Afghanistan", Name = "Kabul" },
new WorldCity { Cap = false, Pop = 1.575, Lat = 34.377555847168, Lon = 132.444778442383, Country = "Japan", Name = "Hiroshima" },
new WorldCity { Cap = false, Pop = 2.050, Lat = 34.265697479248, Lon = 108.883361816406, Country = "China", Name = "Xian" },
new WorldCity { Cap = false, Pop = 0.535, Lat = 34.0435676574707, Lon = -4.99554777145386, Country = "Morocco", Name = "Fes" },
new WorldCity { Cap = false, Pop = 1.963, Lat = 33.7957000732422, Lon = -84.3492279052734, Country = "US", Name = "Atlanta" },
new WorldCity { Cap = true, Pop = 0.204, Lat = 33.7181510925293, Lon = 73.060546875, Country = "Pakistan", Name = "Islamabad" },
new WorldCity { Cap = false, Pop = 0.836, Lat = 33.6058044433594, Lon = 73.0437469482422, Country = "Pakistan", Name = "Rawalpindi" },
new WorldCity { Cap = true, Pop = 1.850, Lat = 33.5193023681641, Lon = 36.3134536743164, Country = "Syria", Name = "Damascus" },
new WorldCity { Cap = false, Pop = 1.482, Lat = 33.5090217590332, Lon = -112.110260009766, Country = "US", Name = "Phoenix" },
new WorldCity { Cap = true, Pop = 3.841, Lat = 33.3340377807617, Lon = 44.397834777832, Country = "Iraq", Name = "Baghdad" },
new WorldCity { Cap = false, Pop = 2.727, Lat = 32.763729095459, Lon = -96.663688659668, Country = "US", Name = "Dallas" },
new WorldCity { Cap = false, Pop = 0.987, Lat = 32.6513900756836, Lon = 51.6791877746582, Country = "Iran", Name = "Esfahan" },
new WorldCity { Cap = false, Pop = 2.290, Lat = 32.0483665466309, Lon = 118.768905639648, Country = "China", Name = "Nanjing" },
new WorldCity { Cap = true, Pop = 1.250, Lat = 31.9493827819824, Lon = 35.9329071044922, Country = "Jordan", Name = "Amman" },
new WorldCity { Cap = false, Pop = 0.595, Lat = 31.6308898925781, Lon = 74.8715515136719, Country = "India", Name = "Amritsar" },
new WorldCity { Cap = false, Pop = 3.025, Lat = 31.5450534820557, Lon = 74.3406753540039, Country = "Pakistan", Name = "Lahore" },
new WorldCity { Cap = false, Pop = 1.104, Lat = 31.4089508056641, Lon = 73.0834579467773, Country = "Pakistan", Name = "Faisalabad" },
new WorldCity { Cap = false, Pop = 9.300, Lat = 31.2478694915771, Lon = 121.47265625, Country = "China", Name = "Shanghai" },
new WorldCity { Cap = false, Pop = 1.810, Lat = 30.6700687408447, Lon = 104.071273803711, Country = "China", Name = "Chengdu" },
new WorldCity { Cap = false, Pop = 3.490, Lat = 30.5724983215332, Lon = 114.279220581055, Country = "China", Name = "Wuhan" },
new WorldCity { Cap = false, Pop = 0.617, Lat = 30.503490447998, Lon = 47.7608642578125, Country = "Iraq", Name = "Al Basra" },
new WorldCity { Cap = false, Pop = 1.270, Lat = 30.2526245117188, Lon = 120.165077209473, Country = "China", Name = "Hangzhou" },
new WorldCity { Cap = true, Pop = 9.300, Lat = 30.0779113769531, Lon = 31.2507972717285, Country = "Egypt", Name = "Cairo" },
new WorldCity { Cap = false, Pop = 1.185, Lat = 29.9563789367676, Lon = -90.0986862182617, Country = "US", Name = "New Orleans" },
new WorldCity { Cap = false, Pop = 2.755, Lat = 29.7718296051025, Lon = -95.407112121582, Country = "US", Name = "Houston" },
new WorldCity { Cap = false, Pop = 0.084, Lat = 29.6507034301758, Lon = 91.1320877075195, Country = "China", Name = "Lhasa" },
new WorldCity { Cap = false, Pop = 2.450, Lat = 29.5441036224365, Lon = 106.522689819336, Country = "China", Name = "Chongqing" },
new WorldCity { Cap = false, Pop = 0.968, Lat = 29.4299221038818, Lon = -98.5245742797852, Country = "US", Name = "San Antonio" },
new WorldCity { Cap = false, Pop = 1.030, Lat = 28.6712398529053, Lon = 115.88941192627, Country = "China", Name = "Nanchang" },
new WorldCity { Cap = true, Pop = 0.273, Lat = 28.5687255859375, Lon = 77.2167510986328, Country = "India", Name = "New Delhi" },
new WorldCity { Cap = false, Pop = 7.200, Lat = 28.5264587402344, Lon = 77.2243728637695, Country = "India", Name = "Delhi" },
new WorldCity { Cap = false, Pop = 1.190, Lat = 28.1976413726807, Lon = 112.968482971191, Country = "China", Name = "Changsha" },
new WorldCity { Cap = true, Pop = 0.320, Lat = 27.7120170593262, Lon = 85.3129501342773, Country = "Nepal", Name = "Kathmandu" },
new WorldCity { Cap = true, Pop = 0.012, Lat = 27.44260597229, Lon = 89.6673278808594, Country = "Bhutan", Name = "Thimbu" },
new WorldCity { Cap = false, Pop = 1.025, Lat = 26.9051132202148, Lon = 75.8012771606445, Country = "India", Name = "Jaipur" },
new WorldCity { Cap = false, Pop = 1.060, Lat = 26.8494281768799, Lon = 80.9197235107422, Country = "India", Name = "Lucknow" },
new WorldCity { Cap = false, Pop = 1.010, Lat = 26.5719413757324, Lon = 106.700302124023, Country = "China", Name = "Guiyang" },
new WorldCity { Cap = false, Pop = 1.875, Lat = 26.4578304290771, Lon = 80.3178634643555, Country = "India", Name = "Kanpur" },
new WorldCity { Cap = false, Pop = 0.890, Lat = 26.0710163116455, Lon = 119.303520202637, Country = "China", Name = "Fuzhou" },
new WorldCity { Cap = false, Pop = 2.827, Lat = 25.8321304321289, Lon = -80.2702178955078, Country = "US", Name = "Miami" },
new WorldCity { Cap = false, Pop = 2.015, Lat = 25.6773529052734, Lon = -100.317085266113, Country = "Mexico", Name = "Monterrey" },
new WorldCity { Cap = false, Pop = 1.025, Lat = 25.6138973236084, Lon = 85.1353454589844, Country = "India", Name = "Patna" },
new WorldCity { Cap = false, Pop = 0.800, Lat = 25.3801860809326, Lon = 68.3664703369141, Country = "Pakistan", Name = "Hyderabad" },
new WorldCity { Cap = false, Pop = 0.925, Lat = 25.2820110321045, Lon = 82.9563369750977, Country = "India", Name = "Benares" },
new WorldCity { Cap = true, Pop = 0.310, Lat = 25.2036418914795, Lon = 51.4972343444824, Country = "Qatar", Name = "Doha" },
new WorldCity { Cap = false, Pop = 1.280, Lat = 25.0510330200195, Lon = 102.702125549316, Country = "China", Name = "Kunming" },
new WorldCity { Cap = true, Pop = 6.130, Lat = 25.0350914001465, Lon = 121.506729125977, Country = "Taiwan", Name = "Taipei" },
new WorldCity { Cap = false, Pop = 0.715, Lat = 24.1436424255371, Lon = 120.670280456543, Country = "Taiwan", Name = "T`ai-chung" },
new WorldCity { Cap = true, Pop = 3.430, Lat = 23.7099189758301, Lon = 90.4071426391602, Country = "Bangladesh", Name = "Dhaka" },
new WorldCity { Cap = false, Pop = 3.050, Lat = 23.0961952209473, Lon = 113.293609619141, Country = "China", Name = "Guangzhou" },
new WorldCity { Cap = false, Pop = 2.400, Lat = 23.0397911071777, Lon = 72.5668640136719, Country = "India", Name = "Ahmadabad" },
new WorldCity { Cap = false, Pop = 0.648, Lat = 22.8426475524902, Lon = 89.5582427978516, Country = "Bangladesh", Name = "Khulna" },
new WorldCity { Cap = false, Pop = 11.100, Lat = 22.5435371398926, Lon = 88.3342208862305, Country = "India", Name = "Calcutta" },
new WorldCity { Cap = false, Pop = 0.435, Lat = 22.2432346343994, Lon = -97.8426284790039, Country = "Mexico", Name = "Tampico" },
new WorldCity { Cap = false, Pop = 0.533, Lat = 21.975944519043, Lon = 96.0841522216797, Country = "Burma", Name = "Mandalay" },
new WorldCity { Cap = false, Pop = 0.550, Lat = 21.4273815155029, Lon = 39.8148384094238, Country = "Saudi Arabia", Name = "Mecca" },
new WorldCity { Cap = false, Pop = 1.302, Lat = 21.1557579040527, Lon = 79.089111328125, Country = "India", Name = "Nagpur" },
new WorldCity { Cap = true, Pop = 1.500, Lat = 21.0319480895996, Lon = 105.81990814209, Country = "Vietnam", Name = "Hanoi" },
new WorldCity { Cap = false, Pop = 0.385, Lat = 20.8613586425781, Lon = 106.679794311523, Country = "Vietnam", Name = "Haiphong" },
new WorldCity { Cap = false, Pop = 0.400, Lat = 20.8218688964844, Lon = -89.552864074707, Country = "Mexico", Name = "Merida" },
new WorldCity { Cap = false, Pop = 2.325, Lat = 20.6735916137695, Lon = -103.343795776367, Country = "Mexico", Name = "Guadalajara" },
new WorldCity { Cap = false, Pop = 0.207, Lat = 19.6157131195068, Lon = 37.2196884155273, Country = "Sudan", Name = "Bur Sudan" },
new WorldCity { Cap = true, Pop = 14.100, Lat = 19.4270458221436, Lon = -99.127571105957, Country = "Mexico", Name = "Mexico City" },
new WorldCity { Cap = false, Pop = 1.055, Lat = 19.0486316680908, Lon = -98.1929473876953, Country = "Mexico", Name = "Puebla de Zaragoza" },
new WorldCity { Cap = false, Pop = 1.775, Lat = 18.5357475280762, Lon = 73.8522720336914, Country = "India", Name = "Pune" },
new WorldCity { Cap = true, Pop = 0.880, Lat = 18.5266170501709, Lon = -72.3431091308594, Country = "Haiti", Name = "Port-au-Prince" },
new WorldCity { Cap = true, Pop = 1.775, Lat = 18.4006156921387, Lon = -66.0817565917969, Country = "Puerto Rico", Name = "San Juan" },
new WorldCity { Cap = true, Pop = 0.770, Lat = 18.0157127380371, Lon = -76.7973022460938, Country = "Jamaica", Name = "Kingston" },
new WorldCity { Cap = false, Pop = 2.750, Lat = 17.3945465087891, Lon = 78.4850311279297, Country = "India", Name = "Hyderabad" },
new WorldCity { Cap = true, Pop = 2.800, Lat = 16.8722229003906, Lon = 96.1248931884766, Country = "Burma", Name = "Rangoon" },
new WorldCity { Cap = true, Pop = 0.427, Lat = 15.3614444732666, Lon = 44.2095031738281, Country = "Yemen", Name = "Sanaa" },
new WorldCity { Cap = true, Pop = 1.400, Lat = 14.6180076599121, Lon = -90.52490234375, Country = "Guatemala", Name = "Guatemala" },
new WorldCity { Cap = true, Pop = 0.552, Lat = 14.0990505218506, Lon = -87.2030944824219, Country = "Honduras", Name = "Tegucigalpa" },
new WorldCity { Cap = true, Pop = 6.450, Lat = 13.7455711364746, Lon = 100.552665710449, Country = "Thailand", Name = "Bangkok" },
new WorldCity { Cap = true, Pop = 0.920, Lat = 13.7014122009277, Lon = -89.2002334594727, Country = "El Salvador", Name = "San Salvador" },
new WorldCity { Cap = true, Pop = 0.398, Lat = 13.6045436859131, Lon = 2.08344984054565, Country = "Niger", Name = "Niamey" },
new WorldCity { Cap = false, Pop = 4.475, Lat = 13.0615034103394, Lon = 80.2478256225586, Country = "India", Name = "Madras" },
new WorldCity { Cap = false, Pop = 2.950, Lat = 12.9747505187988, Lon = 77.5877304077148, Country = "India", Name = "Bangalore" },
new WorldCity { Cap = true, Pop = 0.646, Lat = 12.6529502868652, Lon = -7.98648166656494, Country = "Mali", Name = "Bamako" },
new WorldCity { Cap = true, Pop = 0.682, Lat = 12.1514730453491, Lon = -86.2730331420898, Country = "Nicaragua", Name = "Managua" },
new WorldCity { Cap = true, Pop = 0.700, Lat = 11.564736366272, Lon = 104.913192749023, Country = "Cambodia", Name = "Phnom Penh" },
new WorldCity { Cap = false, Pop = 3.100, Lat = 10.7591819763184, Lon = 106.662452697754, Country = "Vietnam", Name = "Ho Chi Minh City" },
new WorldCity { Cap = false, Pop = 0.891, Lat = 10.6450433731079, Lon = -71.6371459960938, Country = "Venezuela", Name = "Maracaibo" },
new WorldCity { Cap = true, Pop = 3.600, Lat = 10.4960489273071, Lon = -66.8982849121094, Country = "Venezuela", Name = "Caracas" },
new WorldCity { Cap = false, Pop = 0.498, Lat = 10.0656652450562, Lon = -69.3391952514648, Country = "Venezuela", Name = "Barquisimeto" },
new WorldCity { Cap = true, Pop = 0.670, Lat = 9.93047618865967, Lon = -84.07861328125, Country = "Costa Rica", Name = "San Jose" },
new WorldCity { Cap = false, Pop = 0.960, Lat = 9.91398620605469, Lon = 78.1217269897461, Country = "India", Name = "Madurai" },
new WorldCity { Cap = false, Pop = 1.144, Lat = 7.37884044647217, Lon = 3.8952784538269, Country = "Nigeria", Name = "Ibadan" },
new WorldCity { Cap = false, Pop = 0.409, Lat = 7.08008003234863, Lon = 125.613677978516, Country = "Philippines", Name = "Davao" },
new WorldCity { Cap = false, Pop = 0.253, Lat = 6.45053863525391, Lon = 7.4920802116394, Country = "Nigeria", Name = "Enugu" },
new WorldCity { Cap = false, Pop = 2.095, Lat = 6.24114656448364, Lon = -75.5920333862305, Country = "Colombia", Name = "Medellin" },
new WorldCity { Cap = true, Pop = 1.250, Lat = 5.55856275558472, Lon = -0.200923636555672, Country = "Ghana", Name = "Accra" },
new WorldCity { Cap = true, Pop = 1.950, Lat = 5.32485723495483, Lon = -4.02188682556152, Country = "Ivory Coast", Name = "Abidjan" },
new WorldCity { Cap = true, Pop = 4.260, Lat = 4.63021993637085, Lon = -74.0805130004883, Country = "Colombia", Name = "Bogota" },
new WorldCity { Cap = true, Pop = 0.474, Lat = 4.3658561706543, Lon = 18.5623416900635, Country = "Cent Af Rep", Name = "Bangui" },
new WorldCity { Cap = true, Pop = 0.654, Lat = 3.86512303352356, Lon = 11.5136413574219, Country = "Cameroon", Name = "Yaounde" },
new WorldCity { Cap = false, Pop = 1.374, Lat = 3.58524203300476, Lon = 98.6755981445313, Country = "Indonesia", Name = "Medan" },
new WorldCity { Cap = false, Pop = 1.400, Lat = 3.45685529708862, Lon = -76.5224380493164, Country = "Colombia", Name = "Cali" },
new WorldCity { Cap = true, Pop = 1.475, Lat = 3.1502103805542, Lon = 101.707672119141, Country = "Malaysia", Name = "Kuala Lumpur" },
new WorldCity { Cap = true, Pop = 0.600, Lat = 2.04117751121521, Lon = 45.3441429138184, Country = "Somalia", Name = "Muqdisho" },
new WorldCity { Cap = false, Pop = 0.283, Lat = 0.519284904003143, Lon = 25.1961479187012, Country = "Zaire", Name = "Kisangani" },
new WorldCity { Cap = true, Pop = 1.050, Lat = -0.229498133063316, Lon = -78.524284362793, Country = "Ecuador", Name = "Quito" },
new WorldCity { Cap = false, Pop = 0.179, Lat = -3.75289535522461, Lon = -73.1914901733398, Country = "Peru", Name = "Iquitos" },
new WorldCity { Cap = false, Pop = 1.825, Lat = -3.78332185745239, Lon = -38.5889015197754, Country = "Brazil", Name = "Fortaleza" },
new WorldCity { Cap = true, Pop = 0.586, Lat = -4.28518676757813, Lon = 15.2851486206055, Country = "Congo", Name = "Brazzaville" },
new WorldCity { Cap = false, Pop = 0.291, Lat = -5.89221096038818, Lon = 22.4027786254883, Country = "Zaire", Name = "Kananga" },
new WorldCity { Cap = true, Pop = 1.300, Lat = -6.81735897064209, Lon = 39.2533493041992, Country = "Tanzania", Name = "Dar es Salaam" },
new WorldCity { Cap = false, Pop = 1.800, Lat = -6.91243028640747, Lon = 107.606903076172, Country = "Indonesia", Name = "Bandung" },
new WorldCity { Cap = false, Pop = 2.625, Lat = -8.08516788482666, Lon = -34.9146385192871, Country = "Brazil", Name = "Recife" },
new WorldCity { Cap = false, Pop = 0.155, Lat = -12.7177352905273, Lon = 13.464879989624, Country = "Angola", Name = "Benguela" },
new WorldCity { Cap = true, Pop = 1.568, Lat = -15.7921094894409, Lon = -47.8977470397949, Country = "Brazil", Name = "Brasilia" },
new WorldCity { Cap = false, Pop = 0.447, Lat = -16.3975391387939, Lon = -71.5227432250977, Country = "Peru", Name = "Arequipa" },
new WorldCity { Cap = true, Pop = 0.993, Lat = -16.4990062713623, Lon = -68.1462478637695, Country = "Bolivia", Name = "La Paz" },
new WorldCity { Cap = false, Pop = 0.990, Lat = -16.7266998291016, Lon = -49.254810333252, Country = "Brazil", Name = "Goiania" },
new WorldCity { Cap = false, Pop = 0.442, Lat = -17.7887916564941, Lon = -63.1974182128906, Country = "Bolivia", Name = "Santa Cruz de La Sierra" },
new WorldCity { Cap = false, Pop = 0.087, Lat = -19.0421352386475, Lon = -65.2558822631836, Country = "Bolivia", Name = "Sucre" },
new WorldCity { Cap = false, Pop = 2.950, Lat = -19.8517208099365, Lon = -43.9090690612793, Country = "Brazil", Name = "Belo Horizonte" },
new WorldCity { Cap = false, Pop = 10.150, Lat = -22.7215728759766, Lon = -43.4551773071289, Country = "Brazil", Name = "Rio de Janeiro" },
new WorldCity { Cap = false, Pop = 15.175, Lat = -23.5813045501709, Lon = -46.6228981018066, Country = "Brazil", Name = "Sao Paulo" },
new WorldCity { Cap = false, Pop = 1.065, Lat = -23.9547004699707, Lon = -46.3094940185547, Country = "Brazil", Name = "Santos" },
new WorldCity { Cap = true, Pop = 0.095, Lat = -24.6614418029785, Lon = 25.7948017120361, Country = "Botswana", Name = "Gaborone" },
new WorldCity { Cap = false, Pop = 1.700, Lat = -25.4304790496826, Lon = -49.2845077514648, Country = "Brazil", Name = "Curitiba" },
new WorldCity { Cap = true, Pop = 0.960, Lat = -25.7313461303711, Lon = 28.2183723449707, Country = "South Africa", Name = "Pretoria" },
new WorldCity { Cap = true, Pop = 1.070, Lat = -25.9621543884277, Lon = 32.5736923217773, Country = "Mozambique", Name = "Maputo" },
new WorldCity { Cap = false, Pop = 3.650, Lat = -26.1789569854736, Lon = 28.0043087005615, Country = "South Africa", Name = "Johannesburg" },
new WorldCity { Cap = false, Pop = 1.149, Lat = -27.4539127349854, Lon = 153.026489257813, Country = "Australia", Name = "Brisbane" },
new WorldCity { Cap = false, Pop = 1.550, Lat = -29.8363723754883, Lon = 30.9421882629395, Country = "South Africa", Name = "Durban" },
new WorldCity { Cap = false, Pop = 2.600, Lat = -30.0395336151123, Lon = -51.2079887390137, Country = "Brazil", Name = "Porto Alegre" },
new WorldCity { Cap = false, Pop = 1.070, Lat = -31.3162784576416, Lon = -64.1798553466797, Country = "Argentina", Name = "Cordoba" },
new WorldCity { Cap = false, Pop = 0.292, Lat = -31.6168975830078, Lon = -60.6978416442871, Country = "Argentina", Name = "Santa Fe" },
new WorldCity { Cap = false, Pop = 0.650, Lat = -32.8974380493164, Lon = -68.8297348022461, Country = "Argentina", Name = "Mendoza" },
new WorldCity { Cap = false, Pop = 1.045, Lat = -32.9377365112305, Lon = -60.6639404296875, Country = "Argentina", Name = "Rosario" },
new WorldCity { Cap = true, Pop = 4.100, Lat = -33.475025177002, Lon = -70.6475143432617, Country = "Chile", Name = "Santiago" },
new WorldCity { Cap = false, Pop = 0.690, Lat = -33.8815765380859, Lon = 25.4842987060547, Country = "South Africa", Name = "Port Elizabeth" },
new WorldCity { Cap = false, Pop = 3.365, Lat = -33.8897743225098, Lon = 151.028198242188, Country = "Australia", Name = "Sydney" },
new WorldCity { Cap = true, Pop = 10.750, Lat = -34.6654014587402, Lon = -58.4095916748047, Country = "Argentina", Name = "Buenos Aires" },
new WorldCity { Cap = true, Pop = 0.271, Lat = -35.349925994873, Lon = 149.041625976563, Country = "Australia", Name = "Canberra" },
new WorldCity { Cap = false, Pop = 0.850, Lat = -36.893253326416, Lon = 174.801055908203, Country = "New Zealand", Name = "Auckland" },
new WorldCity { Cap = false, Pop = 2.833, Lat = -37.8529586791992, Lon = 145.075103759766, Country = "Australia", Name = "Melbourne" },
new WorldCity { Cap = false, Pop = 0.224, Lat = -38.7252731323242, Lon = -62.2740669250488, Country = "Argentina", Name = "Bahia Blanca" },
new WorldCity { Cap = false, Pop = 0.320, Lat = -43.5489158630371, Lon = 172.683654785156, Country = "New Zealand", Name = "Christchurch" },
new WorldCity { Cap = true, Pop = 0.900, Lat = 60.1964225769043, Lon = 24.9766998291016, Country = "Finland", Name = "Helsinki" },
new WorldCity { Cap = false, Pop = 0.310, Lat = 34.745231628418, Lon = 10.7592582702637, Country = "Tunisia", Name = "Sfax" },
new WorldCity { Cap = false, Pop = 1.411, Lat = 34.6638412475586, Lon = 135.181838989258, Country = "Japan", Name = "Kobe" },
new WorldCity { Cap = false, Pop = 0.490, Lat = 31.7737464904785, Lon = 35.2252197265625, Country = "Israel", Name = "Jerusalem" },
new WorldCity { Cap = false, Pop = 0.616, Lat = 10.1782207489014, Lon = -68.0031127929688, Country = "Venezuela", Name = "Valencia" },
new WorldCity { Cap = false, Pop = 1.255, Lat = -2.20381617546082, Lon = -79.9093933105469, Country = "Ecuador", Name = "Guayaquil" },
new WorldCity { Cap = false, Pop = 4.054, Lat = 37.7275123596191, Lon = -122.308815002441, Country = "US", Name = "San Francisco" },
new WorldCity { Cap = false, Pop = 0.630, Lat = 55.8752517700195, Lon = -3.29878330230713, Country = "UK", Name = "Edinburgh" },
new WorldCity { Cap = false, Pop = 0.239, Lat = 45.7002830505371, Lon = 13.9328374862671, Country = "Italy", Name = "Trieste" },
new WorldCity { Cap = false, Pop = 1.750, Lat = 33.3099060058594, Lon = 130.317184448242, Country = "Japan", Name = "Fukuoka" },
new WorldCity { Cap = false, Pop = 1.525, Lat = 33.6818656921387, Lon = 130.797454833984, Country = "Japan", Name = "Kita Kyushu" },
new WorldCity { Cap = true, Pop = 0.303, Lat = 12.1041393280029, Lon = 15.2408237457275, Country = "Chad", Name = "N'Djamena" },
new WorldCity { Cap = true, Pop = 0.991, Lat = 32.7516174316406, Lon = 13.2118225097656, Country = "Libya", Name = "Tripoli" },
new WorldCity { Cap = false, Pop = 1.550, Lat = 38.4389190673828, Lon = 27.2057685852051, Country = "Turkey", Name = "Izmir" },
new WorldCity { Cap = true, Pop = 3.000, Lat = -4.38867473602295, Lon = 15.4692935943604, Country = "Zaire", Name = "Kinshasa" },
new WorldCity { Cap = false, Pop = 0.978, Lat = -34.9185371398926, Lon = 138.870681762695, Country = "Australia", Name = "Adelaide" },
new WorldCity { Cap = true, Pop = 8.600, Lat = -6.29390430450439, Lon = 106.762466430664, Country = "Indonesia", Name = "Jakarta" },
new WorldCity { Cap = false, Pop = 1.025, Lat = -7.02784442901611, Lon = 110.444259643555, Country = "Indonesia", Name = "Semarang" },
new WorldCity { Cap = false, Pop = 0.264, Lat = -12.0435400009155, Lon = -76.8356323242188, Country = "Peru", Name = "Callao" },
new WorldCity { Cap = false, Pop = 1.200, Lat = -1.60532903671265, Lon = -48.316276550293, Country = "Brazil", Name = "Belem" },
new WorldCity { Cap = false, Pop = 1.270, Lat = 36.1483535766602, Lon = 120.434127807617, Country = "China", Name = "Qingdao" },
new WorldCity { Cap = true, Pop = 0.377, Lat = 18.0017318725586, Lon = 102.680236816406, Country = "Laos", Name = "Vientiane" },
new WorldCity { Cap = false, Pop = 0.220, Lat = 47.8011703491211, Lon = 13.0908985137939, Country = "Austria", Name = "Salzburg" },
new WorldCity { Cap = true, Pop = 0.698, Lat = 45.8070755004883, Lon = 15.9643859863281, Country = "Croatia", Name = "Zagreb" },
new WorldCity { Cap = true, Pop = 0.273, Lat = -3.26908373832703, Lon = 29.5335865020752, Country = "Burundi", Name = "Bujumbura" },
new WorldCity { Cap = true, Pop = 0.185, Lat = 35.1650695800781, Lon = 33.3851623535156, Country = "Cyprus", Name = "Nicosia" },
new WorldCity { Cap = true, Pop = 0.182, Lat = -2.11793518066406, Lon = 29.9914855957031, Country = "Rwanda", Name = "Kigali" },
new WorldCity { Cap = true, Pop = 0.233, Lat = 46.068302154541, Lon = 14.639612197876, Country = "Slovenia", Name = "Ljubljana" },
new WorldCity { Cap = true, Pop = 0.109, Lat = -29.2567100524902, Lon = 27.8903884887695, Country = "Lesotho", Name = "Maseru" },
new WorldCity { Cap = true, Pop = 0.133, Lat = 49.740406036377, Lon = 6.27325582504272, Country = "Luxembourg", Name = "Luxembourg" },
new WorldCity { Cap = false, Pop = 0.770, Lat = 51.903621673584, Lon = 4.30062437057495, Country = "Netherlands", Name = "The Hague" },
new WorldCity { Cap = true, Pop = 0.435, Lat = 48.2745094299316, Lon = 17.2698059082031, Country = "Slovakia", Name = "Bratislava" },
new WorldCity { Cap = false, Pop = 0.201, Lat = 52.1100006103516, Lon = -106.629997253418, Country = "Canada", Name = "Saskatoon" },
new WorldCity { Cap = false, Pop = 0.187, Lat = 50.4099998474121, Lon = -104.650001525879, Country = "Canada", Name = "Regina" },
new WorldCity { Cap = false, Pop = 1.038, Lat = 31.7800006866455, Lon = -106.449996948242, Country = "US", Name = "El Paso" },
new WorldCity { Cap = false, Pop = 0.636, Lat = 30.3299999237061, Lon = -81.6600036621094, Country = "US", Name = "Jacksonville" },
new WorldCity { Cap = false, Pop = 0.002, Lat = 51.3300018310547, Lon = -80.7300033569336, Country = "Canada", Name = "Moosonee" },
new WorldCity { Cap = false, Pop = 0.002, Lat = 54.8600006103516, Lon = -67.0100021362305, Country = "Canada", Name = "Schefferville" },
new WorldCity { Cap = false, Pop = 0.008, Lat = 53.310001373291, Lon = -60.5499992370605, Country = "Canada", Name = "Goose Bay" },
new WorldCity { Cap = false, Pop = 0.202, Lat = -8.75, Lon = -63.9000015258789, Country = "Brazil", Name = "Porto Velho" },
new WorldCity { Cap = false, Pop = 0.185, Lat = -13.6000003814697, Lon = -71.8600006103516, Country = "Peru", Name = "Cuzco" },
new WorldCity { Cap = false, Pop = 0.280, Lat = -15.5500001907349, Lon = -56.0499992370605, Country = "Brazil", Name = "Cuiaba" },
new WorldCity { Cap = false, Pop = 0.220, Lat = -27.3999996185303, Lon = -58.9000015258789, Country = "Argentina", Name = "Resistencia" },
new WorldCity { Cap = false, Pop = 0.032, Lat = 16.7600002288818, Lon = -3.00999999046326, Country = "Mali", Name = "Tombouctoo" },
new WorldCity { Cap = false, Pop = 0.255, Lat = 11.8800001144409, Lon = 13.2600002288818, Country = "Niger", Name = "Maiduguri" },
new WorldCity { Cap = false, Pop = 0.145, Lat = -5.80999994277954, Lon = 13.4499998092651, Country = "Zaire", Name = "Matadi" },
new WorldCity { Cap = false, Pop = 0.203, Lat = -12.7299995422363, Lon = 15.7799997329712, Country = "Angola", Name = "Huambo" },
new WorldCity { Cap = false, Pop = 0.145, Lat = -28.6599998474121, Lon = 24.8299999237061, Country = "South Africa", Name = "Kimberley" },
new WorldCity { Cap = false, Pop = 0.320, Lat = -33.0299987792969, Lon = 27.8999996185303, Country = "South Africa", Name = "East london" },
new WorldCity { Cap = false, Pop = 0.247, Lat = -7.32999992370605, Lon = 19, Country = "Zaire", Name = "Kahemba" },
new WorldCity { Cap = false, Pop = 0.054, Lat = -6.17999982833862, Lon = 35.75, Country = "Tanzania", Name = "Dodoma" },
new WorldCity { Cap = false, Pop = 0.019, Lat = 68.3499984741211, Lon = 17.2999992370605, Country = "Norway", Name = "Narvik" },
new WorldCity { Cap = false, Pop = 0.160, Lat = 34.4599990844727, Lon = 62.2099990844727, Country = "Afghanistan", Name = "Herat" },
new WorldCity { Cap = false, Pop = 0.006, Lat = 55.8800010681152, Lon = 37.75, Country = "Russia", Name = "Druzba" },
new WorldCity { Cap = false, Pop = 0.146, Lat = 39.4799995422363, Lon = 76, Country = "China", Name = "Kashi" },
new WorldCity { Cap = false, Pop = 9.415, Lat = 24.9799995422363, Lon = 121.529998779297, Country = "Taiwan", Name = "Chingmei" },
new WorldCity { Cap = false, Pop = 0.166, Lat = 16.4599990844727, Lon = 107.699996948242, Country = "Vietnam", Name = "Hue" },
new WorldCity { Cap = false, Pop = 0.073, Lat = 1.5, Lon = 110.430000305176, Country = "Malaysia", Name = "Kuching" },
new WorldCity { Cap = false, Pop = 0.208, Lat = -1.21000003814697, Lon = 116.860000610352, Country = "Indonesia", Name = "Balikpapan" },
new WorldCity { Cap = false, Pop = 0.168, Lat = 50.3300018310547, Lon = 110.75, Country = "Russia", Name = "Chatanga" },
new WorldCity { Cap = false, Pop = 0.006, Lat = 52.0499992370605, Lon = 113.580001831055, Country = "Russia", Name = "Chita" },
new WorldCity { Cap = false, Pop = 0.001, Lat = 67.5800018310547, Lon = 133.410003662109, Country = "Russia", Name = "Verkhoyansk" },
new WorldCity { Cap = false, Pop = 0.187, Lat = 62.0099983215332, Lon = 129.830001831055, Country = "Russia", Name = "Yakutsk" },
new WorldCity { Cap = false, Pop = 0.006, Lat = 59.3300018310547, Lon = 143.25, Country = "Russia", Name = "Okhotsk" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 50.0800018310547, Lon = 45.5299987792969, Country = "Russia", Name = "Nikolayevsk" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 46.9599990844727, Lon = 142.75, Country = "Russia", Name = "Yuzhno-Sakhalinsk" },
new WorldCity { Cap = false, Pop = 0.000, Lat = -23.6299991607666, Lon = 133.929992675781, Country = "Australia", Name = "Alice Springs" },
new WorldCity { Cap = false, Pop = 0.039, Lat = -16.8500003814697, Lon = 145.710006713867, Country = "Australia", Name = "Cairns" },
new WorldCity { Cap = false, Pop = 0.106, Lat = -19.2999992370605, Lon = 146.830001831055, Country = "Australia", Name = "Townsville" },
new WorldCity { Cap = false, Pop = 0.059, Lat = -23.4300003051758, Lon = 150.479995727539, Country = "Australia", Name = "Rockhampton" },
new WorldCity { Cap = false, Pop = 0.405, Lat = -33, Lon = 151.910003662109, Country = "Australia", Name = "Newcastle" },
new WorldCity { Cap = false, Pop = 0.175, Lat = -43, Lon = 147.5, Country = "Australia", Name = "Hobart" },
new WorldCity { Cap = false, Pop = 0.109, Lat = -45.8600006103516, Lon = 170.5, Country = "New Zealand", Name = "Dunedin" },
new WorldCity { Cap = false, Pop = 0.256, Lat = 48.6545677185059, Lon = -123.569107055664, Country = "Canada", Name = "Victoria" },
new WorldCity { Cap = true, Pop = 0.164, Lat = 6.60109615325928, Lon = 2.63250279426575, Country = "Benin", Name = "Porto Novo" },
new WorldCity { Cap = false, Pop = 1.030, Lat = 4.13665008544922, Lon = 9.706374168396, Country = "Cameroon", Name = "Douala" },
new WorldCity { Cap = false, Pop = 0.708, Lat = -5.19043016433716, Lon = 119.722793579102, Country = "Indonesia", Name = "Vjuag Padang" },
new WorldCity { Cap = false, Pop = 0.112, Lat = -3.3865532875061, Lon = 129.312927246094, Country = "Indonesia", Name = "Ambon" },
new WorldCity { Cap = false, Pop = 1.604, Lat = 37.5894508361816, Lon = 126.767440795898, Country = "Korea Rep", Name = "Inch`on" },
new WorldCity { Cap = false, Pop = 1.680, Lat = 39.0317153930664, Lon = 121.598197937012, Country = "China", Name = "Dalian" },
new WorldCity { Cap = false, Pop = 1.227, Lat = 45.4421310424805, Lon = -122.641677856445, Country = "US", Name = "Portland" },
new WorldCity { Cap = false, Pop = 0.810, Lat = -3.12230491638184, Lon = -60.0146179199219, Country = "Brazil", Name = "Manaus" },
new WorldCity { Cap = false, Pop = 0.227, Lat = -2.46000003814697, Lon = -54.6100006103516, Country = "Brazil", Name = "Santarem" },
new WorldCity { Cap = false, Pop = 0.053, Lat = -46.4099998474121, Lon = 168.449996948242, Country = "New Zealand", Name = "Invercargill" },
new WorldCity { Cap = false, Pop = 0.049, Lat = -10.2600002288818, Lon = 40.1800003051758, Country = "Tanzania", Name = "Mtwara" },
new WorldCity { Cap = false, Pop = 0.100, Lat = -18.2299995422363, Lon = 49.4099998474121, Country = "Madagascar", Name = "Toamasina" },
new WorldCity { Cap = false, Pop = 0.235, Lat = -29.1499996185303, Lon = 26.2600002288818, Country = "South Africa", Name = "Bloemfontein" },
new WorldCity { Cap = false, Pop = 0.414, Lat = -20.2000007629395, Lon = 28.7099990844727, Country = "Zimbabwe", Name = "Bulawayo" },
new WorldCity { Cap = false, Pop = 0.061, Lat = -17.8299999237061, Lon = 25.8799991607666, Country = "Zambia", Name = "Livingstone" },
new WorldCity { Cap = false, Pop = 0.290, Lat = 24.4300003051758, Lon = 39.7000007629395, Country = "Saudi Arabia", Name = "Al Madinah" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 21.7600002288818, Lon = 31.2800006866455, Country = "Sudan", Name = "Wadi Halfa" },
new WorldCity { Cap = false, Pop = 0.191, Lat = 24.0799999237061, Lon = 32.9500007629395, Country = "Egypt", Name = "Aswan" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 25.9099998474121, Lon = 13.9099998474121, Country = "Libya", Name = "Murzuq" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 27.7000007629395, Lon = -8.15999984741211, Country = "Algeria", Name = "Tindouf" },
new WorldCity { Cap = false, Pop = 0.050, Lat = 16.9599990844727, Lon = 7.98000001907349, Country = "Niger", Name = "Agadez" },
new WorldCity { Cap = false, Pop = 0.140, Lat = 13.1800003051758, Lon = 30.1599998474121, Country = "Sudan", Name = "El Obeid" },
new WorldCity { Cap = false, Pop = 0.125, Lat = 0.0500000007450581, Lon = 18.4599990844727, Country = "Zaire", Name = "Mbandaka" },
new WorldCity { Cap = false, Pop = 0.015, Lat = 60.6500015258789, Lon = -135.009994506836, Country = "Canada", Name = "Whitehorse" },
new WorldCity { Cap = false, Pop = 0.095, Lat = -53.1500015258789, Lon = -70.8000030517578, Country = "Chile", Name = "Punte Arenas" },
new WorldCity { Cap = false, Pop = 0.084, Lat = -41.4799995422363, Lon = -73, Country = "Chile", Name = "Puerto Montt" },
new WorldCity { Cap = false, Pop = 0.000, Lat = -51.7099990844727, Lon = -69.4100036621094, Country = "Argentina", Name = "Rio Gallegos" },
new WorldCity { Cap = false, Pop = 0.097, Lat = -45.8300018310547, Lon = -67.5, Country = "Argentina", Name = "Comodoro Rivadavia" },
new WorldCity { Cap = false, Pop = 0.327, Lat = 29.9599990844727, Lon = 32.560001373291, Country = "Egypt", Name = "Suez" },
new WorldCity { Cap = false, Pop = 3.350, Lat = 31.0746040344238, Lon = 29.9778099060059, Country = "Egypt", Name = "Alexandria" },
new WorldCity { Cap = false, Pop = 0.000, Lat = -15.0500001907349, Lon = 40.7000007629395, Country = "Mozambique", Name = "Mocambique" },
new WorldCity { Cap = false, Pop = 9.950, Lat = 19.0453472137451, Lon = 73.1723480224609, Country = "India", Name = "Bombay" },
new WorldCity { Cap = true, Pop = 2.548, Lat = 36.596492767334, Lon = 2.99369311332703, Country = "Algeria", Name = "Algiers" },
new WorldCity { Cap = false, Pop = 1.940, Lat = 49.989673614502, Lon = 36.2083129882813, Country = "Ukraine", Name = "Kharkov" },
new WorldCity { Cap = false, Pop = 1.600, Lat = 48.4228897094727, Lon = 35.1378936767578, Country = "Ukraine", Name = "Dnepropetrovsk" },
new WorldCity { Cap = true, Pop = 0.482, Lat = 59.2775726318359, Lon = 24.7520561218262, Country = "Estonia", Name = "Tallinn" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 47.810001373291, Lon = 97, Country = "Mongolia", Name = "Uliastay" },
new WorldCity { Cap = true, Pop = 1.313, Lat = 18.4997291564941, Lon = -69.9104919433594, Country = "Dominican Rp", Name = "Santo Domingo" },
new WorldCity { Cap = true, Pop = 0.064, Lat = 4.93300008773804, Lon = 114.967002868652, Country = "Brunei", Name = "Bandar Seri Begawan" },
new WorldCity { Cap = true, Pop = 0.095, Lat = 13.4452724456787, Lon = -16.4946155548096, Country = "Gambia", Name = "Banjul" },
new WorldCity { Cap = true, Pop = 0.370, Lat = 10.6397342681885, Lon = -61.490062713623, Country = "Trinidad", Name = "Port of Spain" },
new WorldCity { Cap = false, Pop = 0.302, Lat = 16.97438621521, Lon = -99.9314956665039, Country = "Mexico", Name = "Acapulco" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 64.4001617431641, Lon = 177.130187988281, Country = "Russia", Name = "Anadyr" },
new WorldCity { Cap = false, Pop = 0.003, Lat = 65.6699981689453, Lon = -37.3118667602539, Country = "Greenland", Name = "Angmagssalik" },
new WorldCity { Cap = false, Pop = 0.185, Lat = -23.8325366973877, Lon = -70.2254486083984, Country = "Chile", Name = "Antofagasta" },
new WorldCity { Cap = false, Pop = 0.294, Lat = 40.75, Lon = 140.669998168945, Country = "Japan", Name = "Aomori" },
new WorldCity { Cap = false, Pop = 0.436, Lat = 32.0430526733398, Lon = 20.3086757659912, Country = "Libya", Name = "Banghazi" },
new WorldCity { Cap = false, Pop = 0.000, Lat = -15.75, Lon = 133.220001220703, Country = "Australia", Name = "Birdum" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 2.75, Lon = -60.5, Country = "Brazil", Name = "Boa Vista" },
new WorldCity { Cap = false, Pop = 0.280, Lat = -6.61999988555908, Lon = -79.8300018310547, Country = "Peru", Name = "Chiclayo" },
new WorldCity { Cap = false, Pop = 0.223, Lat = -8.930100440979, Lon = -78.4531478881836, Country = "Peru", Name = "Chimbote" },
new WorldCity { Cap = false, Pop = 0.001, Lat = 58.710765838623, Lon = -94.1800003051758, Country = "Canada", Name = "Churchill" },
new WorldCity { Cap = false, Pop = 0.686, Lat = 9.98798847198486, Lon = 76.5217819213867, Country = "India", Name = "Cochin" },
new WorldCity { Cap = false, Pop = 0.675, Lat = -36.8832969665527, Lon = -72.8516387939453, Country = "Chile", Name = "Concepcion" },
new WorldCity { Cap = false, Pop = 0.062, Lat = -31, Lon = -71.0199966430664, Country = "Chile", Name = "Coquimbo" },
new WorldCity { Cap = false, Pop = 0.073, Lat = -12.7014999389648, Lon = 130.994552612305, Country = "Australia", Name = "Darwin" },
new WorldCity { Cap = true, Pop = 0.120, Lat = 11.5, Lon = 43.0999984741211, Country = "Djibouti", Name = "Djibouti" },
new WorldCity { Cap = false, Pop = 0.022, Lat = -32.0441665649414, Lon = 115.9345703125, Country = "Australia", Name = "Fremantle" },
new WorldCity { Cap = false, Pop = 0.495, Lat = 5.34999990463257, Lon = 100.547142028809, Country = "Malaysia", Name = "George Town" },
new WorldCity { Cap = false, Pop = 0.001, Lat = 69.3831405639648, Lon = -53.6300010681152, Country = "Greenland", Name = "Godhavn" },
new WorldCity { Cap = true, Pop = 0.012, Lat = 64.2711868286133, Lon = -51.5800018310547, Country = "Greenland", Name = "Godthab" },
new WorldCity { Cap = false, Pop = 0.296, Lat = 44.6300010681152, Lon = -63.5800018310547, Country = "Canada", Name = "Halifax" },
new WorldCity { Cap = false, Pop = 0.007, Lat = 70.3913269042969, Lon = 23.9063415527344, Country = "Norway", Name = "Hammerfest" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 67.3499984741211, Lon = 86.5500030517578, Country = "Russia", Name = "Igarka" },
new WorldCity { Cap = false, Pop = 0.019, Lat = 27.2000007629395, Lon = 2.52999997138977, Country = "Algeria", Name = "In Salah" },
new WorldCity { Cap = false, Pop = 0.003, Lat = 68.2699966430664, Lon = -133.669998168945, Country = "Canada", Name = "Inuvik" },
new WorldCity { Cap = false, Pop = 0.050, Lat = -4.94999980926514, Lon = 30, Country = "Tanzania", Name = "Kigoma" },
new WorldCity { Cap = false, Pop = 0.069, Lat = 61.1500015258789, Lon = 47, Country = "Russia", Name = "Kotlas" },
new WorldCity { Cap = false, Pop = 0.094, Lat = 27, Lon = -13.1800003051758, Country = "W Sahara", Name = "Laayoune" },
new WorldCity { Cap = false, Pop = 0.217, Lat = 1.420086145401, Lon = 124.884239196777, Country = "Indonesia", Name = "Manado" },
new WorldCity { Cap = false, Pop = 0.306, Lat = 12.9499998092651, Lon = 75.1608810424805, Country = "India", Name = "Mangalore" },
new WorldCity { Cap = false, Pop = 0.535, Lat = 31.1499996185303, Lon = -8, Country = "Morocco", Name = "Marrakech" },
new WorldCity { Cap = true, Pop = 0.038, Lat = -26.3033809661865, Lon = 31.1912975311279, Country = "Swaziland", Name = "Mbabne" },
new WorldCity { Cap = false, Pop = 0.449, Lat = 32.8827476501465, Lon = 129.857467651367, Country = "Japan", Name = "Nagasaki" },
new WorldCity { Cap = false, Pop = 0.510, Lat = -5.78000020980835, Lon = -35.25, Country = "Brazil", Name = "Natal" },
new WorldCity { Cap = false, Pop = 0.033, Lat = -41.2999992370605, Lon = 173.270004272461, Country = "New Zealand", Name = "Nelson" },
new WorldCity { Cap = false, Pop = 0.004, Lat = 64.5862808227539, Lon = -165.270004272461, Country = "US", Name = "Nome" },
new WorldCity { Cap = false, Pop = 0.174, Lat = 69.3300018310547, Lon = 88.0999984741211, Country = "Russia", Name = "Noril`sk" },
new WorldCity { Cap = false, Pop = 0.022, Lat = 20.8999996185303, Lon = -16.825647354126, Country = "Mauritania", Name = "Nouadnibou" },
new WorldCity { Cap = false, Pop = 0.600, Lat = 53.7000007629395, Lon = 87.1699981689453, Country = "Russia", Name = "Novokuznetsk" },
new WorldCity { Cap = false, Pop = 0.097, Lat = 46.9199981689453, Lon = -122.879997253418, Country = "US", Name = "Olympia" },
new WorldCity { Cap = false, Pop = 0.297, Lat = -0.917578816413879, Lon = 100.475059509277, Country = "Indonesia", Name = "Padang" },
new WorldCity { Cap = false, Pop = 0.787, Lat = -3, Lon = 104.830001831055, Country = "Indonesia", Name = "Palembang" },
new WorldCity { Cap = false, Pop = 0.155, Lat = 38.1412391662598, Lon = 21.8831691741943, Country = "Greece", Name = "Patras" },
new WorldCity { Cap = false, Pop = 0.269, Lat = 53.2000007629395, Lon = 158.720001220703, Country = "Russia", Name = "Petropavloski-Kamchatskiy" },
new WorldCity { Cap = true, Pop = 0.083, Lat = 42.5, Lon = 19.3999996185303, Country = "Montenegro", Name = "Podgorica" },
new WorldCity { Cap = false, Pop = 0.294, Lat = -4.63870811462402, Lon = 12.0580930709839, Country = "Congo", Name = "Pointe Noire" },
new WorldCity { Cap = false, Pop = 0.124, Lat = -0.819999992847443, Lon = 9.15334415435791, Country = "Gabon", Name = "Port Gentil" },
new WorldCity { Cap = false, Pop = 0.016, Lat = 54.420280456543, Lon = -130.048080444336, Country = "Canada", Name = "Prince Rupert" },
new WorldCity { Cap = false, Pop = 0.121, Lat = 45.338134765625, Lon = -65.6499481201172, Country = "Canada", Name = "Saint John" },
new WorldCity { Cap = false, Pop = 0.091, Lat = 15.9512100219727, Lon = -16.2978382110596, Country = "Senegal", Name = "Saint Louis" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 66.5699996948242, Lon = 66.5800018310547, Country = "Russia", Name = "Salekhard" },
new WorldCity { Cap = false, Pop = 0.241, Lat = 41.3199996948242, Lon = 36.3699989318848, Country = "Turkey", Name = "Samsun" },
new WorldCity { Cap = false, Pop = 0.600, Lat = -2.5, Lon = -44.4300575256348, Country = "Brazil", Name = "Sao Luis" },
new WorldCity { Cap = true, Pop = 0.341, Lat = 43.8699989318848, Lon = 18.4300003051758, Country = "Bosnia/Herz", Name = "Sarajevo" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 70.5285720825195, Lon = -22.9963226318359, Country = "Greenland", Name = "Scoresbyund" },
new WorldCity { Cap = false, Pop = 0.029, Lat = 50.2825469970703, Lon = -66.4025421142578, Country = "Canada", Name = "Sept-Iles" },
new WorldCity { Cap = false, Pop = 0.003, Lat = 60.1199989318848, Lon = -149.449996948242, Country = "US", Name = "Seward" },
new WorldCity { Cap = true, Pop = 0.445, Lat = 42, Lon = 21.5300006866455, Country = "Macedonia", Name = "Skopje" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 22.8299999237061, Lon = 5.55000019073486, Country = "Algeria", Name = "Tamanrasset" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 77.6699981689453, Lon = -69, Country = "Greenland", Name = "Thule" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 71.6999969482422, Lon = 128.75, Country = "Russia", Name = "Tiksi" },
new WorldCity { Cap = false, Pop = 0.055, Lat = -23.2901554107666, Lon = 44.0190925598145, Country = "Madagascar", Name = "Toliara" },
new WorldCity { Cap = false, Pop = 0.354, Lat = -7.92999982833862, Lon = -79, Country = "Peru", Name = "Trujillo" },
new WorldCity { Cap = false, Pop = 0.604, Lat = 17.75, Lon = 83.3300018310547, Country = "India", Name = "Vishakhapatnam" },
new WorldCity { Cap = false, Pop = 0.116, Lat = 67.8000030517578, Lon = 64.3300018310547, Country = "Russia", Name = "Vorkuta" },
new WorldCity { Cap = false, Pop = 0.230, Lat = 31.9699993133545, Lon = 54.4500007629395, Country = "Iran", Name = "Yazd" },
new WorldCity { Cap = false, Pop = 0.282, Lat = 29.6000003814697, Lon = 60.8300018310547, Country = "Iran", Name = "Zahedan" },
new WorldCity { Cap = false, Pop = 0.318, Lat = 12.861159324646, Lon = 45.1800003051758, Country = "Yemen", Name = "Aden" },
new WorldCity { Cap = true, Pop = 1.500, Lat = 9.02999973297119, Lon = 38.7000007629395, Country = "Ethiopia", Name = "Adis Abeba" },
new WorldCity { Cap = true, Pop = 1.375, Lat = 29.1949901580811, Lon = 48.0027770996094, Country = "Kuwait", Name = "Al Kuwayt" },
new WorldCity { Cap = true, Pop = 0.663, Lat = -18.8700008392334, Lon = 47.5, Country = "Madagascar", Name = "Antananarivo" },
new WorldCity { Cap = true, Pop = 1.250, Lat = 24.6499996185303, Lon = 46.7700004577637, Country = "Saudi Arabia", Name = "Ar Riyad" },
new WorldCity { Cap = true, Pop = 0.275, Lat = 15.3299999237061, Lon = 38.9700012207031, Country = "Eritrea", Name = "Asmara" },
new WorldCity { Cap = true, Pop = 0.700, Lat = -25.2199993133545, Lon = -57.6699981689453, Country = "Paraguay", Name = "Asuncion" },
new WorldCity { Cap = true, Pop = 3.027, Lat = 38.1216011047363, Lon = 23.6548633575439, Country = "Greece", Name = "Athens" },
new WorldCity { Cap = false, Pop = 1.120, Lat = 40.6500015258789, Lon = 109.980003356934, Country = "China", Name = "Baotou" },
new WorldCity { Cap = false, Pop = 4.040, Lat = 41.5299987792969, Lon = 2.17000007629395, Country = "Spain", Name = "Barcelona" },
new WorldCity { Cap = false, Pop = 1.140, Lat = 11.0142946243286, Lon = -74.6800003051758, Country = "Colombia", Name = "Barranquilla" },
new WorldCity { Cap = false, Pop = 0.292, Lat = -19.7692832946777, Lon = 35.0231704711914, Country = "Mozambique", Name = "Beira" },
new WorldCity { Cap = true, Pop = 1.675, Lat = 33.7799987792969, Lon = 35.6579437255859, Country = "Lebanon", Name = "Beirut" },
new WorldCity { Cap = true, Pop = 0.005, Lat = 17.1200008392334, Lon = -88.8000030517578, Country = "Belize", Name = "Belmopan" },
new WorldCity { Cap = false, Pop = 0.239, Lat = 60.3499984741211, Lon = 5.49067831039429, Country = "Norway", Name = "Bergen" },
new WorldCity { Cap = true, Pop = 0.109, Lat = 11.9109897613525, Lon = -15.6499996185303, Country = "GuineaBissau", Name = "Bissau" },
new WorldCity { Cap = false, Pop = 1.790, Lat = -33.8040084838867, Lon = 18.6904315948486, Country = "South Africa", Name = "cape Town" },
new WorldCity { Cap = false, Pop = 0.625, Lat = 51.5, Lon = -3.15000009536743, Country = "UK", Name = "Cardiff" },
new WorldCity { Cap = false, Pop = 2.475, Lat = 33.5444107055664, Lon = -7.53409194946289, Country = "Morocco", Name = "Casablanca" },
new WorldCity { Cap = true, Pop = 0.038, Lat = 4.92000007629395, Lon = -52.4000015258789, Country = "Fr Guiana", Name = "Cayenne" },
new WorldCity { Cap = false, Pop = 1.392, Lat = 22.4799995422363, Lon = 91.8327941894531, Country = "Bangladesh", Name = "Chittagong" },
new WorldCity { Cap = true, Pop = 2.050, Lat = 7.01999998092651, Lon = 80.0883331298828, Country = "Sri Lanka", Name = "Colombo" },
new WorldCity { Cap = true, Pop = 0.800, Lat = 9.52000045776367, Lon = -12.8000001907349, Country = "Guinea", Name = "Conakry" },
new WorldCity { Cap = true, Pop = 1.428, Lat = 14.6300001144409, Lon = -16.8480949401855, Country = "Senegal", Name = "Dakar" },
new WorldCity { Cap = false, Pop = 1.405, Lat = 39.75, Lon = -105.069999694824, Country = "US", Name = "Denver" },
new WorldCity { Cap = true, Pop = 0.595, Lat = 38.6300010681152, Lon = 68.9000015258789, Country = "Tajikistan", Name = "Dushanfe" },
new WorldCity { Cap = false, Pop = 0.785, Lat = 53.5699996948242, Lon = -113.269996643066, Country = "Canada", Name = "Edmonton" },
new WorldCity { Cap = false, Pop = 1.871, Lat = 30.4699993133545, Lon = 30.8500003814697, Country = "Egypt", Name = "Giza" },
new WorldCity { Cap = true, Pop = 0.525, Lat = 8.38277053833008, Lon = -12.9102764129639, Country = "Sierra Leone", Name = "Freetown" },
new WorldCity { Cap = true, Pop = 0.616, Lat = 42.8800010681152, Lon = 74.7699966430664, Country = "Kyrgyzstan", Name = "Frunze" },
new WorldCity { Cap = false, Pop = 0.805, Lat = 44.4550895690918, Lon = 8.92229557037354, Country = "Italy", Name = "Genova" },
new WorldCity { Cap = true, Pop = 0.188, Lat = 6.76999998092651, Lon = -58.1699981689453, Country = "Guyana", Name = "Georgetown" },
new WorldCity { Cap = false, Pop = 0.711, Lat = 57.75, Lon = 12, Country = "Sweden", Name = "Goteborg" },
new WorldCity { Cap = true, Pop = 0.890, Lat = -17.8299999237061, Lon = 31.0200004577637, Country = "Zimbabwe", Name = "Harare" },
new WorldCity { Cap = true, Pop = 2.125, Lat = 23.0489521026611, Lon = -82.4164505004883, Country = "Cuba", Name = "Havana" },
new WorldCity { Cap = false, Pop = 1.300, Lat = 21.6200008392334, Lon = 39.3733062744141, Country = "Saudi Arabia", Name = "Jiddah" },
new WorldCity { Cap = true, Pop = 0.460, Lat = 0.319999992847443, Lon = 32.5800018310547, Country = "Uganda", Name = "Kampala" },
new WorldCity { Cap = false, Pop = 0.538, Lat = 11.9200000762939, Lon = 8.52000045776367, Country = "Nigeria", Name = "Kano" },
new WorldCity { Cap = false, Pop = 1.845, Lat = 22.6734161376953, Lon = 120.341484069824, Country = "Taiwan", Name = "Kao-Hsiung" },
new WorldCity { Cap = false, Pop = 5.300, Lat = 24.8500003814697, Lon = 67.0299987792969, Country = "Pakistan", Name = "Karachi" },
new WorldCity { Cap = false, Pop = 0.601, Lat = 48.5299987792969, Lon = 135.070007324219, Country = "Russia", Name = "Khabarovsk" },
new WorldCity { Cap = true, Pop = 0.924, Lat = 15.5500001907349, Lon = 32.5299987792969, Country = "Sudan", Name = "Khartoum" },
new WorldCity { Cap = true, Pop = 0.665, Lat = 47, Lon = 28.8299999237061, Country = "Moldova", Name = "Kishinev" },
new WorldCity { Cap = true, Pop = 1.685, Lat = 55.7200012207031, Lon = 12.5500001907349, Country = "Denmark", Name = "Kobenhavn" },
new WorldCity { Cap = true, Pop = 3.800, Lat = 6.44999980926514, Lon = 3.29999995231628, Country = "Nigeria", Name = "Lagos" },
new WorldCity { Cap = false, Pop = 0.255, Lat = 49.3240203857422, Lon = 0.219999998807907, Country = "France", Name = "Le Havre" },
new WorldCity { Cap = true, Pop = 0.236, Lat = -0.504144549369812, Lon = 9.49045658111572, Country = "Gabon", Name = "Libreville" },
new WorldCity { Cap = true, Pop = 0.234, Lat = -13.9200000762939, Lon = 33.8199996948242, Country = "Malawi", Name = "Lilongwe" },
new WorldCity { Cap = true, Pop = 4.344, Lat = -12.0679960250854, Lon = -76.8235549926758, Country = "Peru", Name = "Lima" },
new WorldCity { Cap = true, Pop = 2.250, Lat = 38.7299995422363, Lon = -9.13000011444092, Country = "Portugal", Name = "Lisboa" },
new WorldCity { Cap = false, Pop = 1.525, Lat = 53.4226875305176, Lon = -2.76683640480042, Country = "UK", Name = "Liverpool" },
new WorldCity { Cap = true, Pop = 0.400, Lat = 6.28000020980835, Lon = 1.35000002384186, Country = "Togo", Name = "Lome" },
new WorldCity { Cap = false, Pop = 9.764, Lat = 34, Lon = -118.25, Country = "US", Name = "Los Angeles" },
new WorldCity { Cap = true, Pop = 1.460, Lat = -9, Lon = 13.4617786407471, Country = "Angola", Name = "Luanda" },
new WorldCity { Cap = false, Pop = 0.543, Lat = -11.6800003051758, Lon = 27.5499992370605, Country = "Zaire", Name = "Lumumbashi" },
new WorldCity { Cap = true, Pop = 0.536, Lat = -15.4300003051758, Lon = 28.1700000762939, Country = "Zambia", Name = "Lusaka" },
new WorldCity { Cap = true, Pop = 0.031, Lat = 3.64468479156494, Lon = 8.81999969482422, Country = "Eq Guinea", Name = "Malabo" },
new WorldCity { Cap = true, Pop = 5.474, Lat = 14.5500001907349, Lon = 121.173408508301, Country = "Philippines", Name = "Manila" },
new WorldCity { Cap = false, Pop = 1.225, Lat = 43.2999992370605, Lon = 5.38000011444092, Country = "France", Name = "Marseille" },
new WorldCity { Cap = true, Pop = 0.050, Lat = 23.5166397094727, Lon = 58.6274795532227, Country = "Oman", Name = "Masqat" },
new WorldCity { Cap = false, Pop = 0.200, Lat = 23.3615112304688, Lon = -106.269996643066, Country = "Mexico", Name = "Mazatlan" },
new WorldCity { Cap = false, Pop = 0.442, Lat = -4.01999998092651, Lon = 39.6699981689453, Country = "Kenya", Name = "Mombasa" },
new WorldCity { Cap = true, Pop = 0.465, Lat = 6.51743936538696, Lon = -10.7700004577637, Country = "Liberia", Name = "Monrovia" },
new WorldCity { Cap = true, Pop = 1.550, Lat = -34.9199981689453, Lon = -56.1699981689453, Country = "Uruguay", Name = "Montevideo" },
new WorldCity { Cap = true, Pop = 13.100, Lat = 55.75, Lon = 37.7000007629395, Country = "Russia", Name = "Moscow" },
new WorldCity { Cap = true, Pop = 1.286, Lat = -1.16999995708466, Lon = 36.8300018310547, Country = "Kenya", Name = "Nairobi" },
new WorldCity { Cap = false, Pop = 2.875, Lat = 40.8300018310547, Lon = 14.2700004577637, Country = "Italy", Name = "Napoli" },
new WorldCity { Cap = false, Pop = 16.472, Lat = 40.75, Lon = -74.0999984741211, Country = "US", Name = "New York" },
new WorldCity { Cap = false, Pop = 0.329, Lat = 40.7200012207031, Lon = -74.1999969482422, Country = "US", Name = "Newark" },
new WorldCity { Cap = true, Pop = 0.285, Lat = 18.0300006866455, Lon = -15.7828607559204, Country = "Mauritania", Name = "Nouakchott" },
new WorldCity { Cap = false, Pop = 0.138, Lat = 55.574535369873, Lon = 9.90299892425537, Country = "Denmark", Name = "Odense" },
new WorldCity { Cap = false, Pop = 0.526, Lat = 15.6199998855591, Lon = 32.4799995422363, Country = "Sudan", Name = "Omdurman" },
new WorldCity { Cap = false, Pop = 0.629, Lat = 35.75, Lon = -0.519999980926514, Country = "Algeria", Name = "Oran" },
new WorldCity { Cap = true, Pop = 0.720, Lat = 59.9300003051758, Lon = 10.7200002670288, Country = "Norway", Name = "Oslo" },
new WorldCity { Cap = true, Pop = 0.442, Lat = 12.4799995422363, Lon = -1.66999995708466, Country = "Burkina Faso", Name = "Ouagadouou" },
new WorldCity { Cap = false, Pop = 0.724, Lat = 38.1300010681152, Lon = 13.3999996185303, Country = "Italy", Name = "Palermo" },
new WorldCity { Cap = true, Pop = 0.625, Lat = 8.94999980926514, Lon = -79.4000015258789, Country = "Panama", Name = "Panama" },
new WorldCity { Cap = true, Pop = 0.241, Lat = 5.92999982833862, Lon = -55.2299995422363, Country = "Suriname", Name = "Paramaribo" },
new WorldCity { Cap = false, Pop = 0.994, Lat = -31.9758644104004, Lon = 115.923370361328, Country = "Australia", Name = "Perth" },
new WorldCity { Cap = true, Pop = 0.152, Lat = -9.55000019073486, Lon = 147.414520263672, Country = "Papua N Guin", Name = "Port Moresby" },
new WorldCity { Cap = false, Pop = 1.225, Lat = 41.1500015258789, Lon = -8.48794841766357, Country = "Portugal", Name = "Porto" },
new WorldCity { Cap = false, Pop = 0.203, Lat = 31.6000003814697, Lon = 65.5, Country = "Afghanistan", Name = "Qandahar" },
new WorldCity { Cap = false, Pop = 1.326, Lat = 14.6499996185303, Lon = 121.029998779297, Country = "Philippines", Name = "Quezon City" },
new WorldCity { Cap = true, Pop = 0.980, Lat = 33.9201965332031, Lon = -6.74804067611694, Country = "Morocco", Name = "Rabat" },
new WorldCity { Cap = true, Pop = 0.138, Lat = 64.3132629394531, Lon = -21.336820602417, Country = "Iceland", Name = "Reykjavik" },
new WorldCity { Cap = true, Pop = 1.005, Lat = 56.8800010681152, Lon = 24.0499992370605, Country = "latvia", Name = "Riga" },
new WorldCity { Cap = true, Pop = 3.175, Lat = 41.8800010681152, Lon = 12.5200004577637, Country = "Italy", Name = "Roma" },
new WorldCity { Cap = false, Pop = 2.050, Lat = -12.6002569198608, Lon = -38.4799995422363, Country = "Brazil", Name = "Salvador" },
new WorldCity { Cap = false, Pop = 0.848, Lat = 29.6299991607666, Lon = 52.5699996948242, Country = "Iran", Name = "Shiraz" },
new WorldCity { Cap = true, Pop = 1.450, Lat = 59.2446327209473, Lon = 18.0842685699463, Country = "Sweden", Name = "Stockholm" },
new WorldCity { Cap = false, Pop = 2.028, Lat = -7.40000009536743, Lon = 112.684371948242, Country = "Indonesia", Name = "Surabaja" },
new WorldCity { Cap = false, Pop = 0.657, Lat = 23.1700000762939, Lon = 120.230003356934, Country = "Taiwan", Name = "T`ai-nan" },
new WorldCity { Cap = false, Pop = 0.595, Lat = 27.9973583221436, Lon = -82.5930252075195, Country = "US", Name = "Tampa" },
new WorldCity { Cap = true, Pop = 1.670, Lat = 31.9171981811523, Lon = 34.8568344116211, Country = "Israel", Name = "Tel Aviv-Yafo" },
new WorldCity { Cap = false, Pop = 0.706, Lat = 40.6300010681152, Lon = 22.7999992370605, Country = "Greece", Name = "Thessaloniki" },
new WorldCity { Cap = true, Pop = 2.325, Lat = 41.247932434082, Lon = 69.3498687744141, Country = "Uzbekistan", Name = "Toshkent" },
new WorldCity { Cap = false, Pop = 0.198, Lat = 34.3437576293945, Lon = 36.0070686340332, Country = "Lebanon", Name = "Tripoli" },
new WorldCity { Cap = false, Pop = 0.675, Lat = -32.9000015258789, Lon = -71.2993392944336, Country = "Chile", Name = "Valparaiso" },
new WorldCity { Cap = false, Pop = 1.381, Lat = 49.274299621582, Lon = -122.963066101074, Country = "Canada", Name = "Vancouver" },
new WorldCity { Cap = false, Pop = 0.648, Lat = 43.1300010681152, Lon = 131.960433959961, Country = "Russia", Name = "Vladivostok" },
new WorldCity { Cap = false, Pop = 0.017, Lat = -23.1018676757813, Lon = 14.6171045303345, Country = "Namibia", Name = "Walvis Bay" },
new WorldCity { Cap = true, Pop = 0.115, Lat = -22.5699996948242, Lon = 17.1000003814697, Country = "Namibia", Name = "Windhoek" },
new WorldCity { Cap = true, Pop = 0.350, Lat = -41.2103958129883, Lon = 175.144943237305, Country = "New Zealand", Name = "Wellington" },
new WorldCity { Cap = false, Pop = 2.077, Lat = 47.5885543823242, Lon = -122.316650390625, Country = "US", Name = "Seattle" },
new WorldCity { Cap = false, Pop = 2.099, Lat = 32.7614593505859, Lon = -117.125495910645, Country = "US", Name = "San Diego" },
new WorldCity { Cap = false, Pop = 0.110, Lat = -20.2600002288818, Lon = -69.9132614135742, Country = "Chile", Name = "Iquique" },
new WorldCity { Cap = true, Pop = 0.243, Lat = 24.2360076904297, Lon = 54.619270324707, Country = "Untd Arab Em", Name = "Abu Zaby" },
new WorldCity { Cap = false, Pop = 0.199, Lat = 7.57660102844238, Lon = -72.0054550170898, Country = "Venezuela", Name = "San Cristobal" },
new WorldCity { Cap = false, Pop = 0.509, Lat = 46.25, Lon = 48, Country = "Russia", Name = "Astrakhan" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 30.1386032104492, Lon = 9.81835079193115, Country = "Libya", Name = "Ghadamis" },
new WorldCity { Cap = false, Pop = 0.077, Lat = -31.3051528930664, Lon = -57.7087745666504, Country = "Uruguay", Name = "Salto" },
new WorldCity { Cap = false, Pop = 0.012, Lat = 62.5206146240234, Lon = -114.061363220215, Country = "Canada", Name = "Yellowknife" },
new WorldCity { Cap = false, Pop = 0.043, Lat = 19.7148151397705, Lon = -155.067291259766, Country = "US", Name = "Hilo" },
new WorldCity { Cap = false, Pop = 0.763, Lat = 21.3211765289307, Lon = -157.806182861328, Country = "US", Name = "Honolulu" },
new WorldCity { Cap = false, Pop = 0.184, Lat = 61.188648223877, Lon = -149.172973632813, Country = "US", Name = "Anchorage" },
new WorldCity { Cap = false, Pop = 0.040, Lat = 64.8387451171875, Lon = -147.651184082031, Country = "US", Name = "Fairbanks" },
new WorldCity { Cap = false, Pop = 0.020, Lat = 58.3910064697266, Lon = -134.132476806641, Country = "US", Name = "Juneau" },
new WorldCity { Cap = false, Pop = 0.629, Lat = 37.30810546875, Lon = -121.847457885742, Country = "US", Name = "San Jose" },
new WorldCity { Cap = false, Pop = 0.386, Lat = 28.5581398010254, Lon = -105.966636657715, Country = "Mexico", Name = "Chihuaha" },
new WorldCity { Cap = false, Pop = 0.385, Lat = 19.0096759796143, Lon = -96.0840606689453, Country = "Mexico", Name = "Veracruz" },
new WorldCity { Cap = false, Pop = 0.154, Lat = 16.9209060668945, Lon = -96.9420394897461, Country = "Mexico", Name = "Oaxaca" },
new WorldCity { Cap = false, Pop = 0.000, Lat = 78.1999969482422, Lon = 15.6599998474121, Country = "Norway", Name = "longyearbyen" },
new WorldCity { Cap = true, Pop = 5.396, Lat = 22.4284057617188, Lon = 114.145706176758, Country = "UK", Name = "Hong Kong" },
new WorldCity { Cap = false, Pop = 0.775, Lat = 22.3798961639404, Lon = 114.230117797852, Country = "UK", Name = "Kowloon" },
new WorldCity { Cap = false, Pop = 3.025, Lat = 1.22979354858398, Lon = 104.177116394043, Country = "Singapore", Name = "Singapore" },
};
return cities;
}
}
}
csusing IgniteUI.Blazor.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Infragistics.Samples
{
public static class WorldUtils
{
public static List<List<Point>> CalcPaths(GeoLocation origin, GeoLocation dest)
{
int interval = 200;
var paths = new List<List<Point>>() { new List<Point>() };
int pathID = 0;
double distance = WorldUtils.CalcDistance(origin, dest);
if (distance <= interval)
{
paths[pathID].Add(new Point() { X = dest.Lon, Y = dest.Lat });
}
else
{
GeoLocation current = origin;
GeoLocation previous = origin;
for (int dist = interval; dist <= distance; dist += interval)
{
previous = current;
paths[pathID].Add(new Point() { X = current.Lon, Y = current.Lat });
double bearing = WorldUtils.CalcBearing(current, dest);
current = WorldUtils.CalcDestination(current, bearing, interval);
if (previous.Lon > 150 && current.Lon < -150)
{
paths[pathID].Add(new Point() { X = 180, Y = current.Lat });
paths.Add(new List<Point>());
pathID++;
current = new GeoLocation() { Lon = -180, Lat = current.Lat };
}
else if(previous.Lon < -150 && current.Lon > 150)
{
paths[pathID].Add(new Point() { X = -180, Y = current.Lat });
paths.Add(new List<Point>());
pathID++;
current = new GeoLocation() { Lon = 180, Lat = current.Lat };
}
}
paths[pathID].Add(new Point() { X = dest.Lon, Y = dest.Lat });
}
return paths;
}
public static double CalcBearing(GeoLocation origin, GeoLocation dest)
{
origin = WorldUtils.ToRadianLocation(origin);
dest = WorldUtils.ToRadianLocation(dest);
double range = (dest.Lon - origin.Lon);
double y = Math.Sin(range) * Math.Cos(dest.Lat);
double x = Math.Cos(origin.Lat) * Math.Sin(dest.Lat) - Math.Sin(origin.Lat) * Math.Cos(dest.Lat) * Math.Cos(range);
double angle = Math.Atan2(y, x);
return WorldUtils.ToDegreesNormalized(angle);
}
public static GeoLocation CalcDestination(GeoLocation origin, double bearing, double distance)
{
double radius = 6371.0;
origin = WorldUtils.ToRadianLocation(origin);
bearing = WorldUtils.ToRadians(bearing);
distance = distance / radius;
double lat = Math.Asin(Math.Sin(origin.Lat) * Math.Cos(distance) +
Math.Cos(origin.Lat) * Math.Sin(distance) * Math.Cos(bearing));
double x = Math.Sin(bearing) * Math.Sin(distance) * Math.Cos(origin.Lat);
double y = Math.Cos(distance) - Math.Sin(origin.Lat) * Math.Sin(origin.Lat);
double lon = origin.Lon + Math.Atan2(x, y);
// normalize lon to coordinate between -180º and +180º
lon = (lon + 3 * Math.PI) % (2 * Math.PI) - Math.PI;
lon = WorldUtils.ToDegrees(lon);
lat = WorldUtils.ToDegrees(lat);
return new GeoLocation() { Lat = lat, Lon = lon };
}
public static double CalcDistance(GeoLocation origin, GeoLocation dest)
{
origin = WorldUtils.ToRadianLocation(origin);
dest = WorldUtils.ToRadianLocation(dest);
double sinProd = Math.Sin(origin.Lat) * Math.Sin(dest.Lat);
double cosProd = Math.Cos(origin.Lat) * Math.Cos(dest.Lat);
double lonDelta = (dest.Lon - origin.Lon);
double angle = Math.Acos(sinProd + cosProd * Math.Cos(lonDelta));
double distance = angle * 6371.0;
return distance;
}
public static GeoLocation ToRadianLocation(GeoLocation geoPoint)
{
double x = WorldUtils.ToRadians(geoPoint.Lon);
double y = WorldUtils.ToRadians(geoPoint.Lat);
return new GeoLocation() { Lon = x, Lat = y };
}
public static double ToRadians(double degrees)
{
return degrees * Math.PI / 180;
}
public static double ToDegrees(double radians)
{
return (radians * 180.0 / Math.PI);
}
public static double ToDegreesNormalized(double radians)
{
double degrees = WorldUtils.ToDegrees(radians);
degrees = (degrees + 360) % 360;
return degrees;
}
public static string ToStringLat(double latitude)
{
string str = Math.Abs(latitude) + "°";
return latitude > 0 ? str + "N" : str + "S";
}
public static string ToStringLon(double coordinate)
{
double val = Math.Abs(coordinate);
string str = val.ToString();
return coordinate > 0 ? str + "°E" : str + "°W";
}
public static string ToStringAbbr(double value)
{
if (value > 1000000000000)
{
return (value / 1000000000000).ToString("N1") + " T";
}
else if (value > 1000000000)
{
return (value / 1000000000).ToString("N1") + " B";
}
else if (value > 1000000)
{
return (value / 1000000).ToString("N1") + " M";
}
else if (value > 1000)
{
return (value / 1000).ToString("N1") + " K";
}
return value.ToString("N0");
}
public static double GetLongitude(GeoLocation location)
{
return location.Lon;
}
public static double GetLatitude(GeoLocation location)
{
return location.Lat;
}
public static Rect GetBounds(List<GeoLocation> locations)
{
double minLat = 90;
double maxLat = -90;
double minLon = 180;
double maxLon = -180;
foreach(GeoLocation gl in locations)
{
double curLon = WorldUtils.GetLongitude(gl);
double curLat = WorldUtils.GetLatitude(gl);
if (!double.IsNaN(curLon))
{
minLon = Math.Min(minLon, curLon);
maxLon = Math.Max(maxLon, curLon);
}
if (!double.IsNaN(curLat))
{
minLat = Math.Min(minLat, curLat);
maxLat = Math.Min(maxLat, curLat);
}
}
Rect geoBounds = new Rect(minLon, minLat, Math.Abs(maxLon - minLon), Math.Abs(maxLat - minLat));
return geoBounds;
}
public static List<Point> GetNightShapes()
{
List<Point> line = new List<Point>();
for (int lon = -180; lon <= 180; lon += 1)
{
double x = lon;
double y = 75 * Math.Cos(lon * Math.PI / 180);
line.Add(new Point(x, y));
}
return line;
}
}
}
cs
@using IgniteUI.Blazor.Controls
<div class="container vertical">
<div class="container vertical">
<IgbGeographicMap Height="100%" Width="100%" Zoomable="true">
<IgbGeographicPolylineSeries DataSource="Flights" ShapeMemberPath="Points"
ShapeStroke="rgba(196, 14, 14, 0.2)" ShapeStrokeThickness="4" />
<IgbGeographicPolylineSeries DataSource="Coordinates" ShapeMemberPath="Points"
ShapeStroke="Gray" ShapeStrokeThickness="1">
</IgbGeographicPolylineSeries>
<IgbGeographicSymbolSeries DataSource="Airports" LatitudeMemberPath="Lat"
LongitudeMemberPath="Lon" MarkerType="MarkerType.Circle"
MarkerBrush="#AAD3DF" MarkerOutline="Black" Thickness="1" />
</IgbGeographicMap>
</div>
</div>
@code {
private List<WorldCity> Airports;
private List<FlightInfo> Flights;
private List<CoordinateLine> Coordinates;
protected override void OnInitialized()
{
Airports = WorldConnections.GetAirports();
Flights = WorldConnections.GetFlights();
Coordinates = WorldConnections.GetGridlines();
}
}
razor/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/
css
¿Te gusta esta muestra? Obtenga acceso a nuestro kit de herramientas de Ignite UI for Blazor completo y comience a crear sus propias aplicaciones en minutos. Descárgalo gratis.
Este tema lo lleva paso a paso para mostrar múltiples series geográficas que trazarán los siguientes datos geoespaciales:
IgbGeographicSymbolSeries
: muestra la ubicación de los principales aeropuertosIgbGeographicPolylineSeries
: muestra vuelos entre aeropuertosIgbGeographicPolylineSeries
– displays gridlines of major coordinates
Puede utilizar series geográficas en esta u otras combinaciones para trazar los datos deseados.
最速のデータ グリッド、高性能なチャート、すぐに使用できる機能のフルセットなどを含む 60 以上の再利用可能なコンポーネント を使用して、最新の Web エクスペリエンスを構築します。
Creando fuentes de datos
Cree fuentes de datos para todas las series geográficas que desee mostrar en la Ignite UI for Blazor. Por ejemplo, puede utilizar el script WorldConnections.
@code {
public List<WorldCity> Airports;
public List<FlightInfo> Flights;
public List<CoordinateLine> Coordinates;
protected override void OnInitialized()
{
Airports = WorldConnections.GetAirports();
Flights = WorldConnections.GetFlights();
Coordinates = WorldConnections.GetGridlines();
}
}
razor
Vuelos superpuestos
Cree el primer objeto IgbGeographicPolylineSeries
con conexiones de vuelo entre los principales aeropuertos y agréguelo a la colección Series del mapa Ignite UI for Blazor.
<IgbGeographicMap Height="100%" Width="100%" Zoomable="true">
<IgbGeographicPolylineSeries DataSource="Flights" ShapeMemberPath="Points"
ShapeStroke="rgba(196, 14, 14, 0.05)" ShapeStrokeThickness="4" />
</IgbGeographicMap>
razor
Superposición de líneas de cuadrícula
Cree un segundo objeto IgbGeographicPolylineSeries
con líneas de cuadrícula geográficas y agréguelo a la colección Series del mapa Ignite UI for Blazor.
<IgbGeographicMap Height="100%" Width="100%" Zoomable="true">
<IgbGeographicPolylineSeries DataSource="Coordinates" ShapeMemberPath="Points"
ShapeStroke="Gray" ShapeStrokeThickness="1" />
</IgbGeographicMap>
razor
Aeropuertos superpuestos
Cree un objeto IgbGeographicSymbolSeries
con puntos de aeropuerto y agréguelo a la colección Series del mapa geográfico Ignite UI for Blazor.
<IgbGeographicMap Height="100%" Width="100%" Zoomable="true">
<IgbGeographicSymbolSeries DataSource="Airports" LatitudeMemberPath="Lat"
LongitudeMemberPath="Lon" MarkerType="MarkerType.Circle"
MarkerBrush="#AAD3DF" MarkerOutline="Black" Thickness="1" />
</IgbGeographicMap>
razor
Resumen
Para su comodidad, todos los fragmentos de código anteriores se combinan en un bloque de código a continuación que puede copiar fácilmente a su proyecto.
@using IgniteUI.Blazor.Controls
<IgbGeographicMap Height="100%" Width="100%" Zoomable="true">
<IgbGeographicPolylineSeries DataSource="Flights" ShapeMemberPath="Points"
ShapeStroke="rgba(196, 14, 14, 0.05)" ShapeStrokeThickness="4" />
<IgbGeographicPolylineSeries DataSource="Coordinates" ShapeMemberPath="Points"
ShapeStroke="Gray" ShapeStrokeThickness="1">
</IgbGeographicPolylineSeries>
<IgbGeographicSymbolSeries DataSource="Airports" LatitudeMemberPath="Lat"
LongitudeMemberPath="Lon" MarkerType="MarkerType.Circle"
MarkerBrush="#AAD3DF" MarkerOutline="Black" Thickness="1" />
</IgbGeographicMap>
@code {
private List<WorldCity> Airports;
private List<FlightInfo> Flights;
private List<CoordinateLine> Coordinates;
protected override void OnInitialized()
{
Airports = WorldConnections.GetAirports();
Flights = WorldConnections.GetFlights();
Coordinates = WorldConnections.GetGridlines();
}
}
razor