Blazor Binding Geographic Data Models
El componente de mapa Ignite UI for Blazor está diseñado para mostrar datos geoespaciales de archivos de formas y/o ubicaciones geográficas de modelos de datos en mapas de imágenes geográficas. La DataSource
propiedad de serie geográfica se utiliza con el fin de enlazar a modelos de datos. Esta propiedad se puede enlazar a una matriz de objetos personalizados.
Blazor Binding Geographic Data Models Example
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">
@for (int i = 0; i < this.Data.Count; i++)
{
FlightInfo info = this.Data[i];
List<WorldCity> symbolData = new List<WorldCity>() { info.Origin, info.Dest };
GeoLocation geoOrigin = new GeoLocation() { Lat = info.Origin.Lat, Lon = info.Origin.Lon };
GeoLocation geoDest = new GeoLocation() { Lat = info.Dest.Lat, Lon = info.Dest.Lon };
List<List<Point>> geoPath = WorldUtils.CalcPaths(geoOrigin, geoDest);
double geoDistance = WorldUtils.CalcDistance(geoOrigin, geoDest);
FlightInfo route = new FlightInfo()
{
Points = geoPath,
Origin = info.Origin,
Dest = info.Dest,
Distance = geoDistance,
Time = geoDistance / 850
};
List<FlightInfo> geoRoute = new List<FlightInfo>() { route };
<IgbGeographicSymbolSeries DataSource="symbolData" MarkerType="MarkerType.Circle"
LatitudeMemberPath="Lat" LongitudeMemberPath="Lon"
MarkerBrush="White" MarkerOutline="@info.Color"
Thickness="1">
</IgbGeographicSymbolSeries>
<IgbGeographicPolylineSeries DataSource="geoRoute" ShapeMemberPath="Points"
ShapeStrokeThickness="9" ShapeOpacity="0.5"
ShapeStroke="@info.Color">
</IgbGeographicPolylineSeries>
}
</IgbGeographicMap>
</div>
</div>
@code {
private List<FlightInfo> Data;
protected override void OnInitialized()
{
WorldCity cityDAL = new WorldCity() { Lat = 32.763, Lon = -96.663, Country = "US", Name = "Dallas" };
WorldCity citySYD = new WorldCity() { Lat = -33.889, Lon = 151.028, Country = "Australia", Name = "Sydney" };
WorldCity cityNZL = new WorldCity() { Lat = -36.848, Lon = 174.763, Country = "New Zealand", Name = "Auckland" };
WorldCity cityQTR = new WorldCity() { Lat = 25.285, Lon = 51.531, Country = "Qatar", Name = "Doha" };
WorldCity cityPAN = new WorldCity() { Lat = 8.949, Lon = -79.400, Country = "Panama", Name = "Panama" };
WorldCity cityCHL = new WorldCity() { Lat = -33.475, Lon = -70.647, Country = "Chile", Name = "Santiago" };
WorldCity cityJAP = new WorldCity() { Lat = 35.683, Lon = 139.809, Country = "Japan", Name = "Tokyo" };
WorldCity cityALT = new WorldCity() { Lat = 33.795, Lon = -84.349, Country = "US", Name = "Atlanta" };
WorldCity cityJOH = new WorldCity() { Lat = -26.178, Lon = 28.004, Country = "South Africa", Name = "Johannesburg" };
WorldCity cityNYC = new WorldCity() { Lat = 40.750, Lon = -74.0999, Country = "US", Name = "New York" };
WorldCity citySNG = new WorldCity() { Lat = 1.229, Lon = 104.177, Country = "Singapore", Name = "Singapore" };
WorldCity cityMOS = new WorldCity() { Lat = 55.750, Lon = 37.700, Country = "Russia", Name = "Moscow" };
WorldCity cityROM = new WorldCity() { Lat = 41.880, Lon = 12.520, Country = "Italy", Name = "Roma" };
WorldCity cityLAX = new WorldCity() { Lat = 34.000, Lon = -118.25, Country = "US", Name = "Los Angeles" };
this.Data = new List<FlightInfo>() {
new FlightInfo(){ Origin = cityDAL, Dest = citySNG, Color = "Green" },
new FlightInfo(){ Origin = cityMOS, Dest = cityNZL, Color = "Red" },
new FlightInfo(){ Origin = cityCHL, Dest = cityJAP, Color = "Blue" },
new FlightInfo(){ Origin = cityPAN, Dest = cityROM, Color = "Orange" },
new FlightInfo(){ Origin = cityALT, Dest = cityJOH, Color = "Black" },
new FlightInfo(){ Origin = cityNYC, Dest = cityQTR, Color = "Purple" },
new FlightInfo(){ Origin = cityLAX, Dest = citySYD, Color = "Gray" },
};
}
}
razor/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/
css
Like this sample? Get access to our complete Ignite UI for Blazor toolkit and start building your own apps in minutes. Download it for free.
La siguiente tabla resume las estructuras de datos necesarias para cada tipo de serie geográfica:
Serie Geográfica | Propiedades | Descripción |
---|---|---|
IgbGeographicSymbolSeries |
LongitudeMemberPath , LatitudeMemberPath |
Specifies names of 2 numeric longitude and latitude coordinates |
IgbGeographicHighDensityScatterSeries |
LongitudeMemberPath , LatitudeMemberPath |
Specifies names of 2 numeric longitude and latitude coordinates |
IgbGeographicProportionalSymbolSeries |
LongitudeMemberPath , LatitudeMemberPath , RadiusMemberPath |
Specifies names of 2 numeric longitude and latitude coordinates and 1 numeric column for size/radius of symbols |
IgbGeographicScatterAreaSeries |
LongitudeMemberPath , LatitudeMemberPath , ColorMemberPath |
Especifica nombres de 2 coordenadas numéricas de longitud y latitud y 1 columna numérica para triangulación de valores. |
IgbGeographicContourLineSeries |
LongitudeMemberPath , LatitudeMemberPath , ValueMemberPath |
Especifica nombres de 2 coordenadas numéricas de longitud y latitud y 1 columna numérica para triangulación de valores. |
IgbGeographicShapeSeries |
ShapeMemberPath |
Especifica el nombre de la columna de datos deDataSource elementos que contienen los puntos geográficos de las formas. Esta propiedad debe asignarse a una matriz de matrices de objetos con propiedades xey. |
IgbGeographicPolylineSeries |
ShapeMemberPath |
Especifica el nombre de la columna de datos deDataSource elementos que contienen las coordenadas geográficas de las líneas. Esta propiedad debe asignarse a una matriz de matrices de objetos con propiedades xey. |
最速のデータ グリッド、高性能なチャート、すぐに使用できる機能のフルセットなどを含む 60 以上の再利用可能なコンポーネント を使用して、最新の Web エクスペリエンスを構築します。
Code Snippet
El siguiente código muestra cómo vincular IgbGeographicSymbolSeries
a un modelo de datos personalizado que contiene ubicaciones geográficas de algunas ciudades del mundo almacenadas usando coordenadas de longitud y latitud. Además, utilizamos IgbGeographicPolylineSeries
para trazar la ruta geográfica más corta entre estas ubicaciones utilizando WorldUtility.
@using IgniteUI.Blazor.Controls
<IgbGeographicMap Height="100%" Width="100%" Zoomable="true">
@for (int i = 0; i < this.DataSource.Count; i++)
{
FlightInfo info = this.DataSource[i];
List<WorldCity> symbolData = new List<WorldCity>() { info.Origin, info.Dest };
GeoLocation geoOrigin = new GeoLocation() { Lat = info.Origin.Lat, Lon = info.Origin.Lon };
GeoLocation geoDest = new GeoLocation() { Lat = info.Dest.Lat, Lon = info.Dest.Lon };
List<List<Point>> geoPath = WorldUtils.CalcPaths(geoOrigin, geoDest);
double geoDistance = WorldUtils.CalcDistance(geoOrigin, geoDest);
FlightInfo route = new FlightInfo()
{
Points = geoPath,
Origin = info.Origin,
Dest = info.Dest,
Distance = geoDistance,
Time = geoDistance / 850
};
List<FlightInfo> geoRoute = new List<FlightInfo>() { route };
<IgbGeographicSymbolSeries DataSource="@symbolData" MarkerType="MarkerType.Circle"
LatitudeMemberPath="Lat" LongitudeMemberPath="Lon"
MarkerBrush="White" MarkerOutline="@info.Color"
Thickness="1">
</IgbGeographicSymbolSeries>
<IgbGeographicPolylineSeries DataSource="@geoRoute" ShapeMemberPath="Points"
ShapeStrokeThickness="9" ShapeOpacity="0.5"
ShapeStroke="@info.Color">
</IgbGeographicPolylineSeries>
}
</IgbGeographicMap>
@code {
private List<FlightInfo> DataSource;
protected override void OnInitialized()
{
WorldCity cityDAL = new WorldCity() { Lat = 32.763, Lon = -96.663, Country = "US", Name = "Dallas" };
WorldCity citySYD = new WorldCity() { Lat = -33.889, Lon = 151.028, Country = "Australia", Name = "Sydney" };
WorldCity cityNZL = new WorldCity() { Lat = -36.848, Lon = 174.763, Country = "New Zealand", Name = "Auckland" };
WorldCity cityQTR = new WorldCity() { Lat = 25.285, Lon = 51.531, Country = "Qatar", Name = "Doha" };
WorldCity cityPAN = new WorldCity() { Lat = 8.949, Lon = -79.400, Country = "Panama", Name = "Panama" };
WorldCity cityCHL = new WorldCity() { Lat = -33.475, Lon = -70.647, Country = "Chile", Name = "Santiago" };
WorldCity cityJAP = new WorldCity() { Lat = 35.683, Lon = 139.809, Country = "Japan", Name = "Tokyo" };
WorldCity cityALT = new WorldCity() { Lat = 33.795, Lon = -84.349, Country = "US", Name = "Atlanta" };
WorldCity cityJOH = new WorldCity() { Lat = -26.178, Lon = 28.004, Country = "South Africa", Name = "Johannesburg" };
WorldCity cityNYC = new WorldCity() { Lat = 40.750, Lon = -74.0999, Country = "US", Name = "New York" };
WorldCity citySNG = new WorldCity() { Lat = 1.229, Lon = 104.177, Country = "Singapore", Name = "Singapore" };
WorldCity cityMOS = new WorldCity() { Lat = 55.750, Lon = 37.700, Country = "Russia", Name = "Moscow" };
WorldCity cityROM = new WorldCity() { Lat = 41.880, Lon = 12.520, Country = "Italy", Name = "Roma" };
WorldCity cityLAX = new WorldCity() { Lat = 34.000, Lon = -118.25, Country = "US", Name = "Los Angeles" };
this.DataSource = new List<FlightInfo>() {
new FlightInfo() { Origin = cityDAL, Dest = citySNG, Color = "Green" },
new FlightInfo() { Origin = cityMOS, Dest = cityNZL, Color = "Red" },
new FlightInfo() { Origin = cityCHL, Dest = cityJAP, Color = "Blue" },
new FlightInfo() { Origin = cityPAN, Dest = cityROM, Color = "Orange" },
new FlightInfo() { Origin = cityALT, Dest = cityJOH, Color = "Black" },
new FlightInfo() { Origin = cityNYC, Dest = cityQTR, Color = "Purple" },
new FlightInfo() { Origin = cityLAX, Dest = citySYD, Color = "Gray" },
};
}
public class WorldCity
{
public string Name { get; set; }
public double Lat { get; set; }
public double Lon { get; set; }
public double Pop { get; set; }
public string Country { get; set; }
public bool Cap { get; set; }
}
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; }
}
}
razor