@bicharts/chart-host 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-3MT6ZHY4.mjs +1148 -0
- package/dist/index.mjs +1 -1
- package/dist/react.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-Y3JW6I5W.mjs +0 -1148
package/dist/chunk-Y3JW6I5W.mjs
DELETED
|
@@ -1,1148 +0,0 @@
|
|
|
1
|
-
/*! @bicharts/chart-host — Apache-2.0. Bundled reference data: GeoNames (https://www.geonames.org/) CC BY 4.0; Natural Earth and US Census/TIGER (public domain). Full text: NOTICE in this package. */
|
|
2
|
-
import {
|
|
3
|
-
NA_ISO3,
|
|
4
|
-
NA_LAT_MAX,
|
|
5
|
-
clipFeatureToLat
|
|
6
|
-
} from "./chunk-A2GMXZP7.mjs";
|
|
7
|
-
|
|
8
|
-
// src/contract.ts
|
|
9
|
-
var HOST_CONTRACT_VERSION = "1.2.0";
|
|
10
|
-
var GEO_POINT_PRECISIONS = ["latlon", "city", "zip3", "state", "country"];
|
|
11
|
-
var MARK_CLASS = "d3-mark";
|
|
12
|
-
var LEGEND_MARK_CLASS = "d3-legend-mark";
|
|
13
|
-
var AXIS_FILTER_CLASS = "d3-axis-filter";
|
|
14
|
-
var ROW_IDX_ATTR = "data-row-idx";
|
|
15
|
-
var XFILTER_REFRESH_EVENT = "llm-xfilter-refresh";
|
|
16
|
-
var CONTAINER_SLOT_ANIM_STOP = "__llmAnimStop";
|
|
17
|
-
var CONTAINER_SLOT_XF_CLEAR = "__llmXfClear";
|
|
18
|
-
var CONTAINER_SLOT_INITIAL_XF_MARK = "__llmInitialXfMark";
|
|
19
|
-
var HOST_CONTAINER_CLASS = "bic-chart-host";
|
|
20
|
-
var SELECTION_ACTIVE_CLASS = "lch-has-selection";
|
|
21
|
-
var MARK_SELECTED_CLASS = "lch-mark-selected";
|
|
22
|
-
var DIM_OPACITY_VAR = "--lch-dim-opacity";
|
|
23
|
-
var DIM_OPACITY_DEFAULT = 0.25;
|
|
24
|
-
var ANIM_PLAY_SPEED_DEFAULT = 1e3;
|
|
25
|
-
var ANIM_PLAY_SPEED_MIN = 250;
|
|
26
|
-
var ANIM_PLAY_SPEED_MAX = 5e3;
|
|
27
|
-
var ANIM_MAX_IDEAL_FRAMES_DEFAULT = 60;
|
|
28
|
-
var ANIM_MAX_IDEAL_FRAMES_MIN = 3;
|
|
29
|
-
var ANIM_MAX_IDEAL_FRAMES_MAX = 500;
|
|
30
|
-
var COLOR_SCALE_SELF_CLAMP_PCT_DEFAULT = 95;
|
|
31
|
-
var COLOR_SCALE_SELF_CLAMP_PCT_MIN = 50;
|
|
32
|
-
var COLOR_SCALE_SELF_CLAMP_PCT_MAX = 100;
|
|
33
|
-
|
|
34
|
-
// src/defaults.ts
|
|
35
|
-
var clamp = (n, lo, hi) => Math.max(lo, Math.min(hi, n));
|
|
36
|
-
function resolveOptions(p3) {
|
|
37
|
-
return {
|
|
38
|
-
// ---- host fields: pass through exactly as supplied ----
|
|
39
|
-
width: p3.width,
|
|
40
|
-
height: p3.height,
|
|
41
|
-
palette: p3.palette,
|
|
42
|
-
geoUnmatched: p3.geoUnmatched,
|
|
43
|
-
geo: p3.geo,
|
|
44
|
-
geoPoint: p3.geoPoint,
|
|
45
|
-
maxMapPoints: p3.maxMapPoints,
|
|
46
|
-
uiState: p3.uiState,
|
|
47
|
-
setUiState: p3.setUiState,
|
|
48
|
-
backgroundColor: p3.backgroundColor,
|
|
49
|
-
themeBg: p3.themeBg,
|
|
50
|
-
themeFg: p3.themeFg,
|
|
51
|
-
isHighContrast: p3.isHighContrast,
|
|
52
|
-
themeAccent: p3.themeAccent,
|
|
53
|
-
cultureCode: p3.cultureCode,
|
|
54
|
-
allowTooltips: p3.allowTooltips,
|
|
55
|
-
noDataText: p3.noDataText,
|
|
56
|
-
onSelect: p3.onSelect,
|
|
57
|
-
// ---- live-restyle knobs: `raw || undefined` / `.toString() || undefined` ----
|
|
58
|
-
colorScaleLow: p3.colorScaleLow || void 0,
|
|
59
|
-
colorScaleHigh: p3.colorScaleHigh || void 0,
|
|
60
|
-
// "" (global, the default), "frame", or "self"; anything else fails open to global.
|
|
61
|
-
colorScaleScope: p3.colorScaleScope === "frame" || p3.colorScaleScope === "self" ? p3.colorScaleScope : "",
|
|
62
|
-
// Math.max(50, Math.min(100, Number(raw) || 95)) — only meaningful under "self".
|
|
63
|
-
colorScaleSelfClampPct: clamp(Number(p3.colorScaleSelfClampPct) || COLOR_SCALE_SELF_CLAMP_PCT_DEFAULT, COLOR_SCALE_SELF_CLAMP_PCT_MIN, COLOR_SCALE_SELF_CLAMP_PCT_MAX),
|
|
64
|
-
// Map fills: `raw || undefined` like the colour-scale endpoints. The no-data ->
|
|
65
|
-
// land cascade is left to the chart (so the fallback chain is visible in the
|
|
66
|
-
// generated code); HC substitution has already happened in the caller.
|
|
67
|
-
geoLandColor: p3.geoLandColor || void 0,
|
|
68
|
-
geoNoDataColor: p3.geoNoDataColor || void 0,
|
|
69
|
-
aggregation: (p3.aggregation == null ? "" : String(p3.aggregation)) || void 0,
|
|
70
|
-
// ---- animation: booleans, default+clamp numerics, "" default enum ----
|
|
71
|
-
animAutoPlay: !!p3.animAutoPlay,
|
|
72
|
-
// Math.max(250, Math.min(5000, Number(raw) || 1000))
|
|
73
|
-
animPlaySpeedMs: clamp(Number(p3.animPlaySpeedMs) || ANIM_PLAY_SPEED_DEFAULT, ANIM_PLAY_SPEED_MIN, ANIM_PLAY_SPEED_MAX),
|
|
74
|
-
// Math.max(3, Math.min(500, Number(raw) || 60))
|
|
75
|
-
animMaxIdealFrames: clamp(Number(p3.animMaxIdealFrames) || ANIM_MAX_IDEAL_FRAMES_DEFAULT, ANIM_MAX_IDEAL_FRAMES_MIN, ANIM_MAX_IDEAL_FRAMES_MAX),
|
|
76
|
-
animStopAtEnd: !!p3.animStopAtEnd,
|
|
77
|
-
filtersDuringPlay: !!p3.filtersDuringPlay,
|
|
78
|
-
animTimelineStyle: (p3.animTimelineStyle || "").toString()
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// src/geoLazy.ts
|
|
83
|
-
var byKind = /* @__PURE__ */ new Map();
|
|
84
|
-
var byAsset = /* @__PURE__ */ new Map();
|
|
85
|
-
var _na;
|
|
86
|
-
function geoAssetFor(geoKind) {
|
|
87
|
-
if (!geoKind) return null;
|
|
88
|
-
const k2 = geoKind.toLowerCase();
|
|
89
|
-
if (/^country/.test(k2)) return "world";
|
|
90
|
-
if (k2 === "north-america") return "world";
|
|
91
|
-
if (k2 === "world") return "world";
|
|
92
|
-
if (k2 === "us-state-code" || k2 === "us-state-name") return "us-states";
|
|
93
|
-
if (k2 === "us-zip5") return "us-zip3";
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
var _worldBase;
|
|
97
|
-
function worldBasemap(world) {
|
|
98
|
-
if (!_worldBase) {
|
|
99
|
-
_worldBase = {
|
|
100
|
-
type: "FeatureCollection",
|
|
101
|
-
features: world.features.filter((f2) => f2?.geometry && f2.geometry.type !== "Point")
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
return _worldBase;
|
|
105
|
-
}
|
|
106
|
-
function northAmerica(world) {
|
|
107
|
-
if (!_na) {
|
|
108
|
-
_na = {
|
|
109
|
-
type: "FeatureCollection",
|
|
110
|
-
features: world.features.filter((f2) => NA_ISO3.has(f2?.id) && f2?.geometry && f2.geometry.type !== "Point").map((f2) => clipFeatureToLat(f2, NA_LAT_MAX)).filter((f2) => f2 !== null)
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
return _na;
|
|
114
|
-
}
|
|
115
|
-
function fromAssets(key) {
|
|
116
|
-
const asset = geoAssetFor(key);
|
|
117
|
-
if (!asset) return void 0;
|
|
118
|
-
const geo = byAsset.get(asset);
|
|
119
|
-
if (!geo) return void 0;
|
|
120
|
-
if (key === "north-america") return northAmerica(geo);
|
|
121
|
-
if (key === "world") return worldBasemap(geo);
|
|
122
|
-
return geo;
|
|
123
|
-
}
|
|
124
|
-
async function loadGeo(geoKind) {
|
|
125
|
-
if (!geoKind) return void 0;
|
|
126
|
-
const key = geoKind.toLowerCase();
|
|
127
|
-
const already = geoFromCache(key);
|
|
128
|
-
if (already) return already;
|
|
129
|
-
const asset = geoAssetFor(key);
|
|
130
|
-
if (!asset) return void 0;
|
|
131
|
-
if (asset === "us-states") {
|
|
132
|
-
byAsset.set(asset, (await import("./geoUsStates.generated-RDB4Y3WQ.mjs")).US_STATES);
|
|
133
|
-
} else if (asset === "us-zip3") {
|
|
134
|
-
byAsset.set(asset, (await import("./geoUsZip3.generated-HUXUVEQG.mjs")).US_ZIP3);
|
|
135
|
-
} else {
|
|
136
|
-
byAsset.set(asset, (await import("./geoWorld110m.generated-F2NDEZYL.mjs")).WORLD_110M);
|
|
137
|
-
}
|
|
138
|
-
return fromAssets(key);
|
|
139
|
-
}
|
|
140
|
-
function geoFromCache(geoKind) {
|
|
141
|
-
if (!geoKind) return void 0;
|
|
142
|
-
const key = geoKind.toLowerCase();
|
|
143
|
-
return byKind.get(key) ?? fromAssets(key);
|
|
144
|
-
}
|
|
145
|
-
function registerGeo(geoKind, geo) {
|
|
146
|
-
if (geoKind && geo) byKind.set(geoKind.toLowerCase(), geo);
|
|
147
|
-
}
|
|
148
|
-
function registerGeoAsset(asset, geo) {
|
|
149
|
-
if (!asset || !geo) return;
|
|
150
|
-
byAsset.set(asset, geo);
|
|
151
|
-
if (asset === "world") {
|
|
152
|
-
_na = void 0;
|
|
153
|
-
_worldBase = void 0;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
function clearGeoCache() {
|
|
157
|
-
byKind.clear();
|
|
158
|
-
byAsset.clear();
|
|
159
|
-
_na = void 0;
|
|
160
|
-
_worldBase = void 0;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// ../shape-core/dist/chunk-BJ6IC3CA.mjs
|
|
164
|
-
/*! @bicharts/shape-core — Apache-2.0. Bundled reference data: GeoNames (https://www.geonames.org/) CC BY 4.0; US Census/TIGER (public domain). Full text: NOTICE in this package. */
|
|
165
|
-
var w = "Aba|abia state|NG|7.37|5.11|1160|W|,Abasolo|MX11|MX|-101.53|20.45|27|N|,Abbotsford|BC|CA|-122.25|49.06|141|N|,Abeokuta|ogun state|NG|3.35|7.16|735|W|,Aberdeen|SD|US|-98.49|45.46|28|N|,Abidjan|abidjan autonomous district|CI|-4|5.35|6321|W|abican;abidzan;abiyan,Abilene|TX|US|-99.73|32.45|125|N|,Abington|PA|US|-75.12|40.12|55|N|abington township;municipio de abington,Abobo|abidjan autonomous district|CI|-4.02|5.42|1340|W|,Abu Dhabi|abu dhabi|AE|54.4|24.45|1807|W|abou dabi;abu dabi;abu zabi,Abu Ghurayb|baghdad|IQ|44.18|33.31|900|W|abou ghraib;abu ghraib;abu ghuraib,Abuja|fct|NG|7.5|9.06|2690|W|abudza;abuya,Acambaro|MX11|MX|-100.72|20.03|57|N|,Acapulco de Juarez|MX12|MX|-99.91|16.85|658|NW|acapulco,Acatzingo|MX21|MX|-97.78|18.98|25|N|san juan acatzingo,Acayucan|MX30|MX|-94.91|17.95|50|N|,Accra|greater accra|GH|-0.2|5.56|1963|W|acra;akra,Actopan|MX13|MX|-98.94|20.27|32|N|,Adachi|tokyo|JP|139.81|35.76|695|W|adachi city,Adana|adana|TR|35.33|36.99|1816|W|antioch on sarus,Addis Ababa|addis ababa|ET|38.75|9.02|3860|W|addis abeba;adis abeba,Addison|IL|US|-87.99|41.93|37|N|,Adelaide|south australia|AU|138.6|-34.93|1469|W|adelaida;adelajda,Adelanto|CA|US|-117.41|34.58|33|N|,Aden|aden|YE|45.04|12.78|1079|W|adem,Agadir|souss massa|MA|-9.6|30.42|698|W|santa cruz,Agawam|MA|US|-72.61|42.07|28|N|,Agege|lagos|NG|3.33|6.62|683|W|,Agincourt North|ON|CA|-79.28|43.8|29|N|,Agra|uttar pradesh|IN|78.02|27.18|1430|W|,Agua Caliente|CA|US|-122.49|38.32|27|N|,Agua Dulce|MX30|MX|-94.15|18.14|36|N|,Agua Prieta|MX26|MX|-109.54|31.32|77|N|,Aguascalientes|MX01|MX|-102.28|21.88|722|NW|aguascalientes city;aguascalientes by,Ahmedabad|gujarat|IN|72.59|23.03|6357|W|ahmadabad,Ahuntsic-Cartierville|QC|CA|-73.67|45.57|135|N|,Ahvaz|khuzestan|IR|48.68|31.32|841|W|ahwas;ahwaz,Ahwatukee Foothills|AZ|US|-111.98|33.34|83|N|,Aihara|kanagawa|JP|139.32|35.6|725|W|,Aiken|SC|US|-81.72|33.56|30|N|,Airdrie|AB|CA|-114.04|51.3|90|N|,Airport|HI|US|-157.93|21.34|28|N|,Ajalpan|MX21|MX|-97.26|18.38|28|N|,Ajax|ON|CA|-79.03|43.85|119|N|,Akron|OH|US|-81.52|41.08|197|N|,Akure|ondo state|NG|5.19|7.25|730|W|,Al Ahmadi|al ahmadi|KW|48.08|29.08|637|W|el ahmedi,Al Ain City|abu dhabi|AE|55.76|24.19|846|W|al ain;al ajn;al ayn,Al Basrah al Qadimah|basra|IQ|47.82|30.5|2015|W|,Al Hudaydah|al hudaydah|YE|42.95|14.8|734|W|el hudeyda,Al Mahallah al Kubra|gharbia|EG|31.17|30.97|592|W|,Al Mansurah|dakahlia|EG|31.38|31.04|621|W|al mansura;el mansura;mansourah;mansura,Al Mawsil al Jadidah|nineveh|IQ|43.11|36.33|2065|W|,Alabaster|AL|US|-86.82|33.24|32|N|,Alafaya|FL|US|-81.21|28.56|78|N|,Alameda|CA|US|-122.26|37.77|78|N|,Alamo|MX30|MX|-97.68|20.91|25|N|,Alamogordo|NM|US|-105.96|32.9|30|N|,Albany|NY|US|-73.76|42.65|101|N|,Albany|GA|US|-84.16|31.58|74|N|albania,Albany|OR|US|-123.11|44.64|52|N|,Albany Park|IL|US|-87.72|41.97|52|N|,Albuquerque|NM|US|-106.65|35.08|564|N|alburquerque;methville,Aleppo|aleppo|SY|37.16|36.2|2098|W|alep;alepo;halep,Alexandria|alexandria|EG|29.92|31.2|5263|W|alejandria;aleksandria;alessandria d egitto;alexandrie;iskandariyah;iskenderiye,Alexandria|VA|US|-77.05|38.8|159|N|,Alexandria|LA|US|-92.45|31.31|47|N|,Algiers|algiers|DZ|3.09|36.73|2364|W|alger;algeri;algier;aljir;alzir;argel;cezayir,Algonquin|IL|US|-88.29|42.17|30|N|,Alhambra|AZ|US|-112.13|33.5|127|N|,Alhambra|CA|US|-118.13|34.1|85|N|,Aliamanu / Salt Lakes / Foster Village|HI|US|-157.92|21.36|38|N|salt lake,Alief|TX|US|-95.6|29.71|98|N|,Aligarh|uttar pradesh|IN|78.07|27.88|753|W|,Aliso Viejo|CA|US|-117.73|33.57|50|N|,Allapattah|FL|US|-80.22|25.81|54|N|,Allen|TX|US|-96.67|33.1|98|N|,Allen Park|MI|US|-83.21|42.26|27|N|,Allentown|PA|US|-75.49|40.61|120|N|,Allston|MA|US|-71.13|42.36|28|N|,Alma|QC|CA|-71.65|48.55|29|N|,Almaty|almaty|KZ|76.91|43.25|1977|W|almati;alma ata;werny,Aloha|OR|US|-122.87|45.49|49|N|,Alpharetta|GA|US|-84.29|34.08|63|N|,Altadena|CA|US|-118.13|34.19|42|N|,Altamira|MX28|MX|-97.94|22.39|59|N|,Altamonte Springs|FL|US|-81.37|28.66|43|N|,Alton|IL|US|-90.18|38.89|27|N|,Altoona|PA|US|-78.39|40.52|45|N|,Alvaro Obregon|MX09|MX|-99.2|19.36|726|NW|,Alvin|TX|US|-95.24|29.42|25|N|,Amarillo|TX|US|-101.83|35.22|198|N|,Ameca|MX14|MX|-104.05|20.55|36|N|municipio ameca,Amecameca|MX15|MX|-98.77|19.12|31|N|amecameca de juarez,American Fork|UT|US|-111.8|40.38|28|N|,Ames|IA|US|-93.62|42.03|65|N|,Amherst|NY|US|-78.8|42.98|122|N|,Amherst|MA|US|-72.52|42.37|39|N|,Amman|amman|JO|35.95|31.96|1275|W|aman;ama,Amozoc de Mota|MX21|MX|-98.05|19.05|95|N|amozoc,Amravati|maharashtra|IN|77.75|20.93|647|W|,Amritsar|punjab|IN|74.88|31.62|1159|W|,Amsterdam|north holland|NL|4.89|52.37|741|W|amesterda;amesterdao;amseutereudam;amsterda;amsterodam;amsut erudam;amusuterudamu;aemstelredamme;aemsterdam,Anaheim|CA|US|-117.91|33.84|350|N|,Ancaster|ON|CA|-79.99|43.22|40|N|,Anchorage|AK|US|-149.9|61.22|289|N|,Anderson|IN|US|-85.68|40.11|55|N|,Anderson|SC|US|-82.65|34.5|27|N|,Andijon|andijan region|UZ|72.35|40.78|747|W|andican;andijan;andisjan;andizan;andizjan,Andover|MN|US|-93.29|45.23|32|N|,Ankang|shaanxi|CN|109.02|32.68|870|W|,Ankara|ankara|TR|32.85|39.92|3517|W|ancara;angora,Ankeny|IA|US|-93.61|41.73|56|N|,Ann Arbor|MI|US|-83.74|42.28|117|N|,Annandale|VA|US|-77.2|38.83|41|N|,Annapolis|MD|US|-76.49|38.98|40|N|,Annex|ON|CA|-79.4|43.67|30|N|,Anqing|anhui|CN|117.05|30.51|804|W|an khanh;an cching;anking,Ansan-si|gyeonggi do|KR|126.82|37.32|623|W|ansan,Anshan|liaoning|CN|122.99|41.12|1450|W|an son;an san,Anshun|guizhou|CN|105.93|26.25|765|W|an sun,Antalya|antalya|TR|30.7|36.91|1335|W|antalia,Antananarivo|analamanga|MG|47.54|-18.91|1349|W|antananarywa;tananarive,Antelope|CA|US|-121.33|38.71|45|N|,Antioch|CA|US|-121.81|38|110|N|,Antipolo|calabarzon|PH|121.12|14.63|913|W|antipolo city,Anyang|henan|CN|114.38|36.1|1146|W|an duong;an jang,Anyang-si|gyeonggi do|KR|126.93|37.39|595|W|anyang,Apache Junction|AZ|US|-111.55|33.42|38|N|,Apan|MX13|MX|-98.45|19.71|26|N|,Apaseo el Alto|MX11|MX|-100.62|20.46|27|N|,Apaseo el Grande|MX11|MX|-100.69|20.55|26|N|,Apatzingan|MX16|MX|-102.36|19.09|102|N|,Apex|NC|US|-78.85|35.73|45|N|,Apizaco|MX29|MX|-98.14|19.41|49|N|ciudad de apizaco,Apopka|FL|US|-81.51|28.68|48|N|,Apple Valley|CA|US|-117.19|34.5|72|N|,Apple Valley|MN|US|-93.22|44.73|51|N|,Appleton|WI|US|-88.42|44.26|74|N|,Aracaju|sergipe|BR|-37.07|-10.91|664|W|,Arandas|MX14|MX|-102.35|20.71|52|N|,Arcadia|CA|US|-118.04|34.14|58|N|,Arcola East|SK|CA|-104.54|50.43|33|N|,Arden-Arcade|CA|US|-121.38|38.6|92|N|,Ardmore|OK|US|-97.14|34.17|25|N|,Arequipa|arequipa|PE|-71.54|-16.4|1195|W|,Arifwala|punjab|PK|73.07|30.29|854|W|,Arlington|TX|US|-97.11|32.74|388|N|,Arlington|VA|US|-77.1|38.88|207|N|,Arlington|MA|US|-71.16|42.42|42|N|,Arlington Heights|IL|US|-87.98|42.09|75|N|,Arusha|arusha|TZ|36.68|-3.37|617|W|,Arvada|CO|US|-105.09|39.8|115|N|,Ashburn|VA|US|-77.49|39.04|43|N|,Ashburn|IL|US|-87.71|41.75|42|N|,Asheboro|NC|US|-79.81|35.71|26|N|,Asheville|NC|US|-82.55|35.6|95|N|,Ashgabat|ashgabat|TM|58.38|37.95|1030|W|achgabat;aschgabat;asgabate;ashkabad;ashkhabad;asjabad;asjchabad;asjkhabad;aszchabad;asgabat;askabat;aschabad,Ashmont|MA|US|-71.07|42.28|30|N|,Aspen Hill|MD|US|-77.07|39.08|48|N|,Astana|astana|KZ|71.45|51.18|1544|W|akmolinsk;noer soeltan;nour soultan;nur sultan;tselinograd,Astoria|NY|US|-73.93|40.77|150|N|,Asuncion|asuncion|PY|-57.65|-25.29|1482|W|assuncao,Atascadero|CA|US|-120.67|35.49|29|N|,Atascocita|TX|US|-95.18|30|65|N|,Athens|attica|GR|23.73|37.98|664|W|ateena;aten;atena;atenas;atene;ateny;athen;athena;athene;athenes;atheny;athinai;atina;kota athena,Athens|GA|US|-83.38|33.96|127|N|,Athens|OH|US|-82.1|39.33|25|N|,Atlanta|GA|US|-84.39|33.75|510|N|,Atlantic City|NJ|US|-74.42|39.36|39|N|kota atlantic,Atlixco|MX21|MX|-98.44|18.91|86|N|,Atotonilco el Alto|MX14|MX|-102.51|20.55|26|N|,Attleboro|MA|US|-71.29|41.94|44|N|,Atwater|CA|US|-120.61|37.35|29|N|,Auburn|WA|US|-122.23|47.31|77|N|,Auburn|AL|US|-85.48|32.61|62|N|,Auburn|NY|US|-76.57|42.93|26|N|,Auburn Gresham|IL|US|-87.65|41.74|45|N|,Auckland|auckland|NZ|174.76|-36.85|1547|W|,Augusta|GA|US|-81.97|33.47|43|N|,Aurangabad|maharashtra|IN|75.34|19.88|1175|W|,Aurora|CO|US|-104.83|39.73|359|N|,Aurora|IL|US|-88.32|41.76|200|N|,Aurora|ON|CA|-79.47|44|55|N|,Austin|TX|US|-97.74|30.27|974|NW|,Austintown|OH|US|-80.76|41.1|29|N|,Autlan de Navarro|MX14|MX|-104.37|19.77|45|N|,Aventura|FL|US|-80.14|25.96|37|N|,Avondale|AZ|US|-112.35|33.44|80|N|,Avondale|IL|US|-87.71|41.94|39|N|,Aylmer|QC|CA|-75.81|45.4|56|N|,Azcapotzalco|MX09|MX|-99.19|19.49|414|N|,Azusa|CA|US|-117.91|34.13|49|N|,Back Mountain|PA|US|-76|41.34|26|N|,Bagcilar|istanbul|TR|28.86|41.04|740|W|,Baghdad|baghdad|IQ|44.4|33.34|7216|W|bagdad;bagda;bagdat,Bahawalpur|punjab|PK|71.68|29.4|903|W|,Bahcelievler|istanbul|TR|28.86|41|576|W|,Baise|guangxi|CN|106.63|23.89|686|W|baise city,Bakersfield|CA|US|-119.02|35.37|373|N|,Baku|baki|AZ|49.89|40.38|2351|W|bacu;bakoe;bakou,Balch Springs|TX|US|-96.62|32.73|25|N|,Baldwin Park|CA|US|-117.96|34.09|77|N|,Balikpapan|east kalimantan|ID|116.83|-1.27|695|W|kota balikpapan,Ballwin|MO|US|-90.55|38.6|30|N|,Baltimore|MD|US|-76.61|39.29|585|NW|baltimora,Bamako|bamako|ML|-7.98|12.61|4227|W|,Banbury-Don Mills|ON|CA|-79.35|43.74|27|N|,Bandar Lampung|lampung|ID|105.26|-5.43|1166|W|bandarlampung;kota bandar lampung,Bandung|west java|ID|107.61|-6.92|2528|W|kota bandung,Bangkok|bangkok|TH|100.5|13.75|5104|W|banguecoque;bancoque,Bangor|ME|US|-68.77|44.8|32|N|,Bangui|bangui|CF|18.55|4.36|812|W|bangi,Banjarmasin|south kalimantan|ID|114.59|-3.32|657|W|,Banning|CA|US|-116.88|33.93|30|N|,Bannu|khyber pakhtunkhwa|PK|70.6|32.99|1357|W|,Bao'an|guangdong|CN|113.88|22.55|4476|W|,Baoding|hebei|CN|115.46|38.87|2739|W|prefettura di baoding,Baoji|shaanxi|CN|107.24|34.37|1437|W|,Baoshan|shanghai|CN|121.49|31.41|2265|W|,Baoshan|yunnan|CN|99.16|25.12|935|W|pao san,Baotou|inner mongolia|CN|109.84|40.65|2150|W|pao tchou,Barberton|OH|US|-81.61|41.01|26|N|,Barcelona|catalonia|ES|2.16|41.39|1686|W|barcellona;barcelone;barselona;la ciudad condal,Barcelona|anzoategui|VE|-64.69|10.14|815|W|barselona,Bareilly|uttar pradesh|IN|79.43|28.37|745|W|bareli,Barnaul|altai krai|RU|83.73|53.36|632|W|barnaoel;barnaoul,Barnstable|MA|US|-70.3|41.7|47|N|,Barquisimeto|lara|VE|-69.36|10.06|1240|W|,Barranquilla|atlantico|CO|-74.78|10.97|1206|W|barranquilha,Barrie|ON|CA|-79.67|44.4|147|N|,Bartlesville|OK|US|-95.98|36.75|36|N|,Bartlett|TN|US|-89.87|35.2|58|N|,Bartlett|IL|US|-88.19|42|41|N|,Basrah|basra|IQ|47.78|30.51|1326|W|basra;al basra;basora;bassora;bassorah;bacora,Batam|riau|ID|104.02|1.15|1296|W|kota batam,Batavia|IL|US|-88.31|41.85|26|N|,Bath Beach|NY|US|-74|40.6|33|N|,Baton Rouge|LA|US|-91.19|30.44|227|N|,Battagram|khyber pakhtunkhwa|PK|73.02|34.68|700|W|battagram city,Battle Creek|MI|US|-85.18|42.32|51|N|,Bauchi|bauchi|NG|9.84|10.31|693|W|bauczi,Bay City|MI|US|-83.89|43.59|33|N|kota bay,Bay Shore|NY|US|-73.25|40.73|26|N|,Bay Street Corridor|ON|CA|-79.39|43.66|25|N|,Bayan Nur|inner mongolia|CN|107.39|40.74|1760|W|,Bayonne|NJ|US|-74.11|40.67|66|N|,Bayside|NY|US|-73.78|40.77|66|N|,Baytown|TX|US|-94.98|29.74|76|N|,Bayview-Hunters Point|CA|US|-122.38|37.73|34|N|,Bazhong|sichuan|CN|106.74|31.87|2712|W|,Beaumont|TX|US|-94.1|30.09|115|N|,Beaumont|CA|US|-116.98|33.93|43|N|,Beauport|QC|CA|-71.19|46.86|81|N|montmorency,Beavercreek|OH|US|-84.06|39.71|46|N|beaver creek,Beaverton|OR|US|-122.8|45.49|96|N|,Bedford|TX|US|-97.14|32.84|49|N|,Beijing|beijing|CN|116.4|39.91|18960|W|pechino;pekin;peking;pequim,Beira|sofala|MZ|34.84|-19.84|687|W|,Beirut|beirut|LB|35.5|33.89|1916|W|beiroet;beirute;bejrut;beyrouth;beyrut,Bekasi|west java|ID|106.99|-6.23|2648|W|kota bekasi,Bel Air North|MD|US|-76.37|39.55|30|N|,Bel Air South|MD|US|-76.32|39.51|47|N|,Belem|para|BR|-48.5|-1.46|1499|W|,Belgrade|central serbia|RS|20.47|44.8|1273|W|belgrad;belgrado;beograd;belehrad,Bell|CA|US|-118.19|33.98|36|N|,Bell Gardens|CA|US|-118.15|33.97|43|N|,Bella Vista|AR|US|-94.27|36.48|27|N|,Belleville|ON|CA|-77.38|44.17|50|N|,Belleville|IL|US|-89.98|38.52|42|N|,Belleville|NJ|US|-74.15|40.79|36|N|,Bellevue|WA|US|-122.2|47.61|139|N|,Bellevue|NE|US|-95.89|41.14|55|N|,Bellflower|CA|US|-118.12|33.88|78|N|,Bellingham|WA|US|-122.49|48.76|85|N|,Belmont|CA|US|-122.28|37.52|27|N|,Belmont Cragin|IL|US|-87.77|41.93|79|N|,Belo Horizonte|minas gerais|BR|-43.94|-19.92|2721|W|b h;belo hte;bhte,Beloit|WI|US|-89.03|42.51|36|N|,Beltline|AB|CA|-114.07|51.04|25|N|,Belvidere|IL|US|-88.84|42.26|25|N|,Bend|OR|US|-121.32|44.06|87|N|,Bendale|ON|CA|-79.25|43.77|29|N|,Bengaluru|karnataka|IN|77.59|12.97|8495|W|bangalore,Bengbu|anhui|CN|117.36|32.94|972|W|,Benghazi|banghazi|LY|20.07|32.11|757|W|banghazi;bengasi;bengazi;bingazi,Benicia|CA|US|-122.16|38.05|28|N|,Benin City|edo state|NG|5.63|6.34|1782|W|benim;benin;benin by;benin stadt;ciudad de benin;kota benin,Benito Juarez|MX09|MX|-99.16|19.37|385|N|,Benoni|gauteng|ZA|28.32|-26.19|605|W|,Bensalem|PA|US|-74.95|40.1|60|N|bensalem township;municipio de bensalem;xa bensalem,Bensonhurst|NY|US|-73.99|40.6|60|N|,Benton|AR|US|-92.59|34.56|34|N|,Bentonville|AR|US|-94.21|36.37|44|N|,Benxi|liaoning|CN|123.77|41.29|987|W|pen si,Bergenfield|NJ|US|-74|40.93|27|N|,Berkeley|CA|US|-122.27|37.87|120|N|,Berlin|state of berlin|DE|13.41|52.52|3426|W|berliini;berlijn;berlim;berlino,Berriozabal|MX05|MX|-93.27|16.8|28|N|,Berwyn|IL|US|-87.79|41.85|56|N|,Bessemer|AL|US|-86.95|33.4|26|N|,Bethel Park|PA|US|-80.04|40.33|32|N|,Bethesda|MD|US|-77.1|38.98|60|N|,Bethlehem|PA|US|-75.37|40.63|74|N|,Bettendorf|IA|US|-90.52|41.52|35|N|,Beverly|MA|US|-70.88|42.56|41|N|,Beverly Cove|MA|US|-70.85|42.55|40|N|,Beverly Hills|CA|US|-118.4|34.07|34|N|,Bhavnagar|gujarat|IN|72.15|21.76|605|W|,Bhayandar|maharashtra|IN|72.85|19.3|809|W|,Bhilai|chhattisgarh|IN|81.43|21.21|627|W|bhilai nagar;bhilaj nagar,Bhiwandi|maharashtra|IN|73.06|19.3|874|W|,Bhopal|madhya pradesh|IN|77.4|23.25|1798|W|,Bhubaneswar|odisha|IN|85.83|20.27|885|W|bhubaneshwar,Bien Hoa|dong nai|VN|106.82|10.94|1272|W|bienhoa,Big Spring|TX|US|-101.48|32.25|28|N|,Bijie|guizhou|CN|105.29|27.3|1137|W|pi tie;prefecture de bijie,Bikaner|rajasthan|IN|73.31|28.02|644|W|,Billerica|MA|US|-71.27|42.56|39|N|,Billings|MT|US|-108.5|45.78|117|N|,Biloxi|MS|US|-88.89|30.4|45|N|,Binghamton|NY|US|-75.92|42.1|46|N|,Binzhou|shandong|CN|118.02|37.37|682|W|pin cou;tan chau,Birmingham|england|GB|-1.9|52.48|1157|W|,Birmingham|AL|US|-86.8|33.52|196|N|,Bishkek|bishkek|KG|74.59|42.87|900|W|bichkek;bischkek;bisjkek;biskek;bisqueque;biszkek,Bismarck|ND|US|-100.78|46.81|75|N|bismarck i nord dakota,Blacksburg|VA|US|-80.41|37.23|44|N|,Blaine|MN|US|-93.23|45.16|62|N|,Blainville|QC|CA|-73.88|45.67|46|N|,Blantyre|southern region|MW|35.01|-15.78|902|W|,Bloomfield|NJ|US|-74.19|40.81|49|N|,Bloomington|MN|US|-93.3|44.84|86|N|,Bloomington|IN|US|-86.53|39.17|84|N|,Bloomington|IL|US|-88.99|40.48|78|N|,Blue Springs|MO|US|-94.28|39.02|54|N|,Boardman|OH|US|-80.66|41.02|35|N|,Bobo-Dioulasso|hauts bassins|BF|-4.29|11.18|904|W|,Boca Raton|FL|US|-80.08|26.36|93|N|boca de ratones;wta boca raton,Bogor|west java|ID|106.79|-6.59|1078|W|kota bogor,Bogota|bogota d c|CO|-74.08|4.61|7674|W|santafe de bogota,Boisbriand|QC|CA|-73.83|45.62|26|N|,Boise|ID|US|-116.2|43.61|235|N|,Bolingbrook|IL|US|-88.07|41.7|74|N|,Bolton|ON|CA|-79.74|43.88|26|N|,Bonita Springs|FL|US|-81.78|26.34|51|N|,Borama|awdal|SO|43.18|9.94|597|W|boorama,Borivli|maharashtra|IN|72.86|19.23|609|W|borivali,Borough Park|NY|US|-74|40.63|149|N|,Bossier City|LA|US|-93.73|32.52|68|N|,Boston|MA|US|-71.06|42.36|653|NW|,Bothell|WA|US|-122.21|47.76|42|N|,Bouake|vallee du bandama district|CI|-5.03|7.69|832|W|,Boucherville|QC|CA|-73.44|45.59|39|N|,Boulder|CO|US|-105.27|40.01|106|N|,Bountiful|UT|US|-111.88|40.89|43|N|,Bowie|MD|US|-76.73|38.94|58|N|bowie station;huntington city;huntington station,Bowling Green|KY|US|-86.44|36.99|63|N|,Bowling Green|OH|US|-83.65|41.37|31|N|,Bowmanville|ON|CA|-78.68|43.92|39|N|,Boyle Heights|CA|US|-118.21|34.03|92|N|,Boynton Beach|FL|US|-80.07|26.53|73|N|,Bozeman|MT|US|-111.04|45.68|43|N|,Bozhou|anhui|CN|115.77|33.88|1409|W|po cou,Bradenton|FL|US|-82.57|27.5|54|N|,Braintree|MA|US|-71|42.2|37|N|,Brampton|ON|CA|-79.77|43.68|656|NW|,Brandon|FL|US|-82.29|27.94|103|N|,Brandon|MB|CA|-99.95|49.85|48|N|,Branford|CT|US|-72.82|41.28|29|N|,Brant|ON|CA|-80.35|43.13|34|N|,Brantford|ON|CA|-80.27|43.13|104|N|,Brasilia|federal district|BR|-47.93|-15.78|2207|W|,Brawley|CA|US|-115.53|32.98|25|N|,Brazzaville|brazzaville|CG|15.28|-4.27|1982|W|brazavil,Brea|CA|US|-117.9|33.92|41|N|,Bremerton|WA|US|-122.63|47.57|39|N|,Brentwood|NY|US|-73.25|40.78|60|N|,Brentwood|CA|US|-121.7|37.93|58|N|,Brentwood|TN|US|-86.78|36.03|41|N|,Brentwood Estates|TN|US|-86.78|36.03|31|N|,Briarwood|NY|US|-73.82|40.71|53|N|,Brick|NJ|US|-74.14|40.06|76|N|,Bridgeport|CT|US|-73.19|41.18|147|N|,Bridgeport|IL|US|-87.65|41.84|33|N|,Bridgeton|NJ|US|-75.23|39.43|25|N|,Bridgewater|NJ|US|-74.65|40.6|44|N|,Brighouse-City Centre|BC|CA|-123.13|49.17|62|N|brighouse;richmond brighouse,Brighton|MA|US|-71.16|42.35|45|N|,Brighton|CO|US|-104.82|39.99|37|N|,Brighton|NY|US|-77.55|43.15|36|N|,Brighton Beach|NY|US|-73.96|40.58|31|N|,Brighton Park|IL|US|-87.7|41.82|44|N|,Brisbane|queensland|AU|153.03|-27.47|2780|W|brisbane city,Bristol|CT|US|-72.95|41.67|60|N|,Bristol|TN|US|-82.19|36.6|26|N|,Brockton|MA|US|-71.02|42.08|95|N|,Broken Arrow|OK|US|-95.79|36.05|106|N|,Brookfield|WI|US|-88.11|43.06|38|N|,Brookhaven|GA|US|-84.34|33.86|51|N|north atlanta,Brooklin|ON|CA|-78.96|43.96|25|N|,Brookline|MA|US|-71.12|42.33|58|N|,Brooklyn|NY|US|-73.95|40.65|2736|NW|borough of brooklyn,Brooklyn Center|MN|US|-93.33|45.08|30|N|,Brooklyn Park|MN|US|-93.36|45.09|79|N|,Broomfield|CO|US|-105.09|39.92|65|N|,Brossard|QC|CA|-73.47|45.45|69|N|,Brownsville|TX|US|-97.5|25.9|186|N|,Brownsville|NY|US|-73.92|40.66|74|N|,Brunswick|OH|US|-81.84|41.24|34|N|,Brussels|brussels capital|BE|4.35|50.85|1019|W|brussel;bruxelles;bruksela;brusel;bruselas;bruxelas;bryssel;bruksel;citta di bruxelles;city of brussels;kota brusel,Bryan|TX|US|-96.37|30.67|82|N|,Bucaramanga|santander department|CO|-73.12|7.12|581|W|,Bucharest|bucharest|RO|26.11|44.43|1877|W|boekarest;bucarest;bucareste;bucuresti;bukarest;bukareszt;bukurest;bukres,Bucheon-si|gyeonggi do|KR|126.78|37.5|850|W|bucheon,Buckeye|AZ|US|-112.58|33.37|50|N|,Budapest|budapest|HU|19.04|47.5|1741|W|boedapest;budapesta;budapeste;budapeszt;ofen pest,Budta|autonomous region in muslim mindanao|PH|124.44|7.2|1273|W|,Buena Park|CA|US|-118|33.87|83|N|,Buenaventura Lakes|FL|US|-81.35|28.34|26|N|,Buenavista|MX15|MX|-99.17|19.61|216|N|,Buenos Aires|buenos aires f d|AR|-58.38|-34.61|2891|W|santa maria del buen ayre,Buffalo|NY|US|-78.88|42.89|258|N|bufalo,Buffalo Grove|IL|US|-87.96|42.15|41|N|,Bujumbura|bujumbura mairie|BI|29.36|-3.38|769|W|buyumbura;buzumbura,Bukavu|south kivu|CD|28.84|-2.49|816|W|costermansstad;costermansville,Bukit Rahman Putra|selangor|MY|101.56|3.22|607|W|,Bulawayo|bulawayo|ZW|28.58|-20.15|665|W|,Bullhead City|AZ|US|-114.57|35.15|39|N|,Buraydah|al qassim region|SA|43.97|26.33|745|W|buraidah;burajda;burayda,Burbank|CA|US|-118.31|34.18|105|N|,Burbank|IL|US|-87.78|41.73|29|N|,Burien|WA|US|-122.35|47.47|50|N|,Burke|VA|US|-77.27|38.79|41|N|,Burleson|TX|US|-97.32|32.54|43|N|,Burlingame|CA|US|-122.37|37.58|30|N|,Burlington|ON|CA|-79.84|43.39|186|N|,Burlington|NC|US|-79.44|36.1|52|N|,Burlington|VT|US|-73.21|44.48|42|N|,Burlington|IA|US|-91.11|40.81|25|N|,Burnaby|BC|CA|-122.95|49.27|249|N|,Burnsville|MN|US|-93.28|44.77|61|N|,Bursa|bursa province|TR|29.06|40.2|3101|W|,Burton|MI|US|-83.62|43|28|N|,Busan|busan|KR|129.03|35.1|3285|W|busan si;pusan,Bushwick|NY|US|-73.92|40.69|112|N|,Bustleton|PA|US|-75.03|40.08|32|N|,Butte|MT|US|-112.53|46|34|N|,Cabo San Lucas|MX03|MX|-109.91|22.89|202|N|,Cabot|AR|US|-92.02|34.97|25|N|,Cadereyta|MX19|MX|-99.98|25.58|67|N|,Cadereyta Jimenez|MX19|MX|-100|25.59|68|N|,Cagayan de Oro|northern mindanao|PH|124.65|8.48|741|W|,Cairo|cairo|EG|31.25|30.06|9606|W|el cairo;kairo;le caire;il cairo;kahire;kair;kahira,Calamba|calabarzon|PH|121.17|14.21|575|W|calamba city;kota calamba,Caldwell|ID|US|-116.69|43.66|51|N|,Caledon|ON|CA|-79.99|43.87|76|N|,Calexico|CA|US|-115.5|32.68|40|N|,Calgary|AB|CA|-114.09|51.05|1306|NW|,Cali|valle del cauca department|CO|-76.52|3.43|2392|W|santiago de cali,Callao|callao|PE|-77.13|-12.05|1226|W|el callao,Caloocan|national capital region|PH|120.97|14.65|1712|W|caloocan city;lungsod ng caloocan,Calpulalpan|MX29|MX|-98.57|19.59|33|N|,Calumbo|bengo|AO|13.42|-9.15|652|W|,Calumet City|IL|US|-87.53|41.62|37|N|calumet,Camama|luanda|AO|13.27|-8.94|667|W|,Camarillo|CA|US|-119.04|34.22|67|N|,Camayenne|conakry|GN|-13.69|9.54|1871|W|,Cambridge|ON|CA|-80.31|43.36|129|N|,Cambridge|MA|US|-71.11|42.38|110|N|,Camden|NJ|US|-75.12|39.93|76|N|,Campbell|CA|US|-121.95|37.29|41|N|,Campbell River|BC|CA|-125.24|50.02|33|N|,Campeche|MX04|MX|-90.52|19.84|220|N|san francisco de campeche,Campinas|sao paulo|BR|-47.06|-22.91|1031|W|campinas e regiao;regiao de campinas,Campo Grande|mato grosso do sul|BR|-54.65|-20.44|906|W|,Can Tho|can tho city|VN|105.79|10.04|1507|W|,Cananea|MX26|MX|-110.3|30.98|31|N|heroica ciudad de cananea,Canarsie|NY|US|-73.9|40.64|87|N|,Cancun|MX23|MX|-86.85|21.17|888|NW|ciudad cancun,Cankaya|ankara|TR|32.86|39.92|792|W|,Canoga Park|CA|US|-118.6|34.2|60|N|,Canton|MI|US|-83.48|42.31|86|N|,Canton|OH|US|-81.38|40.8|71|N|,Canton|GA|US|-84.49|34.24|25|N|,Cantonment|FL|US|-87.34|30.61|26|N|,Canyon Country|CA|US|-118.47|34.42|59|N|,Cape Coral|FL|US|-81.95|26.56|175|N|cabo coral,Cape Girardeau|MO|US|-89.52|37.31|39|N|cap girardeau,Cape Town|western cape|ZA|18.42|-33.93|4772|W|citta del capo;cidade do cabo;ciudad del cabo;el cabo;kaapstad;kapkaupunki;kapske mesto;kapstaden;kapstadt;kapsztad;le cap,Caracas|distrito federal|VE|-66.88|10.49|3000|W|karakas,Carbondale|IL|US|-89.22|37.73|26|N|,Cardenas|MX27|MX|-93.38|18|91|N|,Carlsbad|CA|US|-117.35|33.16|114|N|,Carlsbad|NM|US|-104.23|32.42|28|N|,Carmel|IN|US|-86.12|39.98|88|N|,Carmichael|CA|US|-121.33|38.62|61|N|,Carney|MD|US|-76.52|39.39|29|N|,Carol City|FL|US|-80.25|25.94|63|N|,Carol Stream|IL|US|-88.13|41.91|40|N|,Carpentersville|IL|US|-88.26|42.12|38|N|,Carrollton|TX|US|-96.89|32.95|133|N|,Carrollton|GA|US|-85.08|33.58|26|N|,Carrollwood|FL|US|-82.49|28.05|33|N|,Carrollwood Village|FL|US|-82.52|28.07|40|N|,Carson|CA|US|-118.28|33.83|93|N|,Carson City|NV|US|-119.77|39.16|58|N|kota carson,Cartagena|bolivar|CO|-75.49|10.4|914|W|carthagene;cartagena de indias;cartagena das indias;carthagene des indes,Cartierville|QC|CA|-73.7|45.53|34|N|,Cary|NC|US|-78.78|35.79|159|N|,Casa Grande|AZ|US|-111.76|32.88|51|N|,Casablanca|casablanca settat|MA|-7.61|33.59|3665|W|dar ul beyda;kazablanka;white house,Casas Adobes|AZ|US|-111|32.32|66|N|,Casper|WY|US|-106.31|42.87|60|N|,Casselberry|FL|US|-81.33|28.68|27|N|,Castle Rock|CO|US|-104.86|39.37|55|N|,Castlewood|CO|US|-104.9|39.58|25|N|,Castro Valley|CA|US|-122.09|37.69|61|N|,Catalina Foothills|AZ|US|-110.92|32.3|50|N|,Catemaco|MX30|MX|-95.11|18.42|27|N|,Cathedral City|CA|US|-116.47|33.78|53|N|,Catonsville|MD|US|-76.73|39.27|41|N|,Cebu City|central visayas|PH|123.89|10.32|965|W|cebu;ciudad de cebu;cebu sehri;cidade de cebu;city of cebu;kota cebu,Cedar City|UT|US|-113.06|37.68|30|N|,Cedar Falls|IA|US|-92.45|42.53|41|N|,Cedar Hill|TX|US|-96.96|32.59|48|N|,Cedar Park|TX|US|-97.82|30.51|65|N|,Cedar Rapids|IA|US|-91.64|42.01|130|N|,Celaya|MX11|MX|-100.81|20.52|340|N|,Celina|TX|US|-96.78|33.32|64|N|,Centennial|CO|US|-104.88|39.58|109|N|,Center City|PA|US|-75.16|39.95|57|N|centro de filadelfia,Centereach|NY|US|-73.1|40.86|31|N|,Central|LA|US|-91.04|30.55|28|N|,Central 14th Street / Spring Road|DC|US|-77.03|38.94|25|N|,Central City|AZ|US|-112.06|33.44|58|N|,Central Islip|NY|US|-73.2|40.79|34|N|,Centre City|AB|CA|-114.07|51.05|41|N|,Centretown|ON|CA|-75.7|45.42|25|N|,Centreville|VA|US|-77.43|38.84|71|N|,Centro Familiar la Soledad|MX11|MX|-101.75|21.14|32|N|,Ceres|CA|US|-120.96|37.59|47|N|,Cerritos|CA|US|-118.06|33.86|49|N|,Chalco|MX15|MX|-98.9|19.26|168|N|,Chamblee|GA|US|-84.3|33.89|28|N|,Champaign|IL|US|-88.24|40.12|86|N|,Champoton|MX04|MX|-90.72|19.34|30|N|,Chandigarh|chandigarh|IN|76.79|30.74|970|W|czandigarh;candigarh,Chandler|AZ|US|-111.84|33.31|260|N|,Changchun|jilin|CN|125.32|43.88|4714|W|tschangtung;cangcun;cchang cchun,Changde|hunan|CN|111.7|29.03|1457|W|cchang te;changteh,Changning|shanghai|CN|121.42|31.22|694|W|,Changsha|hunan|CN|112.97|28.2|3093|W|cchang sa,Changsha|guangdong|CN|112.68|22.38|688|W|,Changshu|jiangsu|CN|120.74|31.65|1677|W|,Changwon|gyeongsangnam do|KR|128.68|35.23|1025|W|ch angwon;cchangwon,Changzhi|shanxi|CN|113.11|36.18|1214|W|cchang c,Changzhou|jiangsu|CN|119.95|31.77|3290|W|cchang cou,Chanhassen|MN|US|-93.53|44.86|25|N|,Channelview|TX|US|-95.11|29.78|38|N|,Chaozhou|guangdong|CN|116.62|23.65|1750|W|cchao cou,Chapel Hill|NC|US|-79.06|35.91|59|N|,Charlesbourg|QC|CA|-71.31|46.9|82|N|,Charleston|SC|US|-79.93|32.78|132|N|,Charleston|WV|US|-81.63|38.35|46|N|,Charlotte|NC|US|-80.84|35.23|911|NW|,Charlottesville|VA|US|-78.48|38.03|46|N|,Charlottetown|PE|CA|-63.13|46.23|38|N|,Chaska|MN|US|-93.6|44.79|25|N|,Chateauguay|QC|CA|-73.75|45.38|42|N|,Chatham|ON|CA|-82.18|42.41|43|N|,Chatham|IL|US|-87.61|41.74|31|N|,Chatsworth|CA|US|-118.6|34.26|41|N|,Chattanooga|TN|US|-85.31|35.05|181|N|,Chattogram|chittagong|BD|91.83|22.34|3920|W|chittagong;cottogram;cattagram,Cheektowaga|NY|US|-78.75|42.9|75|N|,Chelmsford|MA|US|-71.37|42.6|33|N|,Chelsea|MA|US|-71.03|42.39|39|N|,Chelyabinsk|chelyabinsk|RU|61.43|55.16|1202|W|tsjeljabinsk;celeabinsk;celiabinsc;cheliabinsk;czelabinsk;tcheliabinsk;tjeljabinsk;tscheljabinsk;tseljabinsk;celyabinsk;celjabinsk,Chengdu|sichuan|CN|104.07|30.67|13568|W|thanh do;cengdu;ccheng tu,Chennai|tamil nadu|IN|80.28|13.09|4681|W|cennaj;cennai;madras,Chenzhou|hunan|CN|113.03|25.8|822|W|,Cheonan|chungcheongnam do|KR|127.15|36.81|658|W|cchonan,Cheongju-si|north chungcheong|KR|127.49|36.64|852|W|cheongju,Cherry Hill|NJ|US|-75.03|39.93|70|N|,Chesapeake|VA|US|-76.27|36.82|235|N|,Cheshire|CT|US|-72.9|41.5|29|N|,Chester|PA|US|-75.36|39.85|34|N|,Chesterfield|MO|US|-90.58|38.66|47|N|,Chestermere|AB|CA|-113.82|51.03|32|N|,Chetumal|MX23|MX|-88.3|18.52|169|N|,Cheyenne|WY|US|-104.82|41.14|65|N|,Chiapa de Corzo|MX05|MX|-93.01|16.71|45|N|,Chiba|chiba|JP|140.12|35.6|979|W|ciba,Chicago|IL|US|-87.65|41.85|2664|NW|sikago,Chicago Heights|IL|US|-87.64|41.51|30|N|,Chicago Lawn|IL|US|-87.7|41.78|55|N|,Chicago Loop|IL|US|-87.63|41.88|33|N|loop,Chiclayo|lambayeque|PE|-79.85|-6.77|609|W|,Chico|CA|US|-121.84|39.73|121|N|,Chicoloapan|MX15|MX|-98.9|19.42|172|N|san vicente chicoloapan,Chicopee|MA|US|-72.61|42.15|56|N|,Chicoutimi|QC|CA|-71.06|48.42|69|N|,Chihuahua|MX06|MX|-106.09|28.64|925|NW|chihuahua city;chihuahua by,Chilapa de Alvarez|MX12|MX|-99.17|17.6|31|N|,Chilliwack|BC|CA|-121.95|49.17|101|N|,Chilliwack-Downtown|BC|CA|-121.96|49.16|31|N|,Chillum|MD|US|-76.99|38.96|33|N|,Chilpancingo|MX12|MX|-99.5|17.55|187|N|chilpancingo de los bravo,Chinatown|CA|US|-122.41|37.8|100|N|,Chinatown|NY|US|-74|40.72|90|N|,Chino|CA|US|-117.69|34.01|85|N|,Chino Hills|CA|US|-117.76|33.99|78|N|,Chisinau|chisinau municipality|MD|28.86|47.01|635|W|kishinev;kiszyniow;kisinev,Chizhou|anhui|CN|117.48|30.66|615|W|,Cholula|MX21|MX|-98.3|19.06|292|N|cholula de rivadavia;san pedro cholula,Chomedey|QC|CA|-73.75|45.53|94|N|,Chongming||CN|121.7|31.62|637|W|,Chongqing|chongqing|CN|106.56|29.56|7457|W|trung khanh;tsjoengking;congcing;cchung cching,Chula Vista|CA|US|-117.08|32.64|265|N|,Chunian|punjab|PK|73.98|30.97|634|W|,Church-Yonge Corridor|ON|CA|-79.38|43.66|31|N|,Chuzhou|anhui|CN|118.3|32.32|782|W|cchu cou,Cibolo|TX|US|-98.23|29.56|33|N|,Cicero|IL|US|-87.75|41.85|83|N|,Cicero|NY|US|-76.12|43.18|31|N|,Cihuatlan|MX14|MX|-104.57|19.24|40|N|,Cimahi|west java|ID|107.54|-6.87|581|W|kota cimahi,Cincinnati|OH|US|-84.51|39.13|311|N|,Cintalapa de Figueroa|MX05|MX|-93.72|16.68|42|N|,Citrus Heights|CA|US|-121.28|38.71|87|N|,City of Milford (balance)|CT|US|-73.06|41.22|51|N|,City of Sammamish|WA|US|-122.04|47.6|45|N|,Ciudad Acuna|MX07|MX|-100.95|29.32|216|N|acuna,Ciudad Altamirano|MX12|MX|-100.67|18.36|25|N|,Ciudad Apodaca|MX19|MX|-100.19|25.78|467|N|apodaca,Ciudad Benito Juarez|MX19|MX|-100.09|25.65|308|N|,Ciudad Constitucion|MX03|MX|-111.66|25.03|40|N|,Ciudad de Allende|MX19|MX|-100.02|25.28|26|N|allende,Ciudad de Huajuapan de Leon|MX20|MX|-97.78|17.81|53|N|huajuapan;huajuapan de leon;huajuapam;huajuapam de leon,Ciudad de Villa de Alvarez|MX08|MX|-103.74|19.27|117|N|,Ciudad del Carmen|MX04|MX|-91.83|18.65|191|N|cd carmen;cd del carmen;carmen,Ciudad Delicias|MX06|MX|-105.47|28.19|148|N|akitakata;delicias,Ciudad Fernandez|MX24|MX|-100.01|21.94|32|N|,Ciudad General Escobedo|MX19|MX|-100.32|25.8|454|N|gral escobedo;general escobedo,Ciudad Guayana|bolivar|VE|-62.64|8.35|978|W|cidade guaiana;guayana,Ciudad Guzman|MX14|MX|-103.46|19.7|111|N|cd guzman,Ciudad Hidalgo|MX16|MX|-100.56|19.69|60|N|,Ciudad Juarez|MX06|MX|-106.46|31.72|1512|NW|juarez,Ciudad Lazaro Cardenas|MX16|MX|-102.2|17.96|196|N|lazaro cardenas,Ciudad Lopez Mateos|MX15|MX|-99.26|19.56|489|N|adolfo lopez mateos,Ciudad Madero|MX28|MX|-97.84|22.25|197|N|cd madero,Ciudad Mante|MX28|MX|-98.97|22.74|84|N|,Ciudad Melchor Muzquiz|MX07|MX|-101.52|27.88|35|N|,Ciudad Mendoza|MX30|MX|-97.18|18.81|35|N|,Ciudad Nezahualcoyotl|MX15|MX|-99.01|19.4|1077|NW|cd neza;cd nezahualcoyotl;ciudad neza;neza;nezahualcoyotl,Ciudad Obregon|MX26|MX|-109.94|27.49|329|N|cd obregon,Ciudad Rio Bravo|MX28|MX|-98.09|25.99|95|N|,Ciudad Sabinas Hidalgo|MX19|MX|-100.18|26.5|33|N|,Ciudad Sahagun|MX13|MX|-98.57|19.78|28|N|,Ciudad Valles|MX24|MX|-99.01|22|124|N|,Ciudad Victoria|MX28|MX|-99.14|23.74|332|N|cd victoria;victoria,Cixi|zhejiang|CN|121.25|30.18|1457|W|,Clairlea-Birchmount|ON|CA|-79.28|43.71|26|N|,Claremont|CA|US|-117.72|34.1|36|N|,Clarksville|TN|US|-87.36|36.53|166|N|,Clay|NY|US|-76.17|43.19|58|N|,Clearfield|UT|US|-112.03|41.11|30|N|,Clearwater|FL|US|-82.8|27.97|117|N|,Cleburne|TX|US|-97.39|32.35|30|N|,Clermont|FL|US|-81.77|28.55|32|N|,Cleveland|OH|US|-81.7|41.5|365|N|,Cleveland|TN|US|-84.88|35.16|43|N|,Cleveland Heights|OH|US|-81.56|41.52|44|N|,Clifton|NJ|US|-74.16|40.86|86|N|,Clifton Park|NY|US|-73.77|42.87|36|N|,Clinton|MD|US|-76.9|38.77|35|N|robeystown;surrats;surratsville;surratts;surrattsville,Clinton|IA|US|-90.19|41.84|26|N|,Clinton|MS|US|-90.32|32.34|25|N|,Clinton Township|MI|US|-82.92|42.59|99|N|,Cloverdale|BC|CA|-122.73|49.11|73|N|,Clovis|CA|US|-119.7|36.83|104|N|,Clovis|NM|US|-103.21|34.4|39|N|,Coacalco|MX15|MX|-99.11|19.63|277|N|coacalco de berriozaval;san francisco coacalco,Coachella|CA|US|-116.17|33.68|44|N|,Coatepec|MX30|MX|-96.96|19.45|53|N|,Coatzacoalcos|MX30|MX|-94.44|18.15|310|N|puerto mexico;port of mexico,Coatzintla|MX30|MX|-97.47|20.49|34|N|,Cobbs Creek|PA|US|-75.24|39.95|33|N|,Cochabamba|cochabamba|BO|-66.16|-17.38|841|W|,Cochrane|AB|CA|-114.47|51.18|32|N|,Coconut Creek|FL|US|-80.18|26.25|59|N|,Cocula|MX14|MX|-103.82|20.37|29|N|,Coeur d'Alene|ID|US|-116.78|47.68|49|N|,Coimbatore|tamil nadu|IN|76.97|11.01|2136|W|koimbatur,Colima|MX08|MX|-103.71|19.24|146|N|,College Park|MD|US|-76.94|38.98|32|N|,College Point|NY|US|-73.85|40.79|27|N|,College Station|TX|US|-96.33|30.63|107|N|,Colleyville|TX|US|-97.16|32.88|25|N|,Collierville|TN|US|-89.66|35.04|48|N|,Collinwood|OH|US|-81.57|41.56|34|N|,Colombo|western province|LK|79.85|6.94|648|W|kolombo,Colonia del Sol|MX03|MX|-109.93|22.91|48|N|,Colonia del Valle|MX09|MX|-99.16|19.39|250|N|col del valle;del valle,Colonia Lindavista|MX15|MX|-99.12|19.49|100|N|col lindavista;lindavista,Colonia Nativitas|MX09|MX|-99.14|19.38|60|N|col nativitas;nativitas,Colorado Springs|CO|US|-104.82|38.83|456|N|colorado spgs,Colton|CA|US|-117.31|34.07|54|N|,Columbia|SC|US|-81.03|34|142|N|,Columbia|MO|US|-92.33|38.95|129|N|,Columbia|MD|US|-76.84|39.24|99|N|,Columbia|TN|US|-87.04|35.62|36|N|,Columbia Heights|DC|US|-77.03|38.93|38|N|meridian hill;meridian hill heights,Columbus|OH|US|-83|39.96|913|NW|,Columbus|GA|US|-84.99|32.46|206|N|,Columbus|IN|US|-85.92|39.2|46|N|,Comalcalco|MX27|MX|-93.22|18.26|41|N|,Comilla|chittagong|BD|91.19|23.46|634|W|kumilla,Comitan|MX05|MX|-92.14|16.24|166|N|comitan de dominguez,Commack|NY|US|-73.29|40.84|36|N|,Commerce City|CO|US|-104.93|39.81|53|N|,Compton|CA|US|-118.22|33.9|98|N|,Conakry|conakry|GN|-13.68|9.54|1928|W|conacri;konakry,Conception Bay South|NL|CA|-53|47.5|27|N|,Concord|CA|US|-122.03|37.98|128|N|,Concord|NC|US|-80.58|35.41|87|N|,Concord|NH|US|-71.54|43.21|43|N|,Coney Island|NY|US|-73.99|40.58|60|N|coney adasi,Confederation|SK|CA|-106.7|52.14|70|N|,Conroe|TX|US|-95.46|30.31|68|N|,Contagem|minas gerais|BR|-44.05|-19.93|627|W|,Contla|MX29|MX|-98.17|19.33|27|N|,Conway|AR|US|-92.44|35.09|64|N|,Cookeville|TN|US|-85.5|36.16|32|N|,Coon Rapids|MN|US|-93.29|45.12|62|N|,Cooper City|FL|US|-80.27|26.06|35|N|,Copenhagen|capital region|DK|12.57|55.68|1153|W|copenaghen;copenhaga;copenhague;kodan;kopenhag;kopenhaga;kopenhagen;kopenhamn;koopenhamina;kobenhavn,Coppell|TX|US|-97.02|32.95|41|N|,Copperas Cove|TX|US|-97.9|31.12|33|N|,Coquitlam|BC|CA|-122.78|49.28|148|N|,Coquitlam West|BC|CA|-122.88|49.26|25|N|,Coral Gables|FL|US|-80.27|25.72|51|N|,Coral Springs|FL|US|-80.27|26.27|129|N|,Coram|NY|US|-73|40.87|39|N|,Cordoba|cordoba|AR|-64.19|-31.41|2106|W|ciudad de cordoba;cordova,Cordoba|MX30|MX|-96.93|18.88|204|N|,Cordova|TN|US|-89.78|35.16|68|N|,Core Neighbourhoods|SK|CA|-106.67|52.13|36|N|,Cornelius|NC|US|-80.86|35.49|28|N|,Cornwall|ON|CA|-74.73|45.02|48|N|,Corona|CA|US|-117.57|33.88|164|N|,Corona|NY|US|-73.86|40.75|109|N|,Corpus Christi|TX|US|-97.4|27.8|316|N|,Cortazar|MX11|MX|-100.96|20.48|61|N|,Corvallis|OR|US|-123.26|44.56|55|N|,Cosamaloapan|MX30|MX|-95.8|18.37|30|N|,Costa Mesa|CA|US|-117.92|33.64|113|N|,Cote-Saint-Luc|QC|CA|-73.67|45.47|31|N|,Cotonou|littoral|BJ|2.42|6.37|679|W|cotonu;kotonu,Cottage Grove|MN|US|-92.94|44.83|35|N|,Cottonwood Heights|UT|US|-111.81|40.62|34|N|,Council Bluffs|IA|US|-95.86|41.26|62|N|co bluffs,Country Club|FL|US|-80.32|25.95|47|N|,Courtenay|BC|CA|-124.99|49.69|28|N|,Coventry|RI|US|-71.68|41.7|35|N|,Covina|CA|US|-117.89|34.09|48|N|,Covington|KY|US|-84.51|39.08|40|N|,Coyoacan|MX09|MX|-99.16|19.35|614|NW|,Coyotepec|MX15|MX|-99.21|19.78|35|N|,Coyula|MX14|MX|-103.23|20.66|29|N|,Cozumel|MX23|MX|-86.94|20.5|77|N|san miguel de cozumel,Cranberry Township|PA|US|-80.11|40.68|28|N|,Cranston|RI|US|-71.44|41.78|81|N|,Crofton|MD|US|-76.69|39|27|N|,Crown Point|IN|US|-87.37|41.42|28|N|,Crystal Lake|IL|US|-88.32|42.24|40|N|,Cuauhtemoc|MX09|MX|-99.15|19.45|531|N|,Cuauhtemoc|MX06|MX|-106.87|28.41|168|N|,Cuautitlan|MX15|MX|-99.18|19.67|178|N|,Cuautitlan Izcalli|MX15|MX|-99.22|19.64|555|N|izcalli,Cuautla|MX17|MX|-98.94|18.81|157|N|,Cuautlancingo|MX21|MX|-98.27|19.09|25|N|san juan b cuautlancingo,Cucuta|norte de santander department|CO|-72.5|7.91|777|W|kukuta,Cuenca|azuay|EC|-79|-2.9|636|W|,Cuernavaca|MX17|MX|-99.23|18.93|338|N|,Cuiaba|mato grosso|BR|-56.1|-15.6|618|W|culaba,Culiacan|MX25|MX|-107.39|24.8|808|NW|,Culver City|CA|US|-118.4|34.02|39|N|,Cumberland|RI|US|-71.43|41.97|34|N|,Cupertino|CA|US|-122.03|37.32|60|N|,Curitiba|parana|BR|-49.27|-25.43|1948|W|kurytyba,Cutler Bay|FL|US|-80.34|25.58|45|N|cutler ridge,Cutler Ridge|FL|US|-80.35|25.58|26|N|,Cuttack|odisha|IN|85.88|20.46|610|W|,Cuyahoga Falls|OH|US|-81.48|41.13|49|N|,Cypress|TX|US|-95.7|29.97|200|N|,Cypress|CA|US|-118.04|33.82|49|N|,Cypress Hills|NY|US|-73.89|40.68|54|N|,Da Nang|da nang city|VN|108.22|16.07|1276|W|danang;thanh thai phien,Daegu|daegu|KR|128.59|35.87|2365|W|daegu si;taegu;tegu,Daejeon|daejeon|KR|127.38|36.35|1441|W|daejeon si;taejon,Dakar|dakar|SN|-17.44|14.69|2646|W|dacar,Dakota Ridge|CO|US|-105.14|39.62|33|N|,Dale City|VA|US|-77.31|38.64|65|N|,Dalian|liaoning|CN|121.6|38.91|4913|W|luta;luda,Dallas|TX|US|-96.81|32.78|1326|NW|,Dalton|GA|US|-84.97|34.77|33|N|,Daly City|CA|US|-122.46|37.71|106|N|,Damascus|damascus governorate|SY|36.29|33.51|1569|W|damasco;damas;damasc;damaskos;damaskus;damaszek;damasek;sam,Dammam|eastern province|SA|50.1|26.43|1252|W|ad dammam;ed dammam,Dana Point|CA|US|-117.7|33.47|34|N|,Danbury|CT|US|-73.45|41.39|84|N|,Dandong|liaoning|CN|124.39|40.13|631|W|dan dong;andong,Dania Beach|FL|US|-80.14|26.05|31|N|,Danvers|MA|US|-70.93|42.58|26|N|,Danville|CA|US|-122|37.82|44|N|,Danville|VA|US|-79.4|36.59|42|N|,Danville|IL|US|-87.63|40.12|32|N|,Daqing|heilongjiang|CN|125|46.58|1604|W|ta cching;taching,Dar es Salaam|dar es salaam region|TZ|39.27|-6.82|5383|W|dar es salam;daressalam;darusselam,Dartmouth|NS|CA|-63.58|44.67|101|N|darmouth,Datong|shanxi|CN|113.29|40.09|1850|W|ta tchung,Davao|davao region|PH|125.61|7.07|1848|W|davao city,Davenport|IA|US|-90.58|41.52|102|N|,Davie|FL|US|-80.23|26.06|100|N|,Davis|CA|US|-121.74|38.54|67|N|,Dayton|OH|US|-84.19|39.76|135|N|,Daytona Beach|FL|US|-81.02|29.21|72|N|daytona,Dazhou|sichuan|CN|107.46|31.21|1589|W|ta cou,Dearborn|MI|US|-83.18|42.32|95|N|,Dearborn Heights|MI|US|-83.27|42.34|56|N|,Decatur|IL|US|-88.95|39.84|73|N|,Decatur|AL|US|-86.98|34.61|55|N|,Deer Park|TX|US|-95.12|29.71|33|N|,Deer Park|NY|US|-73.33|40.76|27|N|,Deer Valley|AZ|US|-112.13|33.68|165|N|,Deerfield Beach|FL|US|-80.1|26.32|79|N|,DeKalb|IL|US|-88.75|41.93|43|N|,Del Rio|TX|US|-100.9|29.36|36|N|,DeLand|FL|US|-81.3|29.03|30|N|de land,Delano|CA|US|-119.25|35.77|52|N|,Delaware|OH|US|-83.07|40.3|37|N|,Delegacion Cuajimalpa de Morelos|MX09|MX|-99.29|19.37|160|N|cuajimalpa de morelos,Delhi|delhi|IN|77.23|28.65|11034|W|dilli;deli;sahdzahanabad,Delray Beach|FL|US|-80.07|26.46|66|N|del ray beach,Delta|BC|CA|-123.05|49.09|101|N|,Deltona|FL|US|-81.26|28.9|88|N|,Denpasar|bali|ID|115.22|-8.65|670|W|dempasar;dempassar;denpasar bali;kota denpasar,Denton|TX|US|-97.13|33.21|131|N|,Denver|CO|US|-104.98|39.74|729|NW|,Depok|west java|ID|106.82|-6.4|2163|W|kota depok,Dera Ismail Khan|khyber pakhtunkhwa|PK|70.9|31.83|763|W|,Derry Village|NH|US|-71.31|42.89|34|N|,Des Moines|IA|US|-93.61|41.6|214|N|,Des Moines|WA|US|-122.32|47.4|31|N|desmoines,Des Plaines|IL|US|-87.88|42.03|58|N|,Desert Hot Springs|CA|US|-116.5|33.96|28|N|,Desmarchais-Crawford|QC|CA|-73.58|45.45|29|N|,DeSoto|TX|US|-96.86|32.59|52|N|,Detroit|MI|US|-83.05|42.33|645|NW|,Deyang|sichuan|CN|104.38|31.13|735|W|te jang,Dezhou|shandong|CN|116.37|37.45|679|W|te cou,Dhaka|dhaka division|BD|90.41|23.71|10356|W|daca;dacca;dakka,Dhanbad|jharkhand|IN|86.43|23.8|1196|W|,Dharavi|maharashtra|IN|72.87|19.05|700|W|,Diamond Bar|CA|US|-117.81|34.03|56|N|,Dieppe|NB|CA|-64.69|46.08|27|N|,Dix Hills|NY|US|-73.34|40.8|26|N|,Diyarbakir|diyarbakir province|TR|40.22|37.91|1833|W|amida,Djibouti|djibouti|DJ|43.15|11.59|626|W|cibuti;dschibuti;dzibuti;gibuti;yibuti,Dnipro|dnipropetrovsk|UA|35.04|48.47|968|W|dniepr;dnjepropetrovsk;dnepropetrovsk;caterinoslavia;catherinoslav;dnipropetrovs k;dnipropetrovsk;dniproslav;katerynoslav;novorosiynsk;novyy kodak;sicheslav,Dodge City|KS|US|-100.02|37.75|27|N|,Dodoma|dodoma|TZ|35.74|-6.17|765|W|,Dollard-Des Ormeaux|QC|CA|-73.82|45.49|48|N|,Dolores Hidalgo|MX11|MX|-100.93|21.16|67|N|ciudad de dolores hidalgo,Dombivali|maharashtra|IN|73.08|19.22|1247|W|dombivli,Don Valley Village|ON|CA|-79.35|43.78|27|N|,Donetsk|donetsk|UA|37.8|48.02|901|W|donezk;donec k;donetk;donieck;doneck;dinetsk;dinetske;iuziv;iuzivka;iuzove;oleksandrivka;yuziv;yuzove,Dongguan|guangdong|CN|113.75|23.02|9644|W|,Dongying|shandong|CN|118.49|37.46|998|W|tung jing;dong dinh,Doral|FL|US|-80.36|25.82|75|N|,Dorchester|MA|US|-71.07|42.3|97|N|,Dorset Park|ON|CA|-79.28|43.75|25|N|,Dortmund|north rhine westphalia|DE|7.47|51.51|588|W|,Dothan|AL|US|-85.39|31.22|68|N|,Douala|littoral|CM|9.7|4.05|1338|W|duala,Douglasville|GA|US|-84.75|33.75|32|N|,Dover|DE|US|-75.52|39.16|39|N|,Dover|NH|US|-70.87|43.2|30|N|,Dovercourt-Wallace Emerson-Junction|ON|CA|-79.44|43.67|36|N|,Downers Grove|IL|US|-88.01|41.81|49|N|,Downey|CA|US|-118.13|33.94|114|N|,Downsview-Roding-CFB|ON|CA|-79.49|43.73|35|N|,Downtown DC|DC|US|-77.02|38.89|52|N|,Downtown Halifax|NS|CA|-63.58|44.65|25|N|,Downtown Vancouver|BC|CA|-123.12|49.28|62|N|,Dracut|MA|US|-71.3|42.67|28|N|,Draper|UT|US|-111.86|40.52|46|N|,Drexel Heights|AZ|US|-111.03|32.14|27|N|,Drexel Hill|PA|US|-75.29|39.95|28|N|,Drummondville|QC|CA|-72.48|45.88|59|N|,Dubai|dubai|AE|55.31|25.08|3790|W|dubai city;dubaj,Dublin|leinster|IE|-6.25|53.33|1024|W|dublin city;dublino,Dublin|CA|US|-121.94|37.7|57|N|,Dublin|OH|US|-83.11|40.1|45|N|,Dubuque|IA|US|-90.66|42.5|58|N|,Duesseldorf|north rhine westphalia|DE|6.78|51.22|618|W|dusseldorf,Duluth|MN|US|-92.11|46.78|86|N|,Duluth|GA|US|-84.14|34|29|N|,Duncanville|TX|US|-96.91|32.65|39|N|,Dundalk|MD|US|-76.52|39.25|63|N|,Dunedin|FL|US|-82.77|28.02|36|N|,Dunwoody|GA|US|-84.33|33.95|48|N|,Duque de Caxias|rio de janeiro|BR|-43.31|-22.79|866|W|,Durban|kwazulu natal|ZA|31.03|-29.86|3338|W|port natal,Durham|NC|US|-78.9|35.99|257|N|,Dushanbe|dushanbe|TJ|68.78|38.54|679|W|doesjanbe;douchanbe;duschanbe;dusjanbe;duszanbe;dusanbe,Duvernay|QC|CA|-73.67|45.58|37|N|,Dyker Heights|NY|US|-74.01|40.62|34|N|,E'zhou|hubei|CN|114.89|30.4|668|W|ezhou;wuchang,Eagan|MN|US|-93.17|44.8|66|N|,Eagle Mountain|UT|US|-112.01|40.31|27|N|,Eagle Pass|TX|US|-100.5|28.71|28|N|,East Boston|MA|US|-71.04|42.38|43|N|,East Brunswick|NJ|US|-74.42|40.43|48|N|e brunswick;east brunswick township,East Chattanooga|TN|US|-85.25|35.07|154|N|,East Chicago|IN|US|-87.45|41.64|28|N|,East Concord|NH|US|-71.54|43.24|42|N|,East Flatbush|NY|US|-73.93|40.65|178|N|,East Florence|AL|US|-87.65|34.81|35|N|,East Hampton|VA|US|-76.33|37.04|147|N|,East Harlem|NY|US|-73.94|40.79|115|N|harlem del este,East Hartford|CT|US|-72.61|41.78|51|N|,East Hastings|BC|CA|-123.06|49.27|80|N|,East Haven|CT|US|-72.87|41.28|29|N|,East Hill-Meridian|WA|US|-122.17|47.41|29|N|,East Honolulu|HI|US|-157.72|21.29|49|N|,East Independence|MO|US|-94.36|39.1|110|N|,East Lake|FL|US|-82.69|28.11|30|N|,East Lansing|MI|US|-84.48|42.74|48|N|,East Los Angeles|CA|US|-118.17|34.02|126|N|dogu los angeles;este de los angeles,East Meadow|NY|US|-73.56|40.71|38|N|,East New York|NY|US|-73.88|40.67|173|N|,East Norwalk|CT|US|-73.4|41.11|84|N|,East Orange|NJ|US|-74.2|40.77|64|N|,East Palo Alto|CA|US|-122.14|37.47|29|N|palo alto timur,East Pensacola Heights|FL|US|-87.18|30.43|54|N|,East Point|GA|US|-84.44|33.68|35|N|,East Providence|RI|US|-71.37|41.81|47|N|dong providence,East Saint Louis|IL|US|-90.15|38.62|27|N|,East Village|NY|US|-73.99|40.73|62|N|,Easton|PA|US|-75.22|40.69|26|N|,Eastpointe|MI|US|-82.96|42.47|32|N|,Eastvale|CA|US|-117.56|33.96|59|N|,Eau Claire|WI|US|-91.5|44.81|67|N|,Ecatepec de Morelos|MX15|MX|-99.06|19.6|1645|NW|ecatepec,Echo Park|CA|US|-118.26|34.08|43|N|,Eden Prairie|MN|US|-93.47|44.85|63|N|,Edgewater|IL|US|-87.66|41.98|54|N|,Edgewood|MD|US|-76.29|39.42|25|N|,Edina|MN|US|-93.35|44.89|50|N|,Edinburg|TX|US|-98.16|26.3|84|N|,Edison|NJ|US|-74.41|40.52|102|N|gmina edison,Edmond|OK|US|-97.48|35.65|90|N|,Edmonds|WA|US|-122.38|47.81|41|N|,Edmonton|AB|CA|-113.47|53.55|1010|NW|,Edogawe|tokyo|JP|139.87|35.69|697|W|edogawa city,Egypt Lake-Leto|FL|US|-82.51|28.02|35|N|,El Cajon|CA|US|-116.96|32.79|103|N|,El Centro|CA|US|-115.56|32.79|43|N|,El Dorado Hills|CA|US|-121.08|38.69|42|N|,El Mirage|AZ|US|-112.32|33.61|33|N|,El Monte|CA|US|-118.03|34.07|116|N|,El Paso|TX|US|-106.49|31.76|678|NW|,El Pueblito|MX22|MX|-100.44|20.54|71|N|corregidora,Eldersburg|MD|US|-76.95|39.4|30|N|eldersburgh,Elgin|IL|US|-88.28|42.04|112|N|,Elizabeth|NJ|US|-74.21|40.66|129|N|,Elizabethtown|KY|US|-85.86|37.69|29|N|,Elk Grove|CA|US|-121.37|38.41|166|N|,Elk Grove Village|IL|US|-87.97|42|33|N|,Elkhart|IN|US|-85.98|41.68|52|N|,Ellendale|TN|US|-89.83|35.23|25|N|,Ellicott City|MD|US|-76.8|39.27|65|N|,Elmhurst|NY|US|-73.88|40.74|113|N|,Elmhurst|IL|US|-87.94|41.9|45|N|,Elmira|NY|US|-76.81|42.09|28|N|,Elmont|NY|US|-73.71|40.7|33|N|,Elyria|OH|US|-82.11|41.37|53|N|,Emiliano Zapata|MX17|MX|-99.18|18.84|49|N|,Emiliano Zapata|MX15|MX|-98.97|19.34|25|N|,Empalme|MX26|MX|-110.81|27.96|42|N|,Encanto|AZ|US|-112.08|33.48|54|N|,Encarnacion de Diaz|MX14|MX|-102.24|21.53|25|N|la chona,Enchanted Hills|NM|US|-106.59|35.34|87|N|,Encinitas|CA|US|-117.29|33.04|62|N|,Encino|CA|US|-118.5|34.16|44|N|,Enfield|CT|US|-72.59|41.98|45|N|,Englewood|CO|US|-104.99|39.65|33|N|new dawn rejuvenation,Englewood|NJ|US|-73.97|40.89|28|N|,Englewood|IL|US|-87.65|41.78|26|N|,Enid|OK|US|-97.88|36.4|51|N|,Ensenada|MX02|MX|-116.6|31.87|443|N|enseada,Enterprise|NV|US|-115.24|36.03|108|N|,Enterprise|AL|US|-85.86|31.32|27|N|,Enugu|enugu state|NG|7.5|6.44|950|W|,Erbil|erbil|IQ|44.01|36.19|1612|W|arbil;hawler;irbil,Erie|PA|US|-80.09|42.13|99|N|,Erzurum|erzurum|TR|41.28|39.91|767|W|,Escarcega|MX04|MX|-90.75|18.61|29|N|,Escondido|CA|US|-117.09|33.12|151|N|,Escuinapa de Hidalgo|MX25|MX|-105.78|22.83|30|N|,Esenyurt|istanbul|TR|28.68|41.03|983|W|,Eskisehir|eskisehir|TR|30.52|39.78|921|W|,Esperanza|MX26|MX|-109.93|27.58|38|N|,Essen|north rhine westphalia|DE|7.01|51.46|593|W|,Essex|MD|US|-76.47|39.31|39|N|,Estero|FL|US|-81.81|26.44|30|N|,Etobicoke|ON|CA|-79.57|43.64|365|N|,Euclid|OH|US|-81.53|41.59|47|N|,Eugene|OR|US|-123.09|44.05|176|N|,Euless|TX|US|-97.08|32.84|54|N|,Eureka|CA|US|-124.16|40.8|27|N|,Evans|GA|US|-82.13|33.53|29|N|,Evanston|IL|US|-87.69|42.04|75|N|,Evansville|IN|US|-87.56|37.97|119|N|,Evaton|gauteng|ZA|27.85|-26.53|725|W|,Everett|WA|US|-122.2|47.98|108|N|,Everett|MA|US|-71.05|42.41|46|N|,'Ewa Gentry-West Loch|HI|US|-158.03|21.35|35|N|,Ewing|NJ|US|-74.8|40.27|36|N|,Fair Lawn|NJ|US|-74.13|40.94|33|N|,Fair Oaks|CA|US|-121.27|38.64|30|N|,Fairbanks|AK|US|-147.72|64.84|32|N|,Fairborn|OH|US|-84.02|39.82|33|N|,Fairfield|CA|US|-122.04|38.25|112|N|,Fairfield|CT|US|-73.26|41.14|59|N|,Fairfield|OH|US|-84.56|39.35|42|N|,Fairview|BC|CA|-123.13|49.26|33|N|,Faisalabad|punjab|PK|73.09|31.42|3800|W|fajsalabad;lyallpur,Fall River|MA|US|-71.16|41.7|94|N|,Fallbrook|CA|US|-117.25|33.38|30|N|,Fallingbrook|ON|CA|-75.48|45.48|25|N|,Far Rockaway|NY|US|-73.76|40.61|39|N|,Fargo|ND|US|-96.79|46.88|118|N|,Faridabad|haryana|IN|77.31|28.41|1414|W|,Farmers Branch|TX|US|-96.9|32.93|32|N|,Farmington|NM|US|-108.22|36.73|42|N|,Farmington|CT|US|-72.83|41.72|25|N|,Farmington Hills|MI|US|-83.38|42.49|81|N|,Fayetteville|NC|US|-78.88|35.05|201|N|,Fayetteville|AR|US|-94.16|36.06|82|N|,Federal Way|WA|US|-122.31|47.32|95|N|,Feira de Santana|bahia|BR|-38.97|-12.27|616|W|,Felipe Carrillo Puerto|MX23|MX|-88.05|19.58|25|N|,Fengxiang|shanghai|CN|121.47|30.86|1140|W|,Fenway/Kenmore|MA|US|-71.1|42.34|37|N|,Ferry Pass|FL|US|-87.21|30.51|28|N|,Fes|fes meknes|MA|-5|34.03|1191|W|fez,Financial District|NY|US|-74.01|40.71|60|N|,Findlay|OH|US|-83.65|41.04|41|N|,Fishers|IN|US|-86.01|39.96|76|N|,Fitchburg|MA|US|-71.8|42.58|40|N|,Fitchburg|WI|US|-89.47|42.96|27|N|,Flagami|FL|US|-80.32|25.76|50|N|,Flagstaff|AZ|US|-111.65|35.2|70|N|,Flatbush|NY|US|-73.96|40.65|93|N|,Flatlands|NY|US|-73.93|40.62|63|N|,Fleetwood|BC|CA|-122.8|49.17|65|N|,Fleming Island|FL|US|-81.72|30.09|27|N|,Flint|MI|US|-83.69|43.01|98|N|,Florence|AL|US|-87.68|34.8|40|N|,Florence|SC|US|-79.76|34.2|38|N|,Florence|KY|US|-84.63|39|32|N|,Florence|AZ|US|-111.39|33.03|31|N|,Florence-Graham|CA|US|-118.24|33.97|63|N|,Florin|CA|US|-121.41|38.5|47|N|,Florissant|MO|US|-90.32|38.79|52|N|,Flower Mound|TX|US|-97.1|33.01|71|N|,Folsom|CA|US|-121.18|38.68|76|N|,Fond du Lac|WI|US|-88.44|43.77|42|N|,Fontana|CA|US|-117.44|34.09|212|N|,Foothill Farms|CA|US|-121.35|38.68|33|N|,Fordham|NY|US|-73.9|40.86|94|N|,Forest Hills|NY|US|-73.85|40.72|67|N|,Forest Hills|MI|US|-85.49|42.96|25|N|,Fort Bragg|NC|US|-79.01|35.14|29|N|phao dai bragg;fort liberty,Fort Cavazos|TX|US|-97.78|31.13|29|N|,Fort Collins|CO|US|-105.08|40.59|170|N|ft collins,Fort Erie|ON|CA|-78.93|42.9|30|N|,Fort Garry South|MB|CA|-97.16|49.79|65|N|,Fort Hamilton|NY|US|-74.03|40.62|28|N|,Fort Lauderdale|FL|US|-80.14|26.12|183|N|,Fort Lee|NJ|US|-73.97|40.85|36|N|,Fort McMurray|AB|CA|-111.38|56.73|66|N|,Fort Myers|FL|US|-81.84|26.62|74|N|,Fort Pierce|FL|US|-80.33|27.45|44|N|ft pierce,Fort Smith|AR|US|-94.4|35.39|88|N|,Fort Wayne|IN|US|-85.13|41.13|260|N|,Fort Worth|TX|US|-97.32|32.73|1008|NW|ft worth,Fortaleza|ceara|BR|-38.54|-3.72|2400|W|,Fortuna Foothills|AZ|US|-114.41|32.66|26|N|,Foshan|guangdong|CN|113.13|23.03|9042|W|fo san,Foster City|CA|US|-122.27|37.56|33|N|,Fountain|CO|US|-104.7|38.68|27|N|,Fountain Valley|CA|US|-117.95|33.71|56|N|,Fountainebleau|FL|US|-80.35|25.77|59|N|fountainbleau,Four Corners|FL|US|-81.65|28.33|26|N|,Fraccionamiento Real Palmas|MX19|MX|-100.16|25.9|34|N|,Framingham|MA|US|-71.42|42.28|68|N|,Framingham Center|MA|US|-71.44|42.3|65|N|,Francisco I. Madero|MX07|MX|-103.27|25.77|26|N|,Frankfort|KY|US|-84.87|38.2|28|N|,Frankfurt am Main|hesse|DE|8.68|50.12|650|W|francfort sur le main;francoforte sul meno;francfort del meno;francfort;francoforte;frankfurt;frankfurt nad menem;frankfurt nad mohanem;franckfurt,Franklin|TN|US|-86.87|35.93|72|N|,Franklin|WI|US|-88.04|42.89|36|N|,Franklin|MA|US|-71.4|42.08|30|N|,Franklin Square|NY|US|-73.68|40.71|29|N|,Fraser Heights|BC|CA|-122.78|49.2|25|N|,Frederick|MD|US|-77.41|39.41|69|N|,Fredericksburg|VA|US|-77.46|38.3|28|N|,Fredericton|NB|CA|-66.67|45.95|63|N|,Fredericton Northside|NB|CA|-66.64|45.98|28|N|northside fredericton,Freeport|NY|US|-73.58|40.66|43|N|,Freetown|western area|SL|-13.24|8.49|802|W|,Fremont|CA|US|-121.99|37.55|232|N|,Fremont|NE|US|-96.5|41.43|26|N|,Fresh Meadows|NY|US|-73.79|40.73|28|N|,Fresnillo|MX32|MX|-102.87|23.17|143|N|,Fresno|CA|US|-119.77|36.75|542|N|,Fridley|MN|US|-93.26|45.09|27|N|,Friendswood|TX|US|-95.2|29.53|38|N|,Frisco|TX|US|-96.82|33.15|154|N|,Frontera|MX07|MX|-101.45|26.93|69|N|ciudad frontera,Fruit Cove|FL|US|-81.64|30.11|29|N|,Fuentes del Valle|MX15|MX|-99.14|19.63|74|N|,Fukuoka|fukuoka|JP|130.42|33.6|1612|W|fukuoka shi;fukuokashi,Fullerton|CA|US|-117.93|33.87|140|N|,Fushun|liaoning|CN|123.94|41.89|1400|W|fu sun,Fuxin|liaoning|CN|121.66|42.02|689|W|fu sin,Fuyang|anhui|CN|115.82|32.9|1768|W|fu jang,Fuzhou|fujian|CN|119.31|26.06|3740|W|fu cou;fucheu;phuc chau,Fuzhou|jiangxi|CN|116.33|27.96|1089|W|fu cou,Gabriel Leyva Solano|MX25|MX|-108.64|25.66|27|N|benito juarez;leyva solano,Gadsden|AL|US|-86.01|34.01|36|N|,Gage Park|IL|US|-87.7|41.8|41|N|,Gahanna|OH|US|-82.88|40.02|34|N|,Gainesville|FL|US|-82.32|29.65|145|N|,Gainesville|GA|US|-83.82|34.3|38|N|,Gaithersburg|MD|US|-77.2|39.14|67|N|,Galesburg|IL|US|-90.37|40.95|31|N|,Gallatin|TN|US|-86.45|36.39|34|N|,Galt|CA|US|-121.3|38.25|25|N|,Galveston|TX|US|-94.8|29.3|50|N|,Ganzhou|jiangxi|CN|114.93|25.85|1977|W|cam chau;kan cou,Garcia|MX19|MX|-100.59|25.8|93|N|,Garden City|KS|US|-100.87|37.97|27|N|,Garden City|MI|US|-83.33|42.33|26|N|,Garden Grove|CA|US|-117.94|33.77|175|N|,Gardena|CA|US|-118.31|33.89|60|N|,Garfield|NJ|US|-74.11|40.88|31|N|,Garfield Heights|OH|US|-81.61|41.42|28|N|garfield hts,Garland|TX|US|-96.64|32.91|236|N|,Garner|NC|US|-78.61|35.71|28|N|,Gary|IN|US|-87.35|41.59|77|N|,Gastonia|NC|US|-81.19|35.26|74|N|,Gatineau|QC|CA|-75.7|45.48|300|N|,Gaziantep|gaziantep|TR|37.38|37.06|2222|W|,Gazipur|dhaka division|BD|90.42|24|2674|W|,General Santos|soccsksargen|PH|125.17|6.11|722|W|kota general santos,Genoa|liguria|IT|8.94|44.4|580|W|genova;cenova;genua;genes;janov,Georgetown|TX|US|-97.68|30.63|63|N|,Georgetown|ON|CA|-79.92|43.65|44|N|,Georgetown|KY|US|-84.56|38.21|32|N|,Germantown|MD|US|-77.27|39.17|86|N|,Germantown|TN|US|-89.81|35.09|39|N|,Ghaziabad|uttar pradesh|IN|77.44|28.67|1199|W|gaziabade,Gilbert|AZ|US|-111.79|33.35|247|N|,Gillette|WY|US|-105.5|44.29|32|N|,Gilroy|CA|US|-121.57|37.01|53|N|,Giza|giza|EG|31.21|30.01|4367|W|gizeh;gize;guiza,Gladstone|MO|US|-94.55|39.2|26|N|,Glasgow|scotland|GB|-4.26|55.87|626|W|,Glastonbury|CT|US|-72.61|41.71|31|N|,Glen Burnie|MD|US|-76.62|39.16|67|N|,Glen Cove|NY|US|-73.63|40.86|27|N|,Glen Ellyn|IL|US|-88.07|41.88|28|N|,Glendale|AZ|US|-112.19|33.54|240|N|,Glendale|CA|US|-118.26|34.14|201|N|,Glendale|NY|US|-73.89|40.7|34|N|,Glendale Heights|IL|US|-88.06|41.91|34|N|,Glendora|CA|US|-117.87|34.14|52|N|,Glenfield-Jane Heights|ON|CA|-79.51|43.75|30|N|,Glenview|IL|US|-87.79|42.07|47|N|,Glenville|NY|US|-74.05|42.93|29|N|,Gloucester|ON|CA|-75.63|45.35|150|N|,Gloucester|MA|US|-70.66|42.61|29|N|,Goiania|goias|BR|-49.25|-16.68|1536|W|,Gold Coast|queensland|AU|153.43|-28|640|W|costa dorada;gold,Golden Glades|FL|US|-80.2|25.91|33|N|,Goldsboro|NC|US|-77.99|35.38|35|N|,Goleta|CA|US|-119.83|34.44|30|N|goelette;kuunari;schoener;schoner;schooner;skonert;skonnert;szkuner,Golfe|luanda|AO|13.26|-8.87|655|W|,Gomez Palacio|MX10|MX|-103.5|25.57|257|N|,Goodyear|AZ|US|-112.36|33.44|79|N|,Goose Creek|SC|US|-80.03|32.98|40|N|,Gorakhpur|haryana|IN|75.67|29.45|1324|W|,Gorakhpur|uttar pradesh|IN|83.37|26.77|674|W|,Goshen|IN|US|-85.83|41.58|32|N|,Gothenburg|vastra gotaland|SE|11.97|57.71|608|W|goteborg;gotemburgo;gotenburg;gothembourg,Goyang-si|gyeonggi do|KR|126.83|37.66|1061|W|goyang,Gqeberha|eastern cape|ZA|25.61|-33.96|1050|W|port elizabeth;porto elizabeth;puerto elizabeth,Gramercy Park|NY|US|-73.99|40.74|27|N|,Granby|QC|CA|-72.73|45.4|66|N|,Grand Forks|ND|US|-97.03|47.93|57|N|,Grand Island|NE|US|-98.34|40.93|51|N|,Grand Junction|CO|US|-108.55|39.06|60|N|,Grand Prairie|TX|US|-97|32.75|187|N|,Grand Rapids|MI|US|-85.67|42.96|195|N|,Grande Prairie|AB|CA|-118.8|55.17|70|N|,Grandview|MO|US|-94.53|38.89|25|N|,Grandview-Woodlands|BC|CA|-123.07|49.28|29|N|,Granger|IN|US|-86.11|41.75|30|N|,Granite City|IL|US|-90.15|38.7|29|N|,Grants Pass|OR|US|-123.33|42.44|37|N|,Grapevine|TX|US|-97.08|32.93|51|N|,Gravesend|NY|US|-73.97|40.6|112|N|,Great Falls|MT|US|-111.3|47.5|59|N|,Greater Grand Crossing|IL|US|-87.61|41.76|32|N|,Greater Sudbury|ON|CA|-80.99|46.49|166|N|sudbury;gran sudbury;grand sudbury,Greeley|CO|US|-104.71|40.42|108|N|,Green|OH|US|-81.48|40.95|25|N|,Green Bay|WI|US|-88.02|44.52|105|N|,Greenacres City|FL|US|-80.13|26.62|32|N|,Greenburgh|NY|US|-73.84|41.03|86|N|,Greenfield|WI|US|-88.01|42.96|37|N|,Greenpoint|NY|US|-73.95|40.72|34|N|,Greensboro|NC|US|-79.79|36.07|285|N|,Greenville|NC|US|-77.37|35.61|90|N|,Greenville|SC|US|-82.39|34.85|64|N|,Greenville|MS|US|-91.06|33.41|32|N|,Greenville|TX|US|-96.11|33.14|26|N|,Greenwood|IN|US|-86.11|39.61|55|N|,Greer|SC|US|-82.23|34.94|28|N|,Gresham|OR|US|-122.43|45.5|110|N|,Grimsby|ON|CA|-79.57|43.2|27|N|,Grove City|OH|US|-83.09|39.88|39|N|,Guadalajara|MX14|MX|-103.35|20.68|1385|NW|,Guadalupe|MX19|MX|-100.26|25.68|673|NW|ciudad guadalupe;villa de guadalupe,Guadalupe|MX32|MX|-102.52|22.75|170|N|,Guamuchil|MX25|MX|-108.08|25.46|72|N|,Guanajuato|MX11|MX|-101.26|21.02|72|N|guanajuato city,Guang'an|sichuan|CN|106.64|30.47|858|W|,Guangzhou|guangdong|CN|113.25|23.12|16096|W|canton;cantao;kanton;koshu,Guankou|hunan|CN|113.63|28.16|1380|W|,Guarulhos|sao paulo|BR|-46.53|-23.46|1345|W|,Guasave|MX25|MX|-108.47|25.57|71|N|,Guatemala City|guatemala|GT|-90.51|14.64|994|W|citta del guatemala;ciudad de guatemala;guatemala;guatemala stadt;guate;cidade da guatemala;ciudad guatemala;guatemala by;guatemala stad;gwatemala;new guatemala;nueva guatemala;santiago de guatimala,Guayaquil|guayas|EC|-79.89|-2.2|2723|W|guaiaquil,Guelph|ON|CA|-80.26|43.55|143|N|,Guigang|guangxi|CN|109.59|23.12|1086|W|kuej kang,Guildford|BC|CA|-122.8|49.19|64|N|,Guilin|guangxi|CN|110.3|25.28|1572|W|kuej lin,Guiyang|guizhou|CN|106.72|26.58|3037|W|kuej jang;quy duong,Gujranwala|punjab|PK|74.19|32.16|2511|W|gudzranwala;gudzranvala,Gulfport|MS|US|-89.09|30.37|71|N|,Guntur|andhra pradesh|IN|80.46|16.3|670|W|gunturu,Gurnee|IL|US|-87.9|42.37|31|N|,Gurugram|haryana|IN|77.03|28.46|886|W|gurgaon,Gustavo Adolfo Madero|MX09|MX|-99.11|19.49|1185|NW|gustavo a madero,Guwahati|assam|IN|91.75|26.18|962|W|gauhati,Gwalior|madhya pradesh|IN|78.17|26.23|1054|W|,Gwangju|gwangju|KR|126.92|35.15|1401|W|gwangju si;kwangdzu;kwangju,Gwynn Oak|MD|US|-76.69|39.33|47|N|,Ha'il|ha il region|SA|41.69|27.52|605|W|hail,Hachioji|tokyo|JP|139.32|35.66|579|W|hachiouji,Hacienda Heights|CA|US|-117.97|33.99|54|N|,Hacienda Santa Fe|MX14|MX|-103.38|20.52|86|N|,Hackensack|NJ|US|-74.04|40.89|44|N|,Hagerstown|MD|US|-77.72|39.64|40|N|,Haikou|hainan|CN|110.35|20.03|2873|W|chaj kchou,Haiphong|hai phong|VN|106.68|20.86|2625|W|hai phong;hajfong,Halifax|NS|CA|-63.58|44.64|471|N|,Hallandale Beach|FL|US|-80.15|25.98|39|N|hallandale,Haltom City|TX|US|-97.27|32.8|44|N|,Halton Hills|ON|CA|-79.93|43.64|62|N|,Hamamatsu|shizuoka|JP|137.73|34.7|791|W|hamamacu;hamamatsu city;hamamatsu shi,Hamburg|hamburg|DE|9.99|53.55|1973|W|hamburgo;amburgo;hamborg;hambourg;hamburk;hampuri,Hamden|CT|US|-72.9|41.4|59|N|,Hamilton|ON|CA|-79.85|43.25|569|N|,Hamilton|OH|US|-84.56|39.4|62|N|,Hammond|IN|US|-87.5|41.58|77|N|,Hampton|VA|US|-76.35|37.03|137|N|,Handan|hebei|CN|114.49|36.61|1358|W|chan tan;ham dan,Hanford|CA|US|-119.65|36.33|55|N|,Hangzhou|zhejiang|CN|120.16|30.29|9236|W|chang cou;hang chau,Hanoi|hanoi|VN|105.84|21.02|8053|W|hanoj;kecho;kescio;thang long,Hanover|MD|US|-76.72|39.19|38|N|,Hanover Park|IL|US|-88.15|42|38|N|,Hanzhong|shaanxi|CN|107.02|33.08|1006|W|chan cung;han trung,Harare|harare|ZW|31.05|-17.83|1542|W|,Harbin|heilongjiang|CN|126.65|45.75|5242|W|charbin;cap nhi tan,Harker Heights|TX|US|-97.66|31.08|29|N|,Harlem|NY|US|-73.95|40.81|116|N|,Harlingen|TX|US|-97.7|26.19|65|N|,Harrisburg|PA|US|-76.88|40.27|50|N|,Harrison|NY|US|-73.71|40.97|28|N|,Harrisonburg|VA|US|-78.87|38.45|52|N|,Hartford|CT|US|-72.69|41.76|121|N|,Harvey|IL|US|-87.65|41.61|25|N|,Hastings-Sunrise|BC|CA|-123.03|49.28|34|N|,Hattiesburg|MS|US|-89.29|31.33|46|N|,Havana|havana|CU|-82.38|23.13|2163|W|havanna;hawana;l avana;la habana;la havane,Haverhill|MA|US|-71.08|42.78|62|N|,Havertown|PA|US|-75.31|39.98|50|N|,Hawai'i Kai|HI|US|-157.7|21.3|30|N|,Hawthorne|CA|US|-118.35|33.92|88|N|,Hayward|CA|US|-122.08|37.67|158|N|,Hazelwood|MO|US|-90.37|38.77|25|N|,Hebi|henan|CN|114.29|35.73|634|W|che pi,Hefei|anhui|CN|117.28|31.86|5050|W|che fej,Hegang|heilongjiang|CN|130.29|47.35|743|W|che kang,Helena|MT|US|-112.04|46.59|32|N|,Hell's Kitchen|NY|US|-73.99|40.76|45|N|la cocina del infierno;midtown west,Helsinki|uusimaa|FI|24.94|60.17|658|W|helsingfors;helsinky;helsinquia;khel sinki,Hemet|CA|US|-116.97|33.75|83|N|,Hempstead|NY|US|-73.62|40.71|55|N|,Henderson|NV|US|-114.98|36.04|285|N|,Henderson|KY|US|-87.59|37.84|28|N|,Hendersonville|TN|US|-86.62|36.3|56|N|,Hengyang|hunan|CN|112.62|26.89|1075|W|cheng jang;hanh duong,Henrietta|NY|US|-77.61|43.06|42|N|,Hercules|CA|US|-122.29|38.02|25|N|,Hermitage|TN|US|-86.62|36.2|37|N|,Hermosillo|MX26|MX|-110.97|29.09|812|NW|,Heroica Caborca|MX26|MX|-112.16|30.72|59|N|caborca,Heroica Ciudad de Juchitan de Zaragoza|MX20|MX|-95.02|16.43|88|N|juchitan de zaragoza;juchitan,Heroica Guaymas|MX26|MX|-110.9|27.92|117|N|guaymas,Heroica Matamoros|MX28|MX|-97.5|25.88|510|N|matamoros,Heroica Zitacuaro|MX16|MX|-100.36|19.44|84|N|,Herriman|UT|US|-112.03|40.51|30|N|,Heshan|hunan|CN|112.35|28.57|1249|W|,Hesperia|CA|US|-117.3|34.43|93|N|,Heze|shandong|CN|115.47|35.24|1346|W|che ce,Hezhou|guangxi|CN|111.57|24.4|1005|W|che cou,Hialeah|FL|US|-80.28|25.86|237|N|,Hickory|NC|US|-81.34|35.73|40|N|,Hicksville|NY|US|-73.53|40.77|41|N|,Hidalgo del Parral|MX06|MX|-105.67|26.93|104|N|parral,High Point|NC|US|-80.01|35.96|110|N|,Highland|CA|US|-117.21|34.13|54|N|,Highland Park|IL|US|-87.8|42.18|29|N|,Highlands Ranch|CO|US|-104.97|39.55|96|N|,Hilliard|OH|US|-83.16|40.03|33|N|,Hillsboro|OR|US|-122.99|45.52|102|N|,Hillsborough|NJ|US|-74.63|40.48|38|N|,Hilo|HI|US|-155.09|19.73|43|N|baie de hilo,Hilton Head|SC|US|-80.75|32.22|37|N|hilton head island,Hilton Head Island|SC|US|-80.74|32.19|40|N|ile de hilton head,Hinesville|GA|US|-81.6|31.85|33|N|,Hiroshima|hiroshima|JP|132.45|34.4|1200|W|hiroshima shi;hiroshimashi;hiroszima;hiroxima;hirosima,Hlaingthaya|yangon|MM|96.07|16.85|687|W|,Ho Chi Minh City|ho chi minh city hcmc|VN|106.63|10.82|14002|W|ho chi minh stadt;ho chi minh ville;hcmv;tphcm;cidade de ho chi minh;ciudad ho chi minh;ho chi minh;ho chi minh byen;ho chi minh staden;ho chi minhstad;ho ci minovo mesto;saigon;sai gon,Hobart|IN|US|-87.26|41.53|28|N|,Hobbs|NM|US|-103.14|32.7|38|N|,Hoboken|NJ|US|-74.03|40.74|53|N|,Hoffman Estates|IL|US|-88.08|42.04|52|N|,Hohhot|inner mongolia|CN|111.65|40.81|2350|W|choch chot;huhhot;kweisui,Hoji ya Henda|luanda|AO|13.29|-8.81|642|W|,Holbrook|NY|US|-73.08|40.81|27|N|,Holladay|UT|US|-111.82|40.67|30|N|,Holland|MI|US|-86.11|42.79|33|N|,Hollister|CA|US|-121.4|36.85|37|N|,Holly Springs|NC|US|-78.83|35.65|31|N|,Hollywood|CA|US|-118.33|34.1|167|N|,Hollywood|FL|US|-80.15|26.01|149|N|,Holmesburg|PA|US|-75.03|40.04|28|N|,Holyoke|MA|US|-72.62|42.2|40|N|,Homestead|FL|US|-80.48|25.47|80|N|,Homewood|AL|US|-86.8|33.47|25|N|,Homs|homs|SY|36.73|34.72|775|W|hims;hums;humus,Honcho|chiba|JP|139.99|35.7|644|W|funabashi,Hong Kong||HK|114.17|22.28|7396|W|hongkong;victoria,Hong Kong Island||HK|114.18|22.26|1195|W|hong kong,Hongkou|shanghai|CN|121.49|31.25|687|W|,Honolulu|HI|US|-157.86|21.31|350|N|,Hoover|AL|US|-86.81|33.41|84|N|,Hopkinsville|KY|US|-87.49|36.87|32|N|,Horn Lake|MS|US|-90.03|34.96|26|N|,Hot Springs|AR|US|-93.06|34.5|35|N|,Houma|LA|US|-90.72|29.6|34|N|,Houston|TX|US|-95.36|29.76|2314|NW|,Howard Beach|NY|US|-73.84|40.66|26|N|,Howrah|west bengal|IN|88.32|22.58|1027|W|haora,Huai'an|jiangsu|CN|119.02|33.59|2494|W|chuaj an;huaiyin,Huaibei|anhui|CN|116.79|33.97|1113|W|chuaj pej,Huainan|anhui|CN|117|32.63|1666|W|,Huamantla|MX29|MX|-97.93|19.31|51|N|,Huambo|huambo|AO|15.74|-12.78|595|W|,Huangshi|hubei|CN|115.05|30.25|688|W|chuang s,Huatabampo|MX26|MX|-109.64|26.83|30|N|,Huatusco|MX30|MX|-96.97|19.15|31|N|,Huauchinango|MX21|MX|-98.05|20.17|56|N|,Hubballi|karnataka|IN|75.13|15.35|943|W|hubli,Huber Heights|OH|US|-84.12|39.84|38|N|,Hue|thua thien hue province|VN|107.6|16.46|1380|W|,Huejotzingo|MX21|MX|-98.41|19.16|25|N|,Huejutla de Reyes|MX13|MX|-98.42|21.14|40|N|,Huimanguillo|MX27|MX|-93.39|17.83|27|N|,Huixquilucan|MX15|MX|-99.35|19.36|124|N|,Huixtla|MX05|MX|-92.46|15.14|32|N|,Huizhou|guangdong|CN|114.42|23.11|2900|W|chuej cou,Hull|QC|CA|-75.71|45.43|63|N|,Huludao|liaoning|CN|120.84|40.75|944|W|,Huntersville|NC|US|-80.84|35.41|52|N|,Huntington|WV|US|-82.45|38.42|48|N|,Huntington Beach|CA|US|-118|33.66|201|N|,Huntington Park|CA|US|-118.23|33.98|59|N|,Huntington Station|NY|US|-73.41|40.85|33|N|,Huntley|IL|US|-88.43|42.17|26|N|,Hunts Point|NY|US|-73.88|40.81|27|N|,Huntsville|AL|US|-86.59|34.73|215|N|,Huntsville|TX|US|-95.55|30.72|40|N|,Hurst|TX|US|-97.17|32.82|39|N|,Hutchinson|KS|US|-97.93|38.06|41|N|,Huzhou|zhejiang|CN|120.09|30.87|1015|W|,Hwaseong-si|gyeonggi do|KR|126.82|37.21|640|W|hwaseong,Hyde Park|MA|US|-71.12|42.26|31|N|,Hyde Park|IL|US|-87.59|41.79|26|N|,Hyderabad|telangana|IN|78.46|17.38|6993|W|haiderabad;hajdarabad,Hyderabad|sindh|PK|68.38|25.4|1921|W|hajdarabad;haydarabad,Ibadan|oyo state|NG|3.91|7.38|3649|W|,Ibb|ibb governorate|YE|44.18|13.97|771|W|,Idaho Falls|ID|US|-112.03|43.47|59|N|,Iguala de la Independencia|MX12|MX|-99.54|18.35|118|N|,Ilorin|kwara state|NG|4.54|8.5|1080|W|,Imperial Beach|CA|US|-117.11|32.58|27|N|,Incheon|incheon|KR|126.71|37.46|3015|W|inch on;incheon si;inchon;incchon;nhan xuyen;chemulpo,Independence|MO|US|-94.42|39.09|117|N|,Independence|KY|US|-84.54|38.94|26|N|,Indian Trail|NC|US|-80.67|35.08|37|N|,Indianapolis|IN|US|-86.16|39.77|887|NW|indpls,Indio|CA|US|-116.22|33.72|87|N|,Indore|madhya pradesh|IN|75.83|22.72|1994|W|indhur,Inglewood|CA|US|-118.35|33.96|111|N|,Innisfil|ON|CA|-79.65|44.3|43|N|,Inver Grove Heights|MN|US|-93.04|44.85|34|N|inver grove,Iowa City|IA|US|-91.53|41.66|74|N|,Ipoh|perak|MY|101.08|4.58|759|W|,Irapuato|MX11|MX|-101.36|20.67|380|N|,Irkutsk|irkutsk oblast|RU|104.29|52.3|623|W|irkoetsk;irkoutsk;irkuck;irkutsc;irkutk,Irondequoit|NY|US|-77.58|43.21|51|N|,Irvine|CA|US|-117.82|33.67|256|N|,Irving|TX|US|-96.95|32.81|236|N|,Irving Park|IL|US|-87.74|41.95|56|N|,Irvington|NJ|US|-74.23|40.73|61|N|,Isfahan|isfahan|IR|51.67|32.65|1547|W|esfahan;ispahan;kota isfahan,Iskandar Puteri|johor|MY|103.62|1.39|575|W|,Isla|MX30|MX|-95.53|18.03|26|N|,Islamabad|islamabad|PK|73.04|33.72|601|W|islamabade,Islington-City Centre West|ON|CA|-79.54|43.63|43|N|,Issaquah|WA|US|-122.03|47.53|36|N|,Istanbul|istanbul|TR|28.95|41.01|15701|W|estambul;istambul;stambul;byzance;byzantion;byzantium;constantinopla;constantinople;constantinopolen;costantinopoli;konstantinopel;micklagard,Itabashi|tokyo|JP|139.71|35.75|584|W|tabashi city,Ithaca|NY|US|-76.5|42.44|30|N|,Ixmiquilpan|MX13|MX|-99.22|20.48|34|N|,Ixtaczoquitlan|MX30|MX|-97.06|18.85|26|N|,Ixtapa|MX14|MX|-105.21|20.72|29|N|,Ixtapa-Zihuatanejo|MX12|MX|-101.55|17.64|67|N|jose azueta;zihuatanejo,Ixtapaluca|MX15|MX|-98.88|19.32|322|N|iztapaluca,Ixtepec|MX20|MX|-95.1|16.56|25|N|san geronimo ixtepec;ciudad ixtepec,Izhevsk|udmurtiya republic|RU|53.2|56.85|648|W|izjevsk;ijevsk;ischewsk;izewsk;izevsk,Izmir|izmir province|TR|27.14|38.41|2938|W|esmirna;smirne,Iztacalco|MX09|MX|-99.1|19.4|384|N|,Iztapalapa|MX09|MX|-99.06|19.36|1835|NW|delegacion iztapalapa;delegazione iztapalapa,Izucar de Matamoros|MX21|MX|-98.46|18.6|42|N|izucar,Jabalpur|madhya pradesh|IN|79.95|23.17|1081|W|dzabalpur,Jaboatao dos Guararapes|pernambuco|BR|-35.01|-8.11|644|W|,Jackson|MS|US|-90.18|32.3|153|N|,Jackson|TN|US|-88.81|35.61|66|N|,Jackson|NJ|US|-74.86|39.78|54|N|,Jackson|MI|US|-84.4|42.25|33|N|,Jackson Heights|NY|US|-73.89|40.76|67|N|,Jacksonville|FL|US|-81.66|30.33|1009|NW|,Jacksonville|NC|US|-77.43|34.75|67|N|,Jacksonville|AR|US|-92.11|34.87|28|N|,Jacona de Plancarte|MX16|MX|-102.31|19.96|53|N|,Jaipur|rajasthan|IN|75.79|26.92|3046|W|dzajpur,Jajmau|uttar pradesh|IN|80.41|26.43|652|W|,Jakarta|jakarta|ID|106.85|-6.21|8540|W|cakarta;djakarta;dzakarta;giacarta;yakarta;batavia;sunda kelapa;sundapura,Jalandhar|punjab|IN|75.58|31.33|868|W|dzalandhar,Jaltipan de Morelos|MX30|MX|-94.71|17.97|32|N|,Jamaica|NY|US|-73.81|40.69|216|N|,Jamaica Plain|MA|US|-71.12|42.31|37|N|,Jambi City|jambi|ID|103.62|-1.6|635|W|jambi,Jamestown|NY|US|-79.24|42.1|30|N|,Jammu|jammu and kashmir|IN|74.86|32.74|576|W|dzammu,Jamnagar|gujarat|IN|70.07|22.47|600|W|dzamnagar,Jamshedpur|jharkhand|IN|86.19|22.8|1339|W|cemsidpur;dzamsedpur,Janesville|WI|US|-89.02|42.68|64|N|,Jardines de la Silla|MX19|MX|-100.19|25.63|53|N|,Jeddah|mecca region|SA|39.19|21.49|4697|W|cidde;djedda;djeddah;dschidda;dzudda;dzidda;jedda;jidda;jida;yida;yidda,Jefferson City|MO|US|-92.17|38.58|42|N|kota jefferson,Jeffersontown|KY|US|-85.56|38.19|26|N|,Jeffersonville|IN|US|-85.74|38.28|46|N|,Jeonju|jeollabuk do|KR|127.15|35.82|638|W|chonju;condzu,Jepara|central java|ID|110.67|-6.59|1257|W|,Jerez de Garcia Salinas|MX32|MX|-102.99|22.65|43|N|,Jersey City|NJ|US|-74.08|40.73|264|N|,Jerusalem|jerusalem|IL|35.22|31.77|971|W|gerusalemme;jerozolima;jerusalen;jeruzalem;al quds;ariel;ierusalim;kudus;yerusalem;zion,Jesus Maria|MX01|MX|-102.34|21.96|43|N|,Jhang Sadr|punjab|PK|72.32|31.27|606|W|jhang;jhang sadar,Jiading|shanghai|CN|121.24|31.39|1886|W|,Jiangmen|guangdong|CN|113.08|22.58|1795|W|giang mon;kongmoon;tiang men,Jiangyin|jiangsu|CN|120.26|31.91|1779|W|kiang ying,Jiaozhou|shandong|CN|120|36.28|619|W|,Jiaozuo|henan|CN|113.24|35.24|865|W|tieu tac;tiao cuo,Jiaxing|zhejiang|CN|120.75|30.75|1180|W|gia hung;tia sing,Jieyang|guangdong|CN|116.37|23.54|1899|W|tie jang,Jilin|jilin|CN|126.56|43.85|1895|W|jilin city;ciudad de jilin;cat lam;kota jilin;ti lin,Jinan|shandong|CN|117|36.67|4335|W|ti nan,Jing'an|shanghai|CN|121.42|31.22|936|W|,Jingmen|hubei|CN|112.2|31.03|632|W|kinh mon;ting men,Jingzhou|hubei|CN|112.19|30.35|1052|W|kinh chau;ting cou,Jinhua|zhejiang|CN|119.64|29.11|1463|W|kim hoa;tin chua,Jining|shandong|CN|116.58|35.41|1241|W|ti ning,Jinjiang|fujian|CN|118.57|24.82|1416|W|,Jinshan|shanghai|CN|121.29|30.84|822|W|,Jinzhong|shanxi|CN|112.75|37.68|1226|W|,Jinzhou|liaoning|CN|121.14|41.11|604|W|tin cou,Jiujiang|jiangxi|CN|116|29.7|1164|W|ciuciang;tiou tiang,Jiutepec|MX17|MX|-99.18|18.88|215|N|,Joao Pessoa|paraiba|BR|-34.86|-7.12|817|W|,Jodhpur|rajasthan|IN|73.01|26.27|1056|W|dzodhpur;dzodpur,Johannesburg|gauteng|ZA|28.04|-26.2|9418|W|johannesbourg;jo anna;joanesburgo;johannesburgo,Johns Creek|GA|US|-84.2|34.03|83|N|,Johnson City|TN|US|-82.35|36.31|66|N|,Johnston|RI|US|-71.51|41.82|29|N|,Johor Bahru|johor|MY|103.76|1.47|858|W|johor baharu,Joint Base Pearl Harbor Hickam|HI|US|-157.95|21.35|42|N|,Joinville|santa catarina|BR|-48.85|-26.3|664|W|,Joliet|IL|US|-88.08|41.53|147|N|,Joliette|QC|CA|-73.42|46.02|34|N|,Jonesboro|AR|US|-90.7|35.84|73|N|,Jonquiere|QC|CA|-71.25|48.42|54|N|,Joplin|MO|US|-94.51|37.08|51|N|,Jos|plateau state|NG|8.89|9.93|1040|W|dzos,Jose Mariano Jimenez|MX06|MX|-104.92|27.13|34|N|,Juneau|AK|US|-134.42|58.3|31|N|,Jupiter|FL|US|-80.09|26.93|62|N|,Juventino Rosas|MX11|MX|-101|20.64|42|N|,Kabul|kabul|AF|69.17|34.53|4434|W|cabul;kaboel;kaboul;kabil,Kaduna|kaduna state|NG|7.44|10.53|1850|W|,Kagoshima|kagoshima|JP|130.55|31.57|595|W|kagosima,Kahului|HI|US|-156.47|20.89|26|N|,Kaifeng|henan|CN|114.31|34.8|1451|W|kai feng;kchaj feng;khai phong,Kailua|HI|US|-157.74|21.4|38|N|,Kakamega|kakamega county|KE|34.75|0.28|1867|W|,Kalamazoo|MI|US|-85.59|42.29|76|N|,Kalihi-Palama|HI|US|-157.88|21.33|43|N|kalihi,Kallakurichi|tamil nadu|IN|78.96|11.73|1682|W|,Kalyan|maharashtra|IN|73.14|19.24|1262|W|,Kamloops|BC|CA|-120.32|50.67|104|N|,Kampala|central region|UG|32.58|0.32|1680|W|campala,Kampung Baru Subang|selangor|MY|101.53|3.15|833|W|,Kananga|kasai central|CD|22.42|-5.9|1247|W|kanange,Kanasin|MX31|MX|-89.56|20.93|77|N|,Kanata|ON|CA|-75.92|45.3|90|N|,Kanayannur|kerala|IN|76.27|9.97|851|W|,Kaneohe|HI|US|-157.8|21.4|34|N|,Kankakee|IL|US|-87.86|41.12|26|N|,Kannapolis|NC|US|-80.62|35.49|46|N|,Kano|kano state|NG|8.52|12|4910|W|,Kanpur|uttar pradesh|IN|80.35|26.47|2823|W|cawnporne,Kansas City|MO|US|-94.58|39.1|475|N|kota kansas,Kansas City|KS|US|-94.63|39.11|152|N|,Kaohsiung|takao|TW|120.31|22.62|2737|W|kaohsiung city;cao hung;gaoxiong;takao,Karachi|sindh|PK|67.01|24.86|11624|W|carachi;karaczi;karanchi;karatschi;karaci,Karaj|alborz province|IR|50.99|35.83|1448|W|karadsch;karadz;kerec,Karbala|karbala|IQ|44.02|32.62|1218|W|kerbela;kerbala,Kathmandu|bagmati province|NP|85.32|27.7|1442|W|katmandou;catmandu;kathmandou;katmandu,Katsina|katsina state|NG|7.6|12.99|670|W|,Kawaguchi|saitama|JP|139.71|35.81|607|W|,Kawasaki|kanagawa|JP|139.72|35.52|1538|W|kawasaki city,Kayseri|kayseri|TR|35.49|38.73|1452|W|cesarea in cappadocia,Kaysville|UT|US|-111.94|41.04|30|N|,Kazan|tatarstan republic|RU|49.12|55.79|1243|W|caza;kasan,Kearney|NE|US|-99.08|40.7|33|N|,Kearns|UT|US|-112|40.66|35|N|,Kearny|NJ|US|-74.15|40.77|42|N|,Keizer|OR|US|-123.03|44.99|37|N|,Keller|TX|US|-97.25|32.93|45|N|,Kelowna|BC|CA|-119.49|49.88|144|N|,Ken Caryl|CO|US|-105.11|39.58|32|N|,Kendale Lakes|FL|US|-80.41|25.71|56|N|,Kendall|FL|US|-80.32|25.68|80|N|,Kendall West|FL|US|-80.44|25.71|36|N|,Kennedy|bogota d c|CO|-74.15|4.62|979|W|,Kenner|LA|US|-90.24|29.99|67|N|,Kennesaw|GA|US|-84.62|34.02|33|N|,Kennewick|WA|US|-119.14|46.21|78|N|,Kenosha|WI|US|-87.82|42.58|99|N|,Kensington|NY|US|-73.97|40.65|39|N|,Kensington-Cedar Cottage|BC|CA|-123.07|49.25|49|N|,Kent|WA|US|-122.23|47.38|126|N|,Kent|OH|US|-81.36|41.15|29|N|,Kentwood|MI|US|-85.64|42.87|51|N|,Kerman|kerman|IR|57.08|30.28|577|W|,Kermanshah|kermanshah province|IR|47.06|34.31|621|W|kermanschah;kirmansah;province de kermanshah;provincia de kermanshah,Kettering|OH|US|-84.17|39.69|55|N|,Kew Gardens Hills|NY|US|-73.82|40.73|37|N|,Key West|FL|US|-81.78|24.56|25|N|cayo hueso,Khabarovsk|khabarovsk|RU|135.1|48.46|618|W|chabarovsk;chabarowsk;habarovsk;jabarovsk,Kharkiv|kharkiv|UA|36.25|49.98|1421|W|charkiv;carcovia;charkiw;charkov;charkow;harkov;harkova;jarkov;kharkov,Khartoum|khartoum|SD|32.53|15.55|1974|W|cartum;chartum;hartum;jartum;khartoem;khartum,Khartoum North|khartoum|SD|32.53|15.65|1012|W|bahri;jartum norte;khartoum nord;khartum nord,Khulna|khulna division|BD|89.56|22.81|1500|W|,Kigali|kigali|RW|30.06|-1.95|1132|W|,Kikolo|luanda|AO|13.33|-8.78|728|W|quicolo,Killarney|BC|CA|-123.04|49.23|29|N|,Killeen|TX|US|-97.73|31.12|140|N|,Kingman|AZ|US|-114.05|35.19|28|N|,Kings Bridge|NY|US|-73.91|40.88|75|N|,Kingsport|TN|US|-82.56|36.55|53|N|,Kingston|kingston|JM|-76.79|18|937|W|,Kingston|ON|CA|-76.48|44.23|132|N|cataraqui,Kingsville|TX|US|-97.86|27.52|26|N|,Kinshasa|kinshasa|CD|15.31|-4.33|16000|W|kinsasa;kinszasa;quinxassa,Kirkland|WA|US|-122.21|47.68|87|N|,Kirkuk|kirkuk|IQ|44.39|35.47|1031|W|kerkuk;kirkoek;kirkouk,Kirkwood|MO|US|-90.41|38.58|27|N|,Kiryas Joel|NY|US|-74.17|41.34|32|N|,Kisangani|tshopo|CD|25.19|0.52|1181|W|stanleystad;stanleyville,Kissimmee|FL|US|-81.42|28.3|69|N|,Kitakyushu|fukuoka|JP|130.85|33.85|940|W|kitakjusu,Kitchener|ON|CA|-80.51|43.43|256|N|,Kitsilano|BC|CA|-123.17|49.27|43|N|,Kitwe|copperbelt|ZM|28.21|-12.8|665|W|,Knoxville|TN|US|-83.92|35.96|190|N|,Kobe|hyogo|JP|135.18|34.69|1525|W|,Kochi|kerala|IN|76.26|9.94|633|W|cochim;cochin;ernakulam;koczin,Koeln|north rhine westphalia|DE|6.95|50.93|1024|W|koln;cologne;colonia;keulen;kolonia;kolin nad rynem,Kokomo|IN|US|-86.13|40.49|57|N|,Kolkata|west bengal|IN|88.36|22.56|4631|W|calcutta;calcuta;kalkata;kalkuta;kalkutta,Kolwezi|lualaba|CD|25.47|-10.71|790|W|,Konya|konya|TR|32.48|37.87|1433|W|iconio,Koreatown|CA|US|-118.3|34.06|124|N|,Kota|rajasthan|IN|75.84|25.18|1001|W|,Kowloon||HK|114.18|22.32|2232|W|koulun,Krakow|lesser poland|PL|19.94|50.06|816|W|cracovia;cracovie;krakau;krakov;krakova;cracow,Krasnodar|krasnodar krai|RU|38.98|45.05|899|W|,Krasnoyarsk|krasnoyarsk krai|RU|92.93|56.04|1090|W|krasnojarsk;krasnoiarsk,Kryvyy Rih|dnipropetrovsk|UA|33.39|47.91|603|W|krivoj rog;kryvy rig;kryvy rih;kryvyi rih;kryvyj rih;krywyj rih;krzywy rog;krivii rih,Kuala Lumpur|kuala lumpur|MY|101.69|3.14|1453|W|,Kuecuekcekmece|istanbul|TR|28.77|40.99|792|W|kucukcekmece,Kumamoto|kumamoto|JP|130.69|32.81|738|W|kumamoto shi,Kumasi|ashanti|GH|-1.62|6.69|2544|W|,Kunming|yunnan|CN|102.72|25.04|3855|W|con minh;kchun ming,Kunshan|jiangsu|CN|120.95|31.38|2092|W|con son;kchun san,Kyiv|kyiv city|UA|30.52|50.45|2952|W|kiev;kyjiw;ki ep;kiew;kijow;kiova;kyiw;kyjev;chiovia,Kyle|TX|US|-97.88|29.99|35|N|,Kyoto|kyoto|JP|135.75|35.02|1463|W|kioto;kjoto;kyoto shi;quioto,L'Amoreaux|ON|CA|-79.31|43.8|43|N|,La Barca|MX14|MX|-102.54|20.29|35|N|,La Cite-Limoilou|QC|CA|-71.23|46.83|108|N|,La Crosse|WI|US|-91.24|43.8|52|N|,La Habra|CA|US|-117.95|33.93|62|N|,La Haute-Saint-Charles|QC|CA|-71.37|46.89|88|N|,La Jolla|CA|US|-117.27|32.85|42|N|,La Joya|MX02|MX|-117|32.44|26|N|,La Mesa|CA|US|-117.02|32.77|60|N|,La Mirada|CA|US|-118.01|33.92|49|N|,La Paz|la paz department|BO|-68.15|-16.5|2004|W|ciudad la paz,La Paz|MX03|MX|-110.31|24.14|250|N|,La Piedad de Cabadas|MX16|MX|-102.02|20.34|83|N|la piedad;municipio la piedad,La Porte|TX|US|-95.02|29.67|35|N|,La Presa|CA|US|-117|32.71|34|N|,La Puente|CA|US|-117.95|34.02|40|N|,La Quinta|CA|US|-116.31|33.66|40|N|,La Vergne|TN|US|-86.58|36.02|34|N|,La Verne|CA|US|-117.77|34.1|32|N|,Lacey|WA|US|-122.82|47.03|46|N|,Lafayette|LA|US|-92.02|30.22|121|N|,Lafayette|IN|US|-86.88|40.42|71|N|,Lafayette|CO|US|-105.09|39.99|27|N|,Lafayette|CA|US|-122.12|37.89|25|N|,Lagos|lagos|NG|3.39|6.45|15388|W|,Lagos de Moreno|MX14|MX|-101.93|21.36|98|N|,LaGrange|GA|US|-85.03|33.04|29|N|la grange,Laguna|CA|US|-121.42|38.42|46|N|,Laguna Hills|CA|US|-117.71|33.61|31|N|,Laguna Niguel|CA|US|-117.71|33.52|65|N|,Lahore|punjab|PK|74.35|31.56|13004|W|lahaur;lahor,Laibin|guangxi|CN|109.22|23.75|910|W|lai tan;laj pin,Laiwu|shandong|CN|117.66|36.19|989|W|lai vu;laj wu,Lake Charles|LA|US|-93.2|30.21|76|N|,Lake Elsinore|CA|US|-117.33|33.67|61|N|,Lake Forest|CA|US|-117.69|33.65|82|N|,Lake Havasu City|AZ|US|-114.32|34.48|53|N|,Lake in the Hills|IL|US|-88.33|42.18|29|N|,Lake Jackson|TX|US|-95.43|29.03|27|N|,Lake Magdalene|FL|US|-82.47|28.07|28|N|,Lake Oswego|OR|US|-122.67|45.42|38|N|,Lake Ridge|VA|US|-77.3|38.69|41|N|,Lake Stevens|WA|US|-122.06|48.02|30|N|,Lake Worth Beach|FL|US|-80.07|26.62|37|N|lake worth,Lakeland|FL|US|-81.95|28.04|104|N|,Lakeside|FL|US|-81.77|30.13|30|N|,Lakeville|MN|US|-93.24|44.65|60|N|,Lakewood|CO|US|-105.08|39.7|152|N|,Lakewood|CA|US|-118.13|33.85|81|N|,Lakewood|WA|US|-122.52|47.17|59|N|,Lakewood|NJ|US|-74.22|40.1|53|N|lakewood township;municipio de lakewood,Lakewood|SK|CA|-106.59|52.11|51|N|,Lakewood|OH|US|-81.8|41.48|50|N|,Lancaster|CA|US|-118.14|34.7|161|N|,Lancaster|PA|US|-76.31|40.04|59|N|,Lancaster|OH|US|-82.6|39.71|39|N|,Lancaster|TX|US|-96.76|32.59|38|N|,Land O' Lakes|FL|US|-82.46|28.22|31|N|,Langfang|hebei|CN|116.71|39.52|868|W|,Langford|BC|CA|-123.5|48.45|46|N|,Langley|BC|CA|-122.66|49.1|132|N|ciudad de langley,Lansing|MI|US|-84.56|42.73|112|N|,Lansing|IL|US|-87.54|41.56|28|N|,Lanzhou|gansu|CN|103.84|36.06|3000|W|lan chau;lan cou,Laplace|LA|US|-90.48|30.07|29|N|,Laramie|WY|US|-105.59|41.31|32|N|,Laredo|TX|US|-99.51|27.51|256|N|,Largo|FL|US|-82.79|27.91|81|N|,Las Choapas|MX30|MX|-94.1|17.91|42|N|,Las Cruces|NM|US|-106.78|32.31|101|N|,Las Guacamayas|MX16|MX|-102.21|18.02|37|N|,Las Pinas|national capital region|PH|120.98|14.45|615|W|,Las Pintitas|MX14|MX|-103.3|20.56|26|N|,Las Vegas|NV|US|-115.14|36.17|641|NW|,LaSalle|ON|CA|-83.06|42.24|32|N|,Latakia|latakia|SY|35.79|35.53|709|W|laodicea;lataquia;lattakia;lattaquie;lazkiye;lazikija,Lauderdale Lakes|FL|US|-80.21|26.17|34|N|,Lauderhill|FL|US|-80.21|26.14|71|N|,Laurel|MD|US|-76.85|39.1|26|N|,Laval|QC|CA|-73.69|45.57|438|N|,Laval-des-Rapides|QC|CA|-73.7|45.56|36|N|,Lawndale|CA|US|-118.35|33.89|33|N|,Lawrence|KS|US|-95.24|38.97|93|N|,Lawrence|MA|US|-71.16|42.71|80|N|,Lawrence|IN|US|-86.03|39.84|47|N|,Lawrenceville|GA|US|-83.99|33.96|30|N|,Lawson|SK|CA|-106.64|52.16|34|N|,Lawton|OK|US|-98.39|34.61|96|N|,Layton|UT|US|-111.97|41.06|74|N|,Le Plateau-Mont-Royal|QC|CA|-73.58|45.53|105|N|,Le Sud-Ouest|QC|CA|-73.59|45.47|86|N|,Le Vieux-Longueuil|QC|CA|-73.51|45.54|135|N|,League City|TX|US|-95.09|29.51|98|N|,Leamington|ON|CA|-82.6|42.05|35|N|,Leander|TX|US|-97.85|30.58|59|N|,Leavenworth|KS|US|-94.92|39.31|35|N|,Leawood|KS|US|-94.62|38.97|34|N|,Lebanon|TN|US|-86.29|36.21|30|N|,Lebanon|PA|US|-76.41|40.34|25|N|,Lee's Summit|MO|US|-94.38|38.91|95|N|,Leesburg|VA|US|-77.56|39.12|51|N|,Lehi|UT|US|-111.85|40.39|58|N|,Lehigh Acres|FL|US|-81.62|26.63|86|N|,Leisure City|FL|US|-80.43|25.5|26|N|,Lemon Grove|CA|US|-117.03|32.74|26|N|,Lemoore|CA|US|-119.78|36.3|25|N|,Lenexa|KS|US|-94.73|38.95|52|N|,Leominster|MA|US|-71.76|42.53|41|N|,Leon de los Aldama|MX11|MX|-101.68|21.12|1579|NW|leon;leon guanajuato;leon de los aldamas,Lerdo|MX10|MX|-103.52|25.54|79|N|,Les Rivieres|QC|CA|-71.27|46.82|77|N|,Leshan|sichuan|CN|103.76|29.56|662|W|le san,Lethbridge|AB|CA|-112.82|49.7|103|N|,Levis|QC|CA|-71.18|46.8|143|N|,Levittown|PA|US|-74.83|40.16|52|N|,Levittown|NY|US|-73.51|40.73|51|N|lewittown,Lewiston|ME|US|-70.21|44.1|36|N|,Lewiston|ID|US|-117.02|46.42|32|N|,Lewiston Orchards|ID|US|-116.98|46.38|31|N|,Lewisville|TX|US|-96.99|33.05|104|N|,Lexington|KY|US|-84.48|37.99|320|N|,Lexington|MA|US|-71.22|42.45|31|N|lexington village;cambridge farms;lexington centre,Lexington-Fayette|KY|US|-84.46|38.05|314|N|,Lianyungang|jiangsu|CN|119.22|34.6|2001|W|,Liaocheng|shandong|CN|116|36.45|1229|W|liao ccheng;lieu thanh,Liaoyang|liaoning|CN|123.17|41.27|687|W|liao jang;lieu duong,Liberty|MO|US|-94.42|39.25|30|N|,Libreville|estuaire|GA|9.45|0.39|846|W|,Likasi|haut katanga|CD|26.74|-10.98|635|W|jadotstad;jadotsville,Lilongwe|central region|MW|33.79|-13.97|1115|W|lilongue,Lima|lima province|PE|-77.03|-12.04|7737|W|,Lima|OH|US|-84.11|40.74|37|N|,Linares|MX19|MX|-99.57|24.86|70|N|,Lincoln|NE|US|-96.67|40.8|294|N|,Lincoln|CA|US|-121.29|38.89|49|N|,Lincoln Park|IL|US|-87.65|41.92|66|N|,Lincoln Park|MI|US|-83.18|42.25|37|N|,Lincoln Square|IL|US|-87.69|41.98|40|N|,Linden|NJ|US|-74.24|40.62|42|N|,Lindenhurst|NY|US|-73.37|40.69|27|N|,Linfen|shanxi|CN|111.52|36.09|959|W|lin fen,Linton Hall|VA|US|-77.57|38.76|35|N|,Linyi|shandong|CN|118.34|35.06|2743|W|lam nghi,Little Elm|TX|US|-96.94|33.16|38|N|,Little Havana|FL|US|-80.23|25.77|53|N|la pequena habana,Little Rock|AR|US|-92.29|34.75|202|N|,Littleton|CO|US|-105.02|39.61|46|N|,Liupanshui|guizhou|CN|104.83|26.59|1320|W|liou pchan suej,Liuzhou|guangxi|CN|109.41|24.32|1436|W|liou cou;liuchow,Livermore|CA|US|-121.77|37.68|88|N|,Livingston|NJ|US|-74.31|40.8|27|N|,Livonia|MI|US|-83.35|42.37|94|N|,Lloydminster|AB|CA|-110.02|53.27|31|N|,Lochearn|MD|US|-76.72|39.34|25|N|,Lockport|IL|US|-88.06|41.59|25|N|,Lodi|CA|US|-121.27|38.13|64|N|,Lodz|lodz voivodeship|PL|19.47|51.77|639|W|litzmannstadt,Logan|UT|US|-111.83|41.74|50|N|,Logan Square|IL|US|-87.7|41.92|73|N|,Loma Bonita|MX20|MX|-95.88|18.11|40|N|,Lombard|IL|US|-88.01|41.88|43|N|,Lome|maritime|TG|1.22|6.13|2188|W|,Lompoc|CA|US|-120.46|34.64|44|N|,London|england|GB|-0.13|51.51|8961|W|londres;londen;londra;londyn;lontoo;luan don,London|ON|CA|-81.23|42.98|422|N|,Londrina|parana|BR|-51.16|-23.31|581|W|,Long Beach|CA|US|-118.19|33.77|474|N|,Long Beach|NY|US|-73.66|40.59|33|N|,Long Branch|NJ|US|-73.99|40.3|30|N|,Long Island City|NY|US|-73.95|40.74|25|N|lic,Longfellow Community|MN|US|-93.23|44.94|29|N|,Longmont|CO|US|-105.1|40.17|92|N|,Longueuil|QC|CA|-73.47|45.52|229|N|,Longview|TX|US|-94.74|32.5|82|N|,Longview|WA|US|-122.94|46.14|36|N|,Longyan|fujian|CN|117.02|25.07|1025|W|long nham;lung jen,Lorain|OH|US|-82.18|41.45|63|N|,Los Altos|CA|US|-122.11|37.39|30|N|,Los Angeles|CA|US|-118.24|34.05|3820|NW|l a,Los Banos|CA|US|-120.85|37.06|37|N|,Los Gatos|CA|US|-121.97|37.23|30|N|,Los Mochis|MX25|MX|-109|25.79|256|N|,Los Reyes Acaquilpan|MX15|MX|-98.98|19.36|85|N|los reyes la paz;reyes la paz,Los Reyes de Salgado|MX16|MX|-102.47|19.59|39|N|,Louisville|KY|US|-85.76|38.25|624|NW|,Loveland|CO|US|-105.07|40.4|75|N|,Lowell|MA|US|-71.32|42.63|110|N|,Lower Sackville|NS|CA|-63.68|44.78|51|N|,Lower West Side|IL|US|-87.67|41.85|34|N|,Lu'an|anhui|CN|116.52|31.74|1644|W|,Luancheng|hebei|CN|114.65|37.88|597|W|,Luanda|luanda|AO|13.23|-8.84|2776|W|loanda,Lubango|huila|AO|13.49|-14.92|600|W|sa da bandeira,Lubbock|TX|US|-101.86|33.58|249|N|,Lubumbashi|haut katanga|CD|27.48|-11.66|2221|W|elizabethstad;elisabethville,Lucknow|uttar pradesh|IN|80.92|26.84|2472|W|lakhnau;laknau,Ludhiana|punjab|IN|75.85|30.91|1618|W|ludhijana,Lueliang|shanxi|CN|111.14|37.52|3346|W|luliang,Lufkin|TX|US|-94.73|31.34|36|N|,Luohe|henan|CN|114.03|33.57|1294|W|luo che;thap ha,Luohu District|guangdong|CN|114.13|22.55|1143|W|,Luoyang|henan|CN|112.44|34.67|1390|W|luo jang,Lusaka|lusaka province|ZM|28.29|-15.41|2212|W|,Luzhou|sichuan|CN|105.43|28.89|998|W|lu cou;lo chau,Lviv|lviv|UA|24.02|49.84|717|W|leopoli;lwow;leopolo;leopolis;liov;lvov;lwiw;lemberg,Lynchburg|VA|US|-79.14|37.41|79|N|,Lynn|MA|US|-70.95|42.47|92|N|,Lynnwood|WA|US|-122.32|47.82|36|N|,Lynwood|CA|US|-118.21|33.93|71|N|,Ma'anshan|anhui|CN|118.51|31.69|741|W|,Mableton|GA|US|-84.58|33.82|37|N|,Macau||MO|113.55|22.2|649|W|ma cao;macao;makao;makau,Maceio|alagoas|BR|-35.74|-9.67|1031|W|macelo,Macon|GA|US|-83.63|32.84|91|N|,Macuspana|MX27|MX|-92.6|17.76|32|N|,Madera|CA|US|-120.06|36.96|64|N|,Madinah|medina region|SA|39.61|24.47|1300|W|medina;al madinah al munawwarah;medine;medyna,Madinat an Nasr|cairo|EG|31.3|30.07|668|W|,Madison|WI|US|-89.4|43.07|280|N|,Madison|AL|US|-86.75|34.7|46|N|,Madison|MS|US|-90.12|32.46|25|N|,Madison Heights|MI|US|-83.11|42.49|30|N|madison hts,Madrid|madrid|ES|-3.7|40.42|3255|W|madryt,Madurai|tamil nadu|IN|78.12|9.92|1465|W|maduraj,Magdalena Atlicpac|MX15|MX|-98.95|19.37|26|N|,Magdalena Contreras|MX09|MX|-99.21|19.33|238|N|,Magdalena de Kino|MX26|MX|-110.96|30.63|26|N|,Magna|UT|US|-112.1|40.71|26|N|,Maianga|luanda|AO|13.24|-8.85|727|W|,Maiduguri|borno state|NG|13.16|11.85|1110|W|,Makakilo / Kapolei / Honokai Hale|HI|US|-158.1|21.34|46|N|,Makassar|south sulawesi|ID|119.43|-5.15|1474|W|kota makassar;macassar;makasar,Makhachkala|dagestan|RU|47.5|42.98|596|W|machaczkala;machatjkala;machatschkala;machatsjkala;machackala;mahackala;mahatskala;mahckale;majachkala;makhatchkala;makhatsjkala,Makiki / Lower Punchbowl / Tantalus|HI|US|-157.83|21.32|31|N|,Makkah|mecca region|SA|39.83|21.43|1578|W|mecca;la meca;la mecca;la mecque;makkah al mukarramah;meca;mecka;mekka;mekkah;mekke,Malacca|melaka|MY|102.24|2.2|579|W|malakka;malaca;malaka;melaka,Malaga|andalusia|ES|-4.42|36.72|592|W|,Malang|east java|ID|112.63|-7.98|889|W|kabupaten malang;kota malang,Malatya|malatya|TR|38.32|38.35|750|W|,Malden|MA|US|-71.07|42.43|61|N|,Malingao|soccsksargen|PH|124.47|7.16|1121|W|,Malvern|ON|CA|-79.22|43.81|43|N|,Managua|managua department|NI|-86.25|12.13|973|W|,Manassas|VA|US|-77.48|38.75|41|N|,Manaus|amazonas|BR|-60.02|-3.1|2219|W|manaos,Manchester|NH|US|-71.45|43|110|N|,Manchester|CT|US|-72.52|41.78|30|N|,Mandalay|mandalay region|MM|96.08|21.97|1208|W|mandalaj,Manhattan|NY|US|-73.97|40.78|1487|NW|,Manhattan|KS|US|-96.57|39.18|56|N|,Manhattan Beach|CA|US|-118.41|33.88|35|N|,Manhattan Valley|NY|US|-73.97|40.79|38|N|,Manila|national capital region|PH|120.98|14.6|1600|W|city of manila;manila city;manilla;manille,Manitowoc|WI|US|-87.66|44.09|33|N|,Mankato|MN|US|-94.01|44.16|41|N|,Mansfield|TX|US|-97.14|32.56|64|N|,Mansfield|OH|US|-82.52|40.76|46|N|,Mansfield City|CT|US|-72.23|41.77|26|N|,Manteca|CA|US|-121.22|37.8|75|N|,Manzanillo|MX08|MX|-104.34|19.12|159|N|,Maoming|guangdong|CN|110.91|21.67|1307|W|chaozhou;mao ming,Maple Grove|MN|US|-93.46|45.07|68|N|,Maple Ridge|BC|CA|-122.6|49.22|82|N|,Maple Valley|WA|US|-122.05|47.39|25|N|,Maplewood|MN|US|-93|44.95|40|N|,Maplewood|NJ|US|-74.27|40.73|25|N|,Maputo|maputo city|MZ|32.58|-25.97|1254|W|lourenco marques,Mar del Plata|buenos aires|AR|-57.56|-38|593|W|,Maracaibo|zulia|VE|-71.61|10.64|1752|W|,Marana|AZ|US|-111.23|32.44|41|N|,Maravatio de Ocampo|MX16|MX|-100.44|19.89|34|N|,Marfil|MX11|MX|-101.29|21|29|N|,Margate|FL|US|-80.21|26.24|57|N|,Maricopa|AZ|US|-112.05|33.06|48|N|,Marietta|GA|US|-84.55|33.95|59|N|,Marion|IA|US|-91.6|42.03|37|N|,Marion|OH|US|-83.13|40.59|36|N|,Marion|IN|US|-85.66|40.56|29|N|,Markham|ON|CA|-79.27|43.87|338|N|,Marlboro|NJ|US|-74.25|40.32|40|N|,Marlborough|MA|US|-71.55|42.35|39|N|,Marpole|BC|CA|-123.13|49.21|27|N|,Marrakesh|marrakesh safi|MA|-8|31.63|995|W|marrakech;marakes;marrakesch;marrakesz;marraquexe;marrakes,Marrero|LA|US|-90.1|29.9|33|N|,Marseille|provence alpes cote d azur|FR|5.38|43.3|877|W|marselha;marsella;marsiglia;marsilia;marsilya;marsylia,Marshalltown|IA|US|-92.91|42.05|27|N|,Martinez|CA|US|-122.13|38.02|38|N|,Martinez|GA|US|-82.08|33.52|35|N|,Martinez de la Torre|MX30|MX|-97.06|20.07|60|N|,Maryland Heights|MO|US|-90.43|38.71|27|N|,Marysville|WA|US|-122.18|48.05|66|N|,Maryvale|AZ|US|-112.18|33.5|208|N|,Maryville|TN|US|-83.97|35.76|28|N|,Mascouche|QC|CA|-73.6|45.75|34|N|,Mashhad|razavi khorasan|IR|59.61|36.3|2307|W|maschhad;mashad;masyhad;meszhed;mexed;meshed;alexandria;sanaabad,Mason|OH|US|-84.31|39.36|32|N|,Mason City|IA|US|-93.2|43.15|27|N|,Maspeth|NY|US|-73.91|40.72|48|N|,Massillon|OH|US|-81.52|40.8|32|N|,Matamoros|MX07|MX|-103.23|25.53|52|N|,Matehuala|MX24|MX|-100.64|23.65|77|N|,Matola|maputo province|MZ|32.46|-25.96|1198|W|,Mattapan|MA|US|-71.09|42.27|36|N|,Matthews|NC|US|-80.72|35.12|30|N|,Maturin|monagas|VE|-63.18|9.75|647|W|,Mauldin|SC|US|-82.31|34.78|25|N|,Maywood|CA|US|-118.19|33.99|27|N|,Mazatlan|MX25|MX|-106.42|23.22|381|N|ciudad mazatlan,Mbuji-Mayi|east kasai|CD|23.59|-6.14|2101|W|,McAllen|TX|US|-98.23|26.2|140|N|,McCully - Moiliili|HI|US|-157.83|21.29|28|N|,McHenry|IL|US|-88.27|42.33|26|N|,McKinney|TX|US|-96.62|33.2|162|N|,McLean|VA|US|-77.18|38.93|48|N|,McMinnville|OR|US|-123.2|45.21|33|N|,Meadow Woods|FL|US|-81.37|28.39|25|N|,Meads|KY|US|-82.71|38.41|288|N|,Mechanicsville|VA|US|-77.37|37.61|36|N|,Medan|north sumatra|ID|98.67|3.58|2486|W|kota medan,Medellin|antioquia|CO|-75.57|6.25|1999|W|medelim,Medford|OR|US|-122.88|42.33|79|N|,Medford|MA|US|-71.11|42.42|57|N|,Medicine Hat|AB|CA|-110.68|50.04|63|N|,Medina|OH|US|-81.86|41.14|26|N|,Meerut|uttar pradesh|IN|77.71|28.98|1223|W|merath,Mehlville|MO|US|-90.32|38.51|28|N|,Meishan|sichuan|CN|103.84|30.04|1107|W|mej san;mi son,Meizhou|guangdong|CN|116.12|24.29|992|W|mai chau;mej cou,Melbourne|victoria|AU|144.96|-37.81|5435|W|greater melbourne;melbourne city,Melbourne|FL|US|-80.61|28.08|84|N|,Melchor Ocampo|MX15|MX|-99.14|19.7|38|N|,Melrose|MA|US|-71.07|42.46|27|N|,Melrose Park|IL|US|-87.86|41.9|25|N|,Memphis|TN|US|-90.05|35.15|633|NW|menfis,Mengzi|yunnan|CN|103.38|23.37|595|W|,Menifee|CA|US|-117.15|33.73|87|N|,Menlo Park|CA|US|-122.18|37.45|33|N|,Menomonee Falls|WI|US|-88.12|43.18|36|N|,Mentor|OH|US|-81.34|41.67|46|N|,Merced|CA|US|-120.48|37.3|82|N|,Mercer Island|WA|US|-122.22|47.57|25|N|,Mercerville-Hamilton Square|NJ|US|-74.67|40.23|26|N|hamilton square,Mercier-Hochelaga-Maisonneuve|QC|CA|-73.55|45.57|142|N|,Merida|MX31|MX|-89.62|20.97|1201|NW|,Meriden|CT|US|-72.81|41.54|59|N|,Meridian|ID|US|-116.39|43.61|90|N|,Meridian|MS|US|-88.7|32.36|39|N|,Merrillville|IN|US|-87.33|41.48|35|N|,Merrimack|NH|US|-71.49|42.87|26|N|east merrimack,Merritt Island|FL|US|-80.69|28.36|34|N|,Mesa|AZ|US|-111.82|33.42|471|N|,Mesquite|TX|US|-96.6|32.77|144|N|,Metairie|LA|US|-90.15|29.98|138|N|,Metairie Terrace|LA|US|-90.16|29.98|142|N|,Metepec|MX15|MX|-99.6|19.26|28|N|municipio metepec;municipio de metepec,Methuen|MA|US|-71.19|42.73|52|N|,Metrotown|BC|CA|-123|49.23|52|N|,Mexicali|MX02|MX|-115.45|32.63|1032|NW|,Mexico City|MX09|MX|-99.13|19.43|12294|NW|ciudad de mexico;mexico by;cidade do mexico;citta del messico;ciudad de mejico;meksyk;mexico;mexico d f;mexico stad;mexiko stadt;mexico distrito federal;valle de mexico,Miami|FL|US|-80.19|25.77|487|N|,Miami Beach|FL|US|-80.13|25.79|92|N|,Miami Gardens|FL|US|-80.25|25.94|113|N|,Miami Lakes|FL|US|-80.31|25.91|30|N|,Mianyang|sichuan|CN|104.68|31.47|1550|W|mien jang;mien duong,Michigan City|IN|US|-86.9|41.71|31|N|,Mid-City|CA|US|-118.36|34.04|83|N|,Middle River|MD|US|-76.44|39.33|25|N|,Middle Village|NY|US|-73.88|40.72|29|N|,Middletown|NJ|US|-74.12|40.39|65|N|middletown township;municipio de middletown,Middletown|OH|US|-84.4|39.52|48|N|,Middletown|CT|US|-72.65|41.56|46|N|,Middletown|NY|US|-74.42|41.45|27|N|,Midland|TX|US|-102.08|32|132|N|,Midland|MI|US|-84.25|43.62|42|N|,Midvale|UT|US|-111.9|40.61|32|N|,Midwest City|OK|US|-97.4|35.45|57|N|,Miguel Aleman (La Doce)|MX26|MX|-111.48|28.84|30|N|,Miguel Hidalgo|MX09|MX|-99.2|19.43|372|N|delegacion miguel hidalgo,Milan|lombardy|IT|9.19|45.46|1371|W|milano;mailand;mediolan;milaan;milao,Milford|CT|US|-73.06|41.22|52|N|,Milford|MA|US|-71.52|42.14|25|N|,Milford Mill|MD|US|-76.77|39.35|29|N|,Mililani Town|HI|US|-158.02|21.45|27|N|,Millcreek|UT|US|-111.88|40.69|62|N|,Milliken|ON|CA|-79.3|43.82|26|N|,Millville|NJ|US|-75.04|39.4|28|N|,Milpitas|CA|US|-121.91|37.43|77|N|,Milton|ON|CA|-79.88|43.52|132|N|,Milton|GA|US|-84.3|34.13|37|N|,Milton|MA|US|-71.07|42.25|27|N|,Milwaukee|WI|US|-87.91|43.04|563|N|,Mimico|ON|CA|-79.51|43.62|33|N|,Minatitlan|MX30|MX|-94.56|18|112|N|,Minhang|shanghai|CN|121.37|31.11|2716|W|,Minneapolis|MN|US|-93.26|44.98|410|N|mineapolis,Minnetonka|MN|US|-93.5|44.91|51|N|,Minnetonka Mills|MN|US|-93.44|44.94|50|N|,Minot|ND|US|-101.3|48.23|49|N|,Minsk|minsk city|BY|27.57|53.9|1742|W|,Mint Hill|NC|US|-80.65|35.18|25|N|,Mira Mesa|CA|US|-117.14|32.92|70|N|,Mirabel|QC|CA|-74.08|45.65|34|N|,Miramar|FL|US|-80.23|25.99|137|N|,Miramar|MX28|MX|-97.9|22.36|118|N|,Misantla|MX30|MX|-96.85|19.93|26|N|,Mishawaka|IN|US|-86.16|41.66|48|N|,Mission|TX|US|-98.33|26.22|83|N|,Mission|BC|CA|-122.3|49.13|41|N|,Mission Bend|TX|US|-95.66|29.69|36|N|,Mission District|CA|US|-122.42|37.76|47|N|,Mission Viejo|CA|US|-117.67|33.6|97|N|,Mississauga|ON|CA|-79.66|43.58|717|NW|,Missoula|MT|US|-113.99|46.87|71|N|,Missouri City|TX|US|-95.54|29.62|74|N|,Mixquiahuala de Juarez|MX13|MX|-99.21|20.23|25|N|,Mobile|AL|US|-88.04|30.69|183|N|,Modesto|CA|US|-121|37.64|211|N|,Mogadishu|banaadir|SO|45.34|2.04|2587|W|mogadischu;mogadiscio;mogadiszu;mogadisu;mogadiso,Moline|IL|US|-90.52|41.51|42|N|,Mombasa|mombasa county|KE|39.66|-4.05|1208|W|mombassa;mombaca,Monclova|MX07|MX|-101.42|26.91|215|N|,Moncton|NB|CA|-64.8|46.09|86|N|,Monroe|LA|US|-92.12|32.51|49|N|,Monroe|NC|US|-80.55|34.99|34|N|,Monroeville|PA|US|-79.79|40.42|28|N|,Monrovia|montserrado county|LR|-10.8|6.3|1542|W|monrowia,Monrovia|CA|US|-118|34.15|37|N|,Montclair|NJ|US|-74.21|40.83|39|N|,Montclair|CA|US|-117.69|34.08|38|N|,Montebello|CA|US|-118.11|34.01|63|N|,Montemorelos|MX19|MX|-99.83|25.19|67|N|,Monterey|CA|US|-121.89|36.6|28|N|monterrey,Monterey Park|CA|US|-118.12|34.06|61|N|,Monterrey|MX19|MX|-100.32|25.68|1135|NW|monterrei;monterrey city,Montevideo|montevideo department|UY|-56.19|-34.9|1270|W|montevideu,Montgomery|AL|US|-86.3|32.37|195|N|,Montgomery Village|MD|US|-77.2|39.18|32|N|,Montreal|QC|CA|-73.59|45.51|1762|NW|montreal city,Montreal-Nord|QC|CA|-73.63|45.6|86|N|,Moore|OK|US|-97.49|35.34|60|N|,Mooresville|NC|US|-80.81|35.58|36|N|,Moorhead|MN|US|-96.77|46.87|42|N|,Moorpark|CA|US|-118.88|34.29|36|N|,Moose Jaw|SK|CA|-105.53|50.4|33|N|,Moradabad|uttar pradesh|IN|78.78|28.84|721|W|,Morelia|MX16|MX|-101.18|19.7|743|NW|,Moreno Valley|CA|US|-117.23|33.94|204|N|,Morgan Hill|CA|US|-121.65|37.13|42|N|,Morgantown|WV|US|-79.96|39.63|30|N|,Morningside Heights|NY|US|-73.96|40.81|55|N|,Moroleon|MX11|MX|-101.19|20.13|43|N|,Morris Heights|NY|US|-73.92|40.85|40|N|,Morristown|TN|US|-83.29|36.21|29|N|,Moscow|moscow|RU|37.62|55.75|10381|W|moscou;moscova;moscovo;moscu;matxcova;mosca;moskau;moskou;moskova;moskva;moskwa;mat xco va,Moscow|ID|US|-117|46.73|25|N|,Mosul|nineveh|IQ|43.12|36.34|1683|W|mosoel;mossoul;mossul;musul,Mott Haven|NY|US|-73.92|40.81|51|N|,Mount Juliet|TN|US|-86.52|36.2|31|N|,Mount Laurel|NJ|US|-74.89|39.93|41|N|,Mount Lebanon|PA|US|-80.05|40.36|32|N|,Mount Olive-Silverstone-Jamestown|ON|CA|-79.59|43.75|32|N|,Mount Pleasant|SC|US|-79.86|32.79|81|N|mt pleasant,Mount Pleasant|DC|US|-77.04|38.93|35|N|ingleside;mount pleasant village;rosemont park;walbridge,Mount Pleasant|BC|CA|-123.1|49.27|33|N|,Mount Pleasant|WI|US|-87.86|42.7|26|N|,Mount Pleasant|MI|US|-84.77|43.6|26|N|mt pleasant,Mount Pleasant West|ON|CA|-79.39|43.7|29|N|,Mount Prospect|IL|US|-87.94|42.07|54|N|,Mount Vernon|NY|US|-73.84|40.91|68|N|,Mount Vernon|WA|US|-122.33|48.42|34|N|,Mountain View|CA|US|-122.08|37.39|80|N|,Moyotzingo|MX21|MX|-98.4|19.25|27|N|,Mt Pleasant|BC|CA|-123.1|49.26|32|N|,Mudanjiang|heilongjiang|CN|129.63|44.55|665|W|mu tan tiang,Mukalla|muhafazat hadramaout|YE|49.12|14.54|594|W|al mukalla;mukala,Mulenvos|luanda|AO|13.33|-8.87|882|W|,Multan|punjab|PK|71.48|30.2|2169|W|,Mumbai|maharashtra|IN|72.88|19.07|12691|W|mumbaj;mumbay;bombay;bombaim;bombaj,Muncie|IN|US|-85.39|40.19|70|N|,Mundelein|IL|US|-88|42.26|31|N|,Munich|bavaria|DE|11.58|48.14|1505|W|munchen;mnichov;monachium;monaco di baviera;muenchen;munique;munih,Murfreesboro|TN|US|-86.39|35.85|165|N|,Murray|UT|US|-111.89|40.67|49|N|,Murrieta|CA|US|-117.21|33.55|109|N|,Muscat|muscat|OM|58.41|23.58|797|W|mascate;maskat;masqat;muskat,Muskegon|MI|US|-86.25|43.23|38|N|,Muskogee|OK|US|-95.37|35.75|38|N|,Muzaffarabad|azad kashmir|PK|73.47|34.37|725|W|,Mwanza|mwanza|TZ|32.9|-2.52|1104|W|,Myrtle Beach|SC|US|-78.89|33.69|31|N|,Mysuru|karnataka|IN|76.64|12.3|920|W|maisur;mysore,N'Djamena|n djamena|TD|15.04|12.11|1359|W|yamena;indschamina;ndjamena;ndzamena,Nacogdoches|TX|US|-94.66|31.6|33|N|,Nagoya|aichi|JP|136.91|35.18|2332|W|nagoia;nagoja;nagoya city;nagoya shi,Nagpur|maharashtra|IN|79.08|21.15|2405|W|,Nairobi|nairobi county|KE|36.82|-1.28|4397|W|,Najafgarh|delhi|IN|76.98|28.61|1365|W|,Namangan|namangan|UZ|71.67|41|713|W|namanga;nemengan,Nampa|ID|US|-116.56|43.54|89|N|,Nampula|nampula|MZ|39.27|-15.12|770|W|,Nanaimo|BC|CA|-123.94|49.17|90|N|,Nanchang|jiangxi|CN|115.85|28.68|2357|W|nam xuong;nan cchang,Nanchital de Lazaro Cardenas del Rio|MX30|MX|-94.41|18.07|25|N|villa nanchital,Nanchong|sichuan|CN|106.08|30.8|1858|W|nam sung;nan cchung,Nanjing|jiangsu|CN|118.78|32.06|9314|W|nankin;nam kinh;nanchino;nanquim;nankijn,Nanning|guangxi|CN|108.32|22.82|3839|W|nam ninh;nan ning,Nantong|jiangsu|CN|120.87|32.03|2273|W|nam thong;nan tchung,Nanyang|henan|CN|112.55|33.01|1811|W|nam duong;nan jang,Napa|CA|US|-122.29|38.3|80|N|,Naperville|IL|US|-88.15|41.79|147|N|,Naples|campania|IT|14.27|40.85|909|W|neapel;napels;napoli;neapol;neapole;napoles,Narela|delhi|IN|77.09|28.85|800|W|,Nashik|maharashtra|IN|73.79|20|1486|W|,Nashua|NH|US|-71.47|42.77|87|N|,Nashville|TN|US|-86.78|36.17|689|NW|,Natal|rio grande do norte|BR|-35.21|-5.79|896|W|,Natick|MA|US|-71.35|42.28|32|N|,National City|CA|US|-117.1|32.68|61|N|,Naucalpan de Juarez|MX15|MX|-99.24|19.48|834|NW|naucalpan,Naugatuck|CT|US|-73.05|41.49|31|N|,Navarre|FL|US|-86.86|30.4|31|N|,Navi Mumbai|maharashtra|IN|73.02|19.04|2600|W|nova bombaim;new bombay,Navojoa|MX26|MX|-109.44|27.07|113|N|,Navolato|MX25|MX|-107.7|24.77|29|N|,Nay Pyi Taw|nay pyi taw|MM|96.13|19.75|925|W|naipidau;naypyidaw;naypyitaw,Ndola|copperbelt|ZM|28.64|-12.96|627|W|,Near North Side|IL|US|-87.63|41.9|85|N|,Needham|MA|US|-71.23|42.28|28|N|,Neenah|WI|US|-88.46|44.19|25|N|,Neijiang|sichuan|CN|105.06|29.58|1251|W|nej tiang,Nepean|ON|CA|-75.72|45.34|180|N|,Neufchatel-Est-Lebourgneuf|QC|CA|-71.34|46.85|37|N|,New Albany|IN|US|-85.82|38.29|36|N|,New Bedford|MA|US|-70.93|41.64|101|N|,New Berlin|WI|US|-88.11|42.98|39|N|,New Bern|NC|US|-77.04|35.11|30|N|,New Braunfels|TX|US|-98.12|29.7|70|N|,New Britain|CT|US|-72.78|41.66|72|N|,New Brunswick|NJ|US|-74.45|40.49|57|N|nuevo brunswick,New City|IL|US|-87.66|41.81|40|N|,New City|NY|US|-73.99|41.15|33|N|,New Haven|CT|US|-72.93|41.31|130|N|,New Iberia|LA|US|-91.82|30|30|N|la nouvelle iberie;nueva iberia,New Kingston|saint andrew parish|JM|-76.78|18.01|583|W|,New Lenox|IL|US|-87.97|41.51|25|N|,New London|CT|US|-72.1|41.36|27|N|,New Orleans|LA|US|-90.08|29.95|362|N|nova orleaes;nowy orlean;nueva orleans;new orleans louisiana;la nouvelle orleans,New Rochelle|NY|US|-73.78|40.91|79|N|nouvelle rochelle;nueva rochelle,New South Memphis|TN|US|-90.06|35.09|641|NW|,New Taipei City|taipei|TW|121.46|25.06|4004|W|new taipei;neu taipeh;nieuw taipei;nouveau taipei;nova taipe;nova tchaj pej;nowe tajpej;nueva taipei;nuova taipei;xinbei city;yeni taipei,New Territories||HK|114.11|22.42|3984|W|new territory hong kong,New Westminster|BC|CA|-122.91|49.21|78|N|new westminister,New York City|NY|US|-74.01|40.71|8804|NW|new york;nueva york;kota new york;new york kenti;nova iorque;nowy jork;nuova york,Newark|NJ|US|-74.17|40.74|281|N|,Newark|OH|US|-82.4|40.06|47|N|,Newark|CA|US|-122.04|37.53|45|N|,Newark|DE|US|-75.75|39.68|33|N|,Newburgh|NY|US|-74.01|41.5|28|N|,Newington|CT|US|-72.72|41.7|30|N|,Newmarket|ON|CA|-79.47|44.05|91|N|,Newnan|GA|US|-84.8|33.38|37|N|,Newport Beach|CA|US|-117.93|33.62|87|N|,Newport News|VA|US|-76.43|36.98|186|N|,Newton|BC|CA|-122.85|49.13|159|N|surrey newton,Newton|MA|US|-71.21|42.34|88|N|,Nha Trang|khanh hoa|VN|109.19|12.25|579|W|,Niagara|ON|CA|-79.41|43.64|31|N|,Niagara Falls|ON|CA|-79.07|43.1|99|N|cataratas del niagara;chutes niagara,Niagara Falls|NY|US|-79.06|43.09|48|N|,Niamey|niamey|NE|2.11|13.51|1323|W|,Nicholasville|KY|US|-84.57|37.88|29|N|,Nicolas Romero|MX15|MX|-99.31|19.64|281|N|ciudad nicolas romero,Niigata|niigata|JP|139.04|37.92|797|W|,Niles|IL|US|-87.8|42.02|29|N|,Ningbo|zhejiang|CN|121.55|29.88|3731|W|ninh ba,Nizhniy Novgorod|nizhny novgorod oblast|RU|44|56.33|1259|W|nijni novgorod;nischni nowgorod;nizhny novgorod;nizhni novgorod;nizjnij novgorod;nizni novgorod;gorkij,Noblesville|IN|US|-86.01|40.05|59|N|,Nogales|MX26|MX|-110.94|31.31|264|N|heroica nogales;los nogales,Norco|CA|US|-117.55|33.93|26|N|,Norfolk|VA|US|-76.29|36.85|238|N|,Norfolk County|ON|CA|-80.38|42.83|60|N|,Normal|IL|US|-88.99|40.51|54|N|,Norman|OK|US|-97.44|35.22|128|N|,Norristown|PA|US|-75.34|40.12|34|N|,North Andover|MA|US|-71.14|42.7|28|N|,North Bay|ON|CA|-79.47|46.32|50|N|,North Bel Air|MD|US|-76.35|39.54|33|N|,North Bergen|NJ|US|-74.01|40.8|63|N|,North Bethesda|MD|US|-77.12|39.04|43|N|,North Brunswick|NJ|US|-74.48|40.45|43|N|,North Center|IL|US|-87.68|41.95|34|N|,North Charleston|SC|US|-79.97|32.85|108|N|,North Chicago|IL|US|-87.84|42.33|29|N|,North Chicopee|MA|US|-72.6|42.18|55|N|,North Cowichan|BC|CA|-123.69|48.84|29|N|,North Creek|WA|US|-122.18|47.82|26|N|,North Delta|BC|CA|-122.92|49.17|60|N|nord delta,North Fort Myers|FL|US|-81.88|26.67|39|N|n ft myers,North Highlands|CA|US|-121.37|38.69|42|N|,North Hills|CA|US|-118.48|34.24|56|N|,North Hollywood|CA|US|-118.38|34.17|64|N|lankershim;toluca,North Kingstown|RI|US|-71.47|41.55|28|N|n kingstown,North La Crosse|WI|US|-91.25|43.85|50|N|,North Las Vegas|NV|US|-115.12|36.2|234|N|,North Lauderdale|FL|US|-80.23|26.22|43|N|n lauderdale,North Lawndale|IL|US|-87.72|41.86|35|N|,North Little Rock|AR|US|-92.27|34.77|66|N|,North Miami|FL|US|-80.19|25.89|62|N|,North Miami Beach|FL|US|-80.16|25.93|43|N|,North Olmsted|OH|US|-81.92|41.42|32|N|,North Peoria|IL|US|-89.58|40.72|113|N|,North Port|FL|US|-82.24|27.04|62|N|,North Providence|RI|US|-71.47|41.85|33|N|,North Richland Hills|TX|US|-97.23|32.83|69|N|,North Ridgeville|OH|US|-82.02|41.39|32|N|,North Royalton|OH|US|-81.72|41.31|30|N|n royalton,North Stamford|CT|US|-73.54|41.14|121|N|,North Tonawanda|NY|US|-78.86|43.04|30|N|,North Vancouver|BC|CA|-123.07|49.32|88|N|vancouver utara,Northampton|MA|US|-72.64|42.33|28|N|,Northbrook|IL|US|-87.83|42.13|33|N|,Northglenn|CO|US|-104.99|39.89|39|N|,Northridge|CA|US|-118.54|34.23|68|N|,Norwalk|CA|US|-118.08|33.9|107|N|,Norwalk|CT|US|-73.41|41.12|88|N|,Norwich|CT|US|-72.08|41.52|39|N|,Norwood|MA|US|-71.2|42.19|28|N|,Notre-Dame-de-Grace|QC|CA|-73.61|45.48|68|N|,Nouakchott||MR|-15.98|18.09|1184|W|nawakszut;nuakchot;nuaksot;nuaksott,Nova Iguacu|rio de janeiro|BR|-43.45|-22.76|843|W|,Novato|CA|US|-122.57|38.11|55|N|,Novi|MI|US|-83.48|42.48|58|N|,Novosibirsk|novosibirsk oblast|RU|82.93|55.02|1612|W|novossibirsk;nowosibirsk;nowosybirsk;novo nikolaevsk;novonikolayevsk,Nowrangapur|odisha|IN|82.55|19.23|1220|W|,Nueva Italia de Ruiz|MX16|MX|-102.09|19.02|32|N|,Nueva Rosita|MX07|MX|-101.22|27.94|38|N|,Nuevo Casas Grandes|MX06|MX|-107.91|30.42|55|N|,Nuevo Laredo|MX28|MX|-99.52|27.48|416|N|novo laredo,Nuevo Mexico|MX14|MX|-103.44|20.76|28|N|,Nutana Sector|SK|CA|-106.64|52.1|72|N|,Nutley|NJ|US|-74.16|40.82|27|N|,O'Fallon|MO|US|-90.7|38.81|85|N|,O'Fallon|IL|US|-89.91|38.59|29|N|,Oak Creek|WI|US|-87.86|42.89|35|N|,Oak Forest|IL|US|-87.74|41.6|28|N|,Oak Hill|VA|US|-77.4|38.93|33|N|,Oak Lawn|IL|US|-87.76|41.71|56|N|oaklawn,Oak Park|IL|US|-87.78|41.89|52|N|,Oak Park|MI|US|-83.18|42.46|29|N|,Oak Ridge|TN|US|-84.27|36.01|29|N|,Oakdale|MN|US|-92.96|44.96|28|N|,Oakland|CA|US|-122.27|37.8|419|N|,Oakland Park|FL|US|-80.13|26.17|44|N|,Oakley|CA|US|-121.71|38|39|N|,Oakton|VA|US|-77.3|38.88|34|N|,Oakville|ON|CA|-79.68|43.45|213|N|,Oakville|MO|US|-90.3|38.47|36|N|,Oaxaca|MX20|MX|-96.73|17.06|255|N|oaxaca city;oaxaca by;oaxaca de juarez,Ocala|FL|US|-82.14|29.19|58|N|,Oceanside|CA|US|-117.38|33.2|175|N|,Oceanside|NY|US|-73.64|40.64|32|N|,Ocoee|FL|US|-81.54|28.57|43|N|,Ocosingo|MX05|MX|-92.09|16.91|41|N|,Ocotlan|MX14|MX|-102.77|20.35|83|N|,Ocoyoacac|MX15|MX|-99.46|19.27|26|N|,Ocozocoautla de Espinosa|MX05|MX|-93.37|16.76|39|N|la ventosa,Odenton|MD|US|-76.7|39.08|37|N|,Odesa|odesa|UA|30.74|46.49|1010|W|odessa;khadjibey,Odessa|TX|US|-102.37|31.85|114|N|,Ogden|UT|US|-111.97|41.22|85|N|,Oildale|CA|US|-119.02|35.42|32|N|,Ojinaga|MX06|MX|-104.54|29.57|28|N|,Ojo de Agua|MX15|MX|-99.01|19.68|386|N|,Okanagan Mission|BC|CA|-119.48|49.82|38|N|,Okayama|okayama|JP|133.93|34.65|724|W|okajama,Oklahoma City|OK|US|-97.52|35.47|681|NW|kota oklahoma;okla city,Okotoks|AB|CA|-113.98|50.73|30|N|,Olathe|KS|US|-94.82|38.88|134|N|,Olive Branch|MS|US|-89.83|34.96|36|N|,Olney|PA|US|-75.12|40.04|39|N|mccartersville,Olney|MD|US|-77.07|39.15|33|N|,Olympia|WA|US|-122.9|47.04|55|N|,Omaha|NE|US|-95.94|41.26|486|N|,Omdurman|khartoum|SD|32.48|15.64|1849|W|omdourman;umm durman,Omsk|omsk oblast|RU|73.37|54.99|1172|W|omsc,Onitsha|anambra|NG|6.79|6.15|1553|W|,Ontario|CA|US|-117.65|34.06|171|N|,Opelika|AL|US|-85.38|32.65|29|N|,Opportunity|WA|US|-117.24|47.65|25|N|,Oran|oran|DZ|-0.64|35.7|803|W|orano;ora,Orange|CA|US|-117.85|33.79|140|N|,Orange|NJ|US|-74.23|40.77|34|N|,Orangevale|CA|US|-121.23|38.68|33|N|,Orangeville|ON|CA|-80.1|43.92|30|N|,Orcutt|CA|US|-120.44|34.87|28|N|,Ordos|inner mongolia|CN|109.78|39.61|1940|W|,Oregon City|OR|US|-122.61|45.36|35|N|,Orem|UT|US|-111.69|40.3|94|N|,Orillia|ON|CA|-79.42|44.61|31|N|,Orizaba|MX30|MX|-97.1|18.85|123|N|,Orland Park|IL|US|-87.85|41.63|58|N|,Orlando|FL|US|-81.38|28.54|334|N|,Orleans|ON|CA|-75.5|45.46|125|N|,Ormond Beach|FL|US|-81.06|29.29|40|N|,Oro Valley|AZ|US|-110.97|32.39|45|N|,Orumiyeh|west azerbaijan|IR|45.08|37.55|577|W|ourmia;urmia;urmiye,Osaka|osaka|JP|135.5|34.69|2753|W|osaka shi;osaacke,Osasco|sao paulo|BR|-46.79|-23.53|728|W|,Oshawa|ON|CA|-78.85|43.9|175|N|,Oshkosh|WI|US|-88.54|44.02|66|N|,Oslo|oslo|NO|10.75|59.91|1082|W|,Osogbo|osun state|NG|4.56|7.77|645|W|oshogbo,Ossining|NY|US|-73.86|41.16|25|N|,Oswego|IL|US|-88.35|41.68|33|N|,Ota|tokyo|JP|139.72|35.56|748|W|ota ku,Ottawa|ON|CA|-75.7|45.41|1017|NW|otava;aa,Ottawa South|ON|CA|-75.69|45.39|125|N|,Ouagadougou|centre|BF|-1.53|12.37|2415|W|uagadugu;wagadugu,Overbrook|PA|US|-75.24|39.99|32|N|,Overland Park|KS|US|-94.67|38.98|186|N|,Oviedo|FL|US|-81.21|28.67|38|N|,Owasso|OK|US|-95.85|36.27|34|N|,Owatonna|MN|US|-93.23|44.08|25|N|,Owensboro|KY|US|-87.11|37.77|59|N|,Owings Mills|MD|US|-76.78|39.42|30|N|,Oxford Circle|PA|US|-75.07|40.05|48|N|,Oxnard|CA|US|-119.18|34.2|207|N|,Oxon Hill-Glassmanor|MD|US|-76.97|38.8|35|N|,Oyo|oyo state|NG|3.93|7.85|736|W|oio,Ozone Park|NY|US|-73.84|40.68|53|N|,Pabellon de Arteaga|MX01|MX|-102.28|22.15|28|N|,Pachuca de Soto|MX13|MX|-98.73|20.12|256|N|pachuca,Pacifica|CA|US|-122.49|37.61|39|N|,Padang|west sumatra|ID|100.35|-0.95|942|W|kota padang,Pahrump|NV|US|-115.98|36.21|36|N|,Palatine|IL|US|-88.03|42.11|69|N|,Palembang|south sumatra|ID|104.75|-2.92|1801|W|kota palembang;palimbao,Palenque|MX05|MX|-91.98|17.51|42|N|ruinas de palenque,Palermo|sicily|IT|13.36|38.12|648|W|palerme;palermu,Pallabi|dhaka division|BD|90.37|23.82|597|W|,Palm Bay|FL|US|-80.59|28.03|119|N|,Palm Beach Gardens|FL|US|-80.14|26.82|52|N|,Palm Coast|FL|US|-81.21|29.58|82|N|,Palm Desert|CA|US|-116.38|33.72|51|N|,Palm Harbor|FL|US|-82.76|28.08|57|N|,Palm Springs|CA|US|-116.55|33.83|47|N|,Palmdale|CA|US|-118.12|34.58|158|N|,Palo Alto|CA|US|-122.14|37.44|66|N|,Panama City|FL|US|-85.66|30.16|38|N|,Panjin|liaoning|CN|122.07|41.12|1166|W|,Panorama Hills|AB|CA|-114.08|51.15|25|N|,Panshan|liaoning|CN|122.05|41.19|625|W|,Panuco|MX30|MX|-98.18|22.05|40|N|,Panzhihua|sichuan|CN|101.71|26.59|787|W|,Papantla de Olarte|MX30|MX|-97.32|20.45|53|N|,Paracho de Verduzco|MX16|MX|-102.05|19.65|37|N|,Paradise|NV|US|-115.15|36.1|223|N|,Paradise|CA|US|-121.62|39.76|26|N|,Paragould|AR|US|-90.5|36.06|27|N|,Paraiso|MX27|MX|-93.21|18.4|86|N|,Paramount|CA|US|-118.16|33.89|55|N|,Paramus|NJ|US|-74.08|40.94|26|N|,Paranaque City|national capital region|PH|121.02|14.48|703|W|,Parc-Extension|QC|CA|-73.63|45.53|33|N|,Paris|ile de france|FR|2.35|48.85|2138|W|parijs;pa ri;parigi;pariisi;paryz;pariz,Park Ridge|IL|US|-87.84|42.01|37|N|,Park Slope|NY|US|-73.99|40.67|65|N|,Parkchester|NY|US|-73.86|40.84|65|N|,Parker|CO|US|-104.76|39.52|49|N|,Parkersburg|WV|US|-81.56|39.27|30|N|,Parkland|WA|US|-122.43|47.16|35|N|,Parkland|FL|US|-80.24|26.31|30|N|,Parkville|MD|US|-76.54|39.38|30|N|,Parkwoods-Donalda|ON|CA|-79.33|43.76|34|N|,Parma|OH|US|-81.72|41.4|79|N|,Parras de la Fuente|MX07|MX|-102.18|25.44|33|N|,Parsippany|NJ|US|-74.43|40.86|51|N|,Pasadena|TX|US|-95.21|29.69|153|N|,Pasadena|CA|US|-118.14|34.15|142|N|,Pasco|WA|US|-119.1|46.24|69|N|,Pasig City|national capital region|PH|121.06|14.59|853|W|pasig,Paso Robles|CA|US|-120.69|35.63|27|N|el paso de robles,Passaic|NJ|US|-74.13|40.86|71|N|,Paterson|NJ|US|-74.17|40.92|147|N|,Patna|bihar|IN|85.14|25.59|1684|W|,Patzcuaro|MX16|MX|-101.61|19.51|55|N|,Pawtucket|RI|US|-71.38|41.88|71|N|,Peabody|MA|US|-70.93|42.53|52|N|,Peachtree City|GA|US|-84.6|33.4|35|N|,Peachtree Corners|GA|US|-84.22|33.97|40|N|,Pearl|MS|US|-90.13|32.27|26|N|,Pearl City|HI|US|-157.98|21.4|47|N|,Pearland|TX|US|-95.29|29.56|108|N|,Pekanbaru|riau|ID|101.44|0.52|1167|W|kota pekanbaru;pakanbaru,Pekin|IL|US|-89.64|40.57|33|N|,Pelentong|johor|MY|103.82|1.52|583|W|,Pembroke Pines|FL|US|-80.22|26|166|N|,Penjamo|MX11|MX|-101.72|20.43|40|N|,Penn Hills|PA|US|-79.84|40.5|44|N|,Pennsauken|NJ|US|-75.06|39.96|36|N|,Pennsport|PA|US|-75.15|39.93|26|N|,Pensacola|FL|US|-87.22|30.42|53|N|pensacola i florida,Penticton|BC|CA|-119.59|49.48|33|N|,Peoria|AZ|US|-112.24|33.58|190|N|,Peoria|IL|US|-89.59|40.69|115|N|,Perm|perm krai|RU|56.25|58.01|982|W|molotov,Perote|MX30|MX|-97.24|19.56|37|N|,Perris|CA|US|-117.23|33.78|74|N|,Perry Hall|MD|US|-76.46|39.41|28|N|,Perth|western australia|AU|115.86|-31.95|2384|W|,Perth Amboy|NJ|US|-74.27|40.51|52|N|,Peshawar|khyber pakhtunkhwa|PK|71.58|34.01|4758|W|peschawar;pesjawar;peszawar;pexauar;pesaver;pesavar,Pest|budapest|HU|19.08|47.5|1001|W|pesta;peste;peszt,Petaling Jaya|selangor|MY|101.61|3.11|807|W|,Petaluma|CA|US|-122.64|38.23|60|N|,Peterborough|ON|CA|-78.32|44.3|85|N|,Petersburg|VA|US|-77.4|37.23|32|N|,Pflugerville|TX|US|-97.62|30.44|57|N|,Pharr|TX|US|-98.18|26.19|76|N|,Phenix City|AL|US|-85|32.47|37|N|,Philadelphia|PA|US|-75.16|39.95|1573|NW|filadelfia;filadelfie;philadelphie,Phnom Penh|phnom penh|KH|104.92|11.56|1573|W|nom pen;phnompenh;phon phen;pnom pene;pnom penh,Phoenix|AZ|US|-112.07|33.45|1650|NW|,Pickering|ON|CA|-79.13|43.9|91|N|,Pico Rivera|CA|US|-118.1|33.98|64|N|,Piedras Negras|MX07|MX|-100.52|28.7|150|N|piedrasnegras,Pierrefonds|QC|CA|-73.89|45.46|59|N|,Pierrefonds-Roxboro|QC|CA|-73.84|45.5|73|N|,Pietermaritzburg|kwazulu natal|ZA|30.39|-29.62|839|W|,Pijijiapan|MX05|MX|-93.21|15.69|50|N|,Pikesville|MD|US|-76.72|39.37|30|N|,Pikine|dakar|SN|-17.39|14.76|1170|W|,Pimpri|maharashtra|IN|73.81|18.62|1284|W|,Pimpri-Chinchwad|maharashtra|IN|73.8|18.62|1727|W|pimpri cincvad,Pine Bluff|AR|US|-92|34.23|44|N|,Pine Hills|FL|US|-81.45|28.56|60|N|,Pinellas Park|FL|US|-82.7|27.84|51|N|,Pingdingshan|henan|CN|113.32|33.73|979|W|pching ting san,Pingxiang|jiangxi|CN|113.85|27.62|893|W|binh huong;pching siang,Pinotepa Nacional|MX20|MX|-98.05|16.34|29|N|pinotepa,Piscataway|NJ|US|-74.4|40.5|56|N|,Pittsburg|CA|US|-121.88|38.03|69|N|,Pittsburgh|PA|US|-80|40.44|304|N|pitsburgo,Pittsfield|MA|US|-73.25|42.45|43|N|,Piura|piura|PE|-80.66|-5.18|630|W|,Placentia|CA|US|-117.87|33.87|52|N|,Plainfield|NJ|US|-74.41|40.63|51|N|,Plainfield|IL|US|-88.2|41.63|42|N|,Plainfield|IN|US|-86.4|39.7|30|N|,Plainview|NY|US|-73.47|40.78|26|N|,Plano|TX|US|-96.7|33.02|283|N|,Plant City|FL|US|-82.11|28.02|37|N|,Plantation|FL|US|-80.23|26.13|92|N|,Playa del Carmen|MX23|MX|-87.08|20.63|149|N|,Pleasant Grove|UT|US|-111.74|40.36|38|N|pleasant grv,Pleasant Hill|CA|US|-122.06|37.95|34|N|,Pleasanton|CA|US|-121.87|37.66|79|N|,Pleasure Ridge Park|KY|US|-85.86|38.15|25|N|,Plum|PA|US|-79.75|40.5|27|N|,Plymouth|MN|US|-93.46|45.01|75|N|,Pocatello|ID|US|-112.45|42.87|54|N|,Poinciana|FL|US|-81.46|28.14|53|N|,Pointe-Claire|QC|CA|-73.82|45.45|30|N|,Pointe-Noire|pointe noire|CG|11.86|-4.78|1032|W|,Pokhara|gandaki pradesh|NP|83.97|28.27|600|W|,Polanco|MX09|MX|-99.2|19.43|50|N|col polanco;colonia polanco,Pomona|CA|US|-117.75|34.06|153|N|,Pompano Beach|FL|US|-80.12|26.24|107|N|,Ponte Vedra Beach|FL|US|-81.39|30.24|35|N|,Pontiac|MI|US|-83.29|42.64|59|N|,Pontianak|west kalimantan|ID|109.33|-0.03|686|W|kota pontianak,Port Arthur|TX|US|-93.94|29.89|55|N|,Port-au-Prince|ouest|HT|-72.34|18.54|1234|W|porto principe;puerto principe,Port Charlotte|FL|US|-82.09|26.98|54|N|,Port Chester|NY|US|-73.67|41|29|N|,Port Coquitlam|BC|CA|-122.77|49.27|58|N|,Port Harcourt|rivers state|NG|7.01|4.78|2120|W|,Port Huron|MI|US|-82.42|42.97|29|N|,Port Moody|BC|CA|-122.82|49.28|27|N|,Port Orange|FL|US|-81|29.14|59|N|,Port Richmond|PA|US|-75.1|39.99|27|N|richmond,Port Said|port said|EG|32.3|31.27|780|W|bursaid;porto said;puerto said,Port Saint Lucie|FL|US|-80.35|27.29|164|N|,Portage|MI|US|-85.58|42.2|48|N|,Portage|IN|US|-87.18|41.58|36|N|,Portage Park|IL|US|-87.77|41.96|64|N|,Porterville|CA|US|-119.02|36.07|56|N|,Porticos de San Antonio|MX02|MX|-117.03|32.44|34|N|,Portland|OR|US|-122.68|45.52|652|NW|,Portland|ME|US|-70.26|43.66|66|N|,Porto Alegre|rio grande do sul|BR|-51.23|-30.03|1488|W|puerto alegre,Portsmouth|VA|US|-76.3|36.84|96|N|,Portsmouth Heights|VA|US|-76.37|36.82|99|N|,Post Falls|ID|US|-116.95|47.72|30|N|,Potomac|MD|US|-77.21|39.02|44|N|,Poughkeepsie|NY|US|-73.92|41.7|30|N|,Poway|CA|US|-117.04|32.96|50|N|,Poza Rica de Hidalgo|MX30|MX|-97.46|20.53|185|N|poza rica,Prague|prague|CZ|14.42|50.09|1165|W|praag;prag;praga;praha,Prairieville|LA|US|-90.97|30.3|26|N|,Prattville|AL|US|-86.46|32.46|35|N|,Prayagraj|uttar pradesh|IN|81.84|25.44|1073|W|allahabad,Prescott|AZ|US|-112.47|34.54|41|N|,Prescott Valley|AZ|US|-112.32|34.61|42|N|,Pretoria|gauteng|ZA|28.19|-25.74|2112|W|pretorie,Prince Albert|SK|CA|-105.77|53.2|35|N|,Prince Edward|ON|CA|-77.25|44|25|N|prince edward county,Prince George|BC|CA|-122.75|53.92|78|N|,Princeton|FL|US|-80.41|25.54|39|N|,Princeton|NJ|US|-74.66|40.35|29|N|stony brook,Prior Lake|MN|US|-93.42|44.71|25|N|,Progreso|MX31|MX|-89.66|21.28|37|N|progreso de castro,Providence|RI|US|-71.41|41.82|190|N|,Provo|UT|US|-111.66|40.23|115|N|,Pudong|shanghai|CN|121.5|31.24|5681|W|,Puducherry|puducherry|IN|79.83|11.93|657|W|pondichery;pondicherry;territoire de pondichery;pondicherri,Puebla|MX21|MX|-98.21|19.05|1692|NW|puebla city;puebla de zaragoza;puebla de los angeles,Pueblo|CO|US|-104.61|38.25|109|N|,Pueblo West|CO|US|-104.72|38.35|29|N|,Puerto Escondido|MX20|MX|-97.07|15.86|29|N|,Puerto Penasco|MX26|MX|-113.54|31.32|62|N|,Puerto Vallarta|MX14|MX|-105.23|20.62|224|N|pto vallarta,Pullman|WA|US|-117.18|46.73|32|N|,Pune|maharashtra|IN|73.86|18.52|3124|W|poona,Puning|guangdong|CN|116.17|23.31|874|W|,Purisima de Bustos|MX11|MX|-101.88|21.03|43|N|,Puruandiro|MX16|MX|-101.52|20.09|30|N|,Putian|fujian|CN|119.01|25.44|1539|W|pchu tchien,Putuo|shanghai|CN|121.39|31.25|1239|W|,Puxi|shanghai|CN|121.47|31.24|6683|W|,Puyallup|WA|US|-122.29|47.19|39|N|,Puyang|zhejiang|CN|119.89|29.46|3590|W|pujiang,Puyang|henan|CN|115.04|35.76|655|W|pchu jang,Pyongyang|pyongyang|KP|125.75|39.03|3222|W|p yongyang;p yongyang si;pchjongjang;phenian;pionguiangue;pionyang;pjongjang;pyongyang si,Qingdao|shandong|CN|120.38|36.06|7172|W|cching tao;tsingtau,Qingpu|shanghai|CN|121.11|31.15|1271|W|,Qingyang|gansu|CN|107.64|35.71|2125|W|,Qingyuan|guangdong|CN|113.03|23.7|1738|W|cching juan,Qinhuangdao|hebei|CN|119.59|39.94|759|W|cchin chuang tao,Qinzhou|guangxi|CN|108.65|21.98|1296|W|kham chau;cchin cou,Qiqihar|heilongjiang|CN|123.96|47.34|882|W|cicikar,Qom|qom province|IR|50.88|34.64|900|W|kom;kum,Quanzhou|fujian|CN|118.59|24.91|1469|W|cchuan cou;chinchew;chinchu;zayton,Quebec|QC|CA|-71.21|46.81|531|N|kota quebec;quebec city,Queen Creek|AZ|US|-111.63|33.25|34|N|,Queens|NY|US|-73.84|40.68|2316|NW|borough of queens;comte de queens;condado de queens;queens county,Queens Village|NY|US|-73.74|40.73|51|N|,Queensbury|NY|US|-73.61|43.38|27|N|,Quetta|balochistan|PK|67|30.18|1565|W|ketta;kveta;kweta,Quezon City|national capital region|PH|121.05|14.65|3084|W|ciudad quezon;quezon stadt,Quincy|MA|US|-71|42.25|93|N|,Quincy|IL|US|-91.41|39.94|40|N|,Quinte West|ON|CA|-77.57|44.18|43|N|,Quito|pichincha|EC|-78.52|-0.23|2781|W|san francisco de quito,Qujing|yunnan|CN|103.78|25.48|1408|W|khuc tinh;cchu ting,Quzhou|zhejiang|CN|118.87|28.96|902|W|cu chau;cchu cou,Ra's Bayrut|beirut|LB|35.48|33.9|1251|W|,Rabat|rabat sale kenitra|MA|-6.83|34.01|1655|W|,Racine|WI|US|-87.78|42.73|77|N|,Radnor|PA|US|-75.36|40.05|30|N|,Rahway|NJ|US|-74.28|40.61|29|N|,Raipur|chhattisgarh|IN|81.63|21.23|1027|W|,Rajkot|gujarat|IN|70.79|22.29|1390|W|radzkot,Rajshahi|rajshahi division|BD|88.6|24.37|763|W|,Raleigh|NC|US|-78.64|35.77|482|N|,Ramos Arizpe|MX07|MX|-100.95|25.54|66|N|,Ramsey|MN|US|-93.45|45.26|25|N|,Ranchi|jharkhand|IN|85.31|23.34|1120|W|ranci,Rancho Cordova|CA|US|-121.3|38.59|71|N|,Rancho Cucamonga|CA|US|-117.59|34.11|175|N|,Rancho Palos Verdes|CA|US|-118.39|33.74|42|N|,Rancho Penasquitos|CA|US|-117.12|32.96|60|N|,Rancho Santa Margarita|CA|US|-117.6|33.64|49|N|,Randallstown|MD|US|-76.8|39.37|32|N|,Randolph|MA|US|-71.04|42.16|32|N|,Randolph|NJ|US|-74.58|40.85|25|N|randolph township,Rangpur|rangpur division|BD|89.25|25.75|1031|W|rangpur city;rongpur,Rapid City|SD|US|-103.23|44.08|73|N|,Rasapudipalem|andhra pradesh|IN|83.32|17.73|1728|W|,Rasht|gilan province|IR|49.59|37.28|594|W|rascht;rasjt;raszt;rast;rest,Rawalpindi|punjab|PK|73.05|33.6|3357|W|ravalpindi,Raytown|MO|US|-94.46|39.01|29|N|,Reading|PA|US|-75.93|40.34|87|N|,Recife|pernambuco|BR|-34.88|-8.05|1653|W|,Red Deer|AB|CA|-113.8|52.27|100|N|,Redan|GA|US|-84.13|33.75|33|N|,Redding|CA|US|-122.39|40.59|91|N|,Redford|MI|US|-83.3|42.38|49|N|,Redlands|CA|US|-117.18|34.06|71|N|,Redmond|WA|US|-122.12|47.67|60|N|,Redmond|OR|US|-121.17|44.27|28|N|,Redondo Beach|CA|US|-118.39|33.85|68|N|,Redwood City|CA|US|-122.24|37.49|85|N|,Reedley|CA|US|-119.45|36.6|25|N|,Reforma|MX05|MX|-93.15|17.86|26|N|,Regina|SK|CA|-104.62|50.45|226|N|,Rego Park|NY|US|-73.85|40.73|43|N|,Reisterstown|MD|US|-76.83|39.47|25|N|,Renfrew-Collingwood|BC|CA|-123.04|49.24|51|N|,Reno|NV|US|-119.81|39.53|264|N|,Renton|WA|US|-122.22|47.48|100|N|,Repentigny|QC|CA|-73.45|45.74|84|N|,Reseda|CA|US|-118.54|34.2|65|N|,Reston|VA|US|-77.34|38.97|58|N|,Revere|MA|US|-71.01|42.41|53|N|,Rexburg|ID|US|-111.79|43.83|27|N|,Reynoldsburg|OH|US|-82.81|39.95|37|N|,Reynosa|MX28|MX|-98.28|26.08|589|NW|,Rhawnhurst|PA|US|-75.06|40.06|25|N|,Rialto|CA|US|-117.37|34.11|103|N|,Ribeirao Preto|sao paulo|BR|-47.81|-21.18|698|W|ribeirao,Richardson|TX|US|-96.73|32.95|110|N|,Richfield|MN|US|-93.28|44.88|36|N|,Richland|WA|US|-119.28|46.29|54|N|,Richmond|VA|US|-77.46|37.55|226|N|,Richmond|BC|CA|-123.14|49.17|209|N|,Richmond|CA|US|-122.35|37.94|109|N|,Richmond|IN|US|-84.89|39.83|35|N|,Richmond|KY|US|-84.29|37.75|33|N|,Richmond Hill|ON|CA|-79.44|43.87|202|N|,Richmond Hill|NY|US|-73.83|40.7|98|N|,Richmond West|FL|US|-80.43|25.61|35|N|,Ridgecrest|CA|US|-117.67|35.62|28|N|,Ridgewood|NY|US|-73.91|40.7|69|N|,Ridgewood|NJ|US|-74.12|40.98|25|N|,Riga|riga|LV|24.11|56.95|742|W|riika;ryga,Rimouski|QC|CA|-68.52|48.45|42|N|,Rincon de Romos|MX01|MX|-102.32|22.23|27|N|,Rio Blanco|MX30|MX|-97.16|18.83|40|N|,Rio de Janeiro|rio de janeiro|BR|-43.18|-22.91|6747|W|,Rio de Teapa|MX27|MX|-92.9|17.77|26|N|,Rio Grande|MX32|MX|-103.03|23.83|32|N|,Rio Rancho|NM|US|-106.66|35.23|87|N|,Rioverde|MX24|MX|-99.99|21.93|53|N|,Riverside|CA|US|-117.4|33.95|317|N|,Riverton|UT|US|-111.94|40.52|41|N|,Riverview|FL|US|-82.33|27.87|71|N|,Riviera Beach|FL|US|-80.06|26.78|34|N|,Riviere-des-Prairies-Pointe-aux-Trembles|QC|CA|-73.58|45.64|113|N|,Riyadh|riyadh region|SA|46.72|24.69|4205|W|riad;riade;rijad;riyad,Rizhao|shandong|CN|119.53|35.41|661|W|z cao,Roanoke|VA|US|-79.94|37.27|100|N|,Rochester|NY|US|-77.62|43.15|209|N|,Rochester|MN|US|-92.47|44.02|112|N|,Rochester|NH|US|-70.98|43.3|30|N|,Rochester Hills|MI|US|-83.15|42.66|73|N|,Rock Forest|QC|CA|-72|45.36|35|N|,Rock Hill|SC|US|-81.03|34.92|71|N|,Rock Island|IL|US|-90.58|41.51|38|N|,Rockford|IL|US|-89.09|42.27|148|N|,Rocklin|CA|US|-121.24|38.79|61|N|,Rockville|MD|US|-77.15|39.08|66|N|hungerford s tavern;hungerfords;hungerfords tavern;montgomery court house;montgomery courthouse;owen s ordinary;williamsburg;williamsburgh,Rockwall|TX|US|-96.46|32.93|42|N|,Rocky Mount|NC|US|-77.79|35.94|55|N|,Rogers|AR|US|-94.12|36.33|63|N|,Rogers Park|IL|US|-87.67|42.01|54|N|,Rohini|delhi|IN|77.07|28.74|860|W|,Rohnert Park|CA|US|-122.7|38.34|42|N|,Rome|lazio|IT|12.51|41.89|2318|W|rom;roma;rooma;rzym;rim,Rome|GA|US|-85.16|34.26|36|N|,Rome|NY|US|-75.46|43.21|32|N|roma,Romeoville|IL|US|-88.09|41.65|39|N|,Rosario|santa fe|AR|-60.64|-32.95|948|W|,Rosarito|MX02|MX|-117.05|32.36|100|N|rosario;rosarito beach baja,Rosedale|NY|US|-73.74|40.66|25|N|,Rosemead|CA|US|-118.07|34.08|54|N|,Rosemont-La Petite-Patrie|QC|CA|-73.61|45.54|146|N|,Rosenberg|TX|US|-95.81|29.56|35|N|,Roseville|CA|US|-121.29|38.75|130|N|,Roseville|MI|US|-82.94|42.5|47|N|,Roseville|MN|US|-93.16|45.01|35|N|,Roslindale|MA|US|-71.12|42.29|27|N|,Rostov-on-Don|rostov|RU|39.71|47.22|1130|W|rostov na donu;rostow am don;rostov aan de don;rostov del don;rostov do don;rostov sul don;rostov tren song dong;rostov ved don;rostov pe don;rostov sur le don;rostow nad donem,Roswell|GA|US|-84.36|34.02|94|N|,Roswell|NM|US|-104.52|33.39|48|N|,Rotterdam|south holland|NL|4.48|51.92|868|W|roterdao;roterdam,Rouge|ON|CA|-79.17|43.8|46|N|,Round Lake Beach|IL|US|-88.09|42.37|27|N|,Round Rock|TX|US|-97.68|30.51|115|N|,Rowland Heights|CA|US|-117.91|33.98|48|N|,Rowlett|TX|US|-96.56|32.9|60|N|,Roy|UT|US|-112.03|41.16|37|N|,Royal Oak|MI|US|-83.14|42.49|59|N|,Royal Palm Beach|FL|US|-80.23|26.71|37|N|,Rubidoux|CA|US|-117.41|34|34|N|,Rui'an|zhejiang|CN|120.66|27.78|927|W|,Russellville|AR|US|-93.13|35.28|29|N|,Rutland|BC|CA|-119.39|49.9|34|N|,Saanich|BC|CA|-123.37|48.55|117|N|,Sabinas|MX07|MX|-101.12|27.86|54|N|ciudad sabinas,Sacramento|CA|US|-121.49|38.58|524|N|,Sadr City|baghdad|IQ|44.46|33.39|1211|W|,Sagamihara|kanagawa|JP|139.24|35.57|720|W|,Saginaw|MI|US|-83.95|43.42|49|N|,Saguenay|QC|CA|-71.07|48.42|148|N|,Sahuarita|AZ|US|-110.96|31.96|25|N|,Sahuayo de Morelos|MX16|MX|-102.72|20.06|64|N|,Saint Charles|MO|US|-90.48|38.78|65|N|st charles,Saint Charles|MD|US|-76.94|38.6|36|N|st charles,Saint Clair Shores|MI|US|-82.89|42.5|59|N|st clair shores;saint clr shores,Saint Cloud|MN|US|-94.16|45.56|65|N|st cloud,Saint Cloud|FL|US|-81.28|28.25|35|N|st cloud,Saint-Constant|QC|CA|-73.57|45.37|27|N|,Saint-Eustache|QC|CA|-73.91|45.56|42|N|,Saint George|UT|US|-113.58|37.1|72|N|st george,Saint-Georges|QC|CA|-70.67|46.11|31|N|,Saint-Hubert|QC|CA|-73.42|45.5|82|N|,Saint-Hyacinthe|QC|CA|-72.96|45.63|50|N|st hyacinthe,Saint-Jean-sur-Richelieu|QC|CA|-73.26|45.31|98|N|,Saint-Jerome|QC|CA|-74|45.78|54|N|,Saint John|NB|CA|-66.06|45.27|71|N|saint jean,Saint Joseph|MO|US|-94.85|39.77|76|N|st joseph,Saint-Laurent|QC|CA|-73.67|45.5|98|N|st laurent,Saint-Leonard|QC|CA|-73.6|45.59|79|N|,Saint-Louis-de-Terrebonne|QC|CA|-73.79|45.7|119|N|,Saint Louis Park|MN|US|-93.35|44.95|45|N|st louis park,Saint-Michel|QC|CA|-73.62|45.57|56|N|,Saint Paul|MN|US|-93.09|44.94|303|N|st paul,Saint Peters|MO|US|-90.63|38.8|52|N|city of saint peters,Saint Petersburg|st petersburg|RU|30.31|59.94|5351|W|pietari;san petersburgo;st petersburg;petrohrad;saint petersbourg;san pietroburgo;sankt peterburg;sankt petersborg;sankt petersburg;sint petersburg;sao petersburgo;leningrad;leningrado;petrograd;petrogrado,Sainte-Foy|QC|CA|-71.29|46.78|111|N|,Sainte-Julie|QC|CA|-73.33|45.58|29|N|,Sainte-Therese|QC|CA|-73.83|45.64|25|N|,Saitama|saitama|JP|139.66|35.91|1324|W|,Sakai|osaka|JP|135.47|34.58|826|W|,Salaberry-de-Valleyfield|QC|CA|-74.13|45.25|42|N|,Salamanca|MX11|MX|-101.2|20.57|160|N|,Sale|rabat sale kenitra|MA|-6.8|34.05|972|W|sala,Salem|tamil nadu|IN|78.16|11.65|917|W|selam,Salem|OR|US|-123.04|44.94|175|N|,Salem|MA|US|-70.9|42.52|42|N|,Salem|NH|US|-71.2|42.79|29|N|,Salem|VA|US|-80.05|37.29|25|N|,Salina|KS|US|-97.61|38.84|47|N|,Salina Cruz|MX20|MX|-95.19|16.18|84|N|,Salinas|CA|US|-121.66|36.68|157|N|,Salisbury|NC|US|-80.47|35.67|34|N|,Salisbury|MD|US|-75.6|38.36|32|N|,Salt Lake City|UT|US|-111.89|40.76|215|N|kota salt lake,Saltillo|MX07|MX|-100.98|25.43|709|NW|,Salvador|bahia|BR|-38.49|-12.98|2711|W|salvador de bahia,Salvatierra|MX11|MX|-100.88|20.22|37|N|,Samara|samara oblast|RU|50.14|53.21|1163|W|kuibyschew;kuibyshev;kuybyshev,Samarinda|east kalimantan|ID|117.15|-0.49|865|W|kota samarinda,Samarkand|samarqand region|UZ|66.96|39.65|595|W|samarcanda;samarcande;samarkanda;samarqand;semerkant,Sammamish|WA|US|-122.08|47.64|52|N|,San Agustin|MX14|MX|-103.47|20.55|30|N|colonia san agustin,San Andres Cholula|MX21|MX|-98.3|19.05|39|N|,San Andres Tuxtla|MX30|MX|-95.21|18.45|61|N|,San Angelo|TX|US|-100.44|31.46|99|N|,San Antonio|TX|US|-98.49|29.42|1526|NW|,San Bernardino|CA|US|-117.29|34.11|216|N|,San Bernardino Tlaxcalancingo|MX21|MX|-98.28|19.03|54|N|,San Bruno|CA|US|-122.41|37.63|43|N|,San Buenaventura|MX15|MX|-98.86|19.3|44|N|,San Carlos|CA|US|-122.26|37.51|29|N|,San Clemente|CA|US|-117.61|33.43|65|N|,San Cristobal de las Casas|MX05|MX|-92.64|16.73|215|N|san cristobal,San Diego|CA|US|-117.16|32.72|1404|NW|,San Dimas|CA|US|-117.81|34.11|34|N|,San Felipe|MX11|MX|-101.22|21.48|28|N|,San Fernando|MX28|MX|-98.15|24.85|29|N|,San Francisco|CA|US|-122.42|37.77|827|NW|sao francisco,San Francisco Acuautla|MX15|MX|-98.86|19.35|27|N|acuautla,San Francisco del Rincon|MX11|MX|-101.86|21.02|71|N|,San Francisco Tesistan|MX14|MX|-103.48|20.8|62|N|,San Gabriel|CA|US|-118.11|34.1|40|N|sao gabriel,San Isidro|MX15|MX|-98.95|19.34|33|N|,San Jacinto|CA|US|-116.96|33.78|46|N|,San Jeronimo|MX15|MX|-99.59|19.28|26|N|,San Jeronimo Cuatro Vientos|MX15|MX|-98.84|19.29|36|N|,San Jose|CA|US|-121.89|37.34|997|NW|,San Jose del Cabo|MX03|MX|-109.7|23.05|136|N|,San Jose del Castillo|MX14|MX|-103.24|20.51|39|N|,San Jose Guadalupe Otzacatipan|MX15|MX|-99.59|19.34|31|N|,San Juan|TX|US|-98.16|26.19|36|N|,San Juan Capistrano|CA|US|-117.66|33.5|36|N|,San Juan de los Lagos|MX14|MX|-102.33|21.25|48|N|,San Juan del Rio|MX22|MX|-100|20.39|138|N|,San Leandro|CA|US|-122.16|37.72|90|N|,San Luis|AZ|US|-114.78|32.49|31|N|,San Luis de la Paz|MX11|MX|-100.51|21.3|49|N|,San Luis Obispo|CA|US|-120.66|35.28|47|N|,San Luis Potosi|MX24|MX|-100.97|22.15|722|NW|san luis potosi city,San Luis Rio Colorado|MX26|MX|-114.77|32.46|176|N|,San Marcos|CA|US|-117.17|33.14|92|N|,San Marcos|TX|US|-97.94|29.88|60|N|,San Martin Azcatepec|MX15|MX|-98.97|19.69|35|N|,San Martin Texmelucan de Labastida|MX21|MX|-98.44|19.28|155|N|san martin texmelucan,San Mateo|CA|US|-122.33|37.56|103|N|,San Mateo Atenco|MX15|MX|-99.53|19.27|67|N|,San Miguel Ajusco|MX09|MX|-99.2|19.22|29|N|,San Miguel de Allende|MX11|MX|-100.74|20.92|174|N|,San Miguel Topilejo|MX09|MX|-99.14|19.2|34|N|,San Nicolas de los Garza|MX19|MX|-100.3|25.74|412|N|san nicolas de los garzas,San Pablo|CA|US|-122.35|37.96|30|N|,San Pablo Autopan|MX15|MX|-99.66|19.36|35|N|,San Pablo de las Salinas|MX15|MX|-99.09|19.67|156|N|san pablo,San Pedro|CA|US|-118.29|33.74|83|N|san pedro y san pablo,San Pedro|MX07|MX|-102.98|25.76|48|N|san pedro de las colonias,San Pedro Garza Garcia|MX19|MX|-100.4|25.66|132|N|garza garcia;san pedro,San Pedro Sula|cortes department|HN|-88.03|15.51|801|W|,San Rafael|CA|US|-122.53|37.97|59|N|sao rafael,San Ramon|CA|US|-121.98|37.78|76|N|,San Salvador Tizatlalli|MX15|MX|-99.59|19.26|61|N|,San Sebastian el Grande|MX14|MX|-103.43|20.53|28|N|,San Tan Valley|AZ|US|-111.53|33.19|81|N|,Sanaa|amanat alasimah|YE|44.21|15.35|1937|W|san a;sana;sana a,Sanctorum|MX21|MX|-98.25|19.1|27|N|,Sandusky|OH|US|-82.71|41.45|25|N|,Sandy|UT|US|-111.88|40.59|87|N|sandy city,Sandy Hills|UT|US|-111.85|40.58|89|N|,Sandy Springs|GA|US|-84.38|33.92|105|N|,Sanford|FL|US|-81.27|28.8|58|N|,Sanford|NC|US|-79.18|35.48|29|N|,Sangli|maharashtra|IN|74.56|16.85|601|W|turmeric city,Sanhe|hebei|CN|117.07|39.98|965|W|,Sanmenxia|henan|CN|111.19|34.78|669|W|san men sia,Sanming|fujian|CN|117.62|26.25|602|W|san ming;tam minh,Santa Ana|CA|US|-117.87|33.75|310|N|,Santa Ana Chiautempan|MX29|MX|-98.19|19.31|48|N|,Santa Barbara|CA|US|-119.7|34.42|91|N|,Santa Catarina|MX19|MX|-100.46|25.67|304|N|ciudad santa catarina,Santa Clara|CA|US|-121.96|37.35|126|N|,Santa Clarita|CA|US|-118.54|34.39|182|N|,Santa Cruz|CA|US|-122.03|36.97|64|N|,Santa Cruz de la Sierra|santa cruz department|BO|-63.18|-17.79|1831|W|santa cruz;santa cruz da serra,Santa Cruz Xoxocotlan|MX20|MX|-96.74|17.03|67|N|santa cruz;xoxocotlan,Santa Fe|NM|US|-105.94|35.69|87|N|,Santa Isabel|MX02|MX|-115.57|32.63|29|N|,Santa Maria|CA|US|-120.44|34.95|105|N|,Santa Maria Chimalhuacan|MX15|MX|-98.95|19.42|70|N|,Santa Monica|CA|US|-118.49|34.02|93|N|,Santa Paula|CA|US|-119.06|34.35|30|N|,Santa Rosa|CA|US|-122.71|38.44|178|N|,Santa Rosa Beach|FL|US|-86.23|30.4|32|N|,Santa Rosalia de Camargo|MX06|MX|-105.17|27.68|40|N|,Santa Teresa|MX15|MX|-99.23|19.84|36|N|,Santee|CA|US|-116.97|32.84|57|N|,Santiago|santiago metropolitan|CL|-70.65|-33.46|4837|W|santiago de chile;santiago del cile;santiago do chile;santiago du chili,Santiago|MX19|MX|-100.15|25.43|36|N|villa de santiago,Santiago de los Caballeros|santiago province|DO|-70.69|19.45|1200|W|santiago,Santiago de Queretaro|MX22|MX|-100.39|20.59|1594|NW|queretaro city,Santiago Papasquiaro|MX10|MX|-105.42|25.04|26|N|,Santiago Teyahualco|MX15|MX|-99.12|19.66|53|N|teyahualco,Santo Andre|sao paulo|BR|-46.54|-23.66|662|W|,Santo Domingo|nacional|DO|-69.89|18.47|2201|W|saint domingue;santo domingo city;ciudad trujillo,Santo Domingo Este|santo domingo province|DO|-69.85|18.49|700|W|,Santo Domingo Oeste|santo domingo province|DO|-70|18.5|701|W|,Santo Domingo Tehuantepec|MX20|MX|-95.24|16.32|67|N|,Sanya|hainan|CN|109.51|18.25|1031|W|san ja;tam a,Sao Bernardo do Campo|sao paulo|BR|-46.56|-23.69|840|W|,Sao Jose dos Campos|sao paulo|BR|-45.89|-23.18|727|W|sjcampos;vale paraiba;vale do paraiba,Sao Luis|maranhao|BR|-44.3|-2.53|917|W|maranham,Sao Paulo|sao paulo|BR|-46.64|-23.55|12400|W|san paolo;sao paulo capital,Sapporo|hokkaido|JP|141.35|43.07|1973|W|sapporo shi;sapporoshi,Sarajevo|federation of b h|BA|18.36|43.85|696|W|sarajewo;saraybosna,Sarasota|FL|US|-82.53|27.34|55|N|,Saratoga|CA|US|-122.02|37.26|30|N|,Saratoga Springs|NY|US|-73.78|43.08|27|N|saratoga spgs,Saratoga Springs|UT|US|-111.9|40.35|25|N|,Saratov|saratov oblast|RU|45.99|51.54|844|W|saratow,Sargodha|punjab|PK|72.67|32.09|975|W|,Sarnia|ON|CA|-82.4|42.98|72|N|,Saskatoon|SK|CA|-106.67|52.13|266|N|,Saugus|MA|US|-71.01|42.46|26|N|,Sault Ste. Marie|ON|CA|-84.33|46.52|72|N|sault sainte marie,Savage|MN|US|-93.34|44.78|30|N|,Savannah|GA|US|-81.1|32.08|147|N|,Sawtelle|CA|US|-118.45|34.04|39|N|,Sayreville|NJ|US|-74.36|40.46|44|N|,Sayreville Junction|NJ|US|-74.33|40.47|42|N|,Sayula|MX14|MX|-103.6|19.88|26|N|,Schaumburg|IL|US|-88.08|42.03|74|N|,Schenectady|NY|US|-73.94|42.81|65|N|,Schererville|IN|US|-87.45|41.48|28|N|,Schertz|TX|US|-98.27|29.55|43|N|,Scottsdale|AZ|US|-111.9|33.51|236|N|,Scranton|PA|US|-75.66|41.41|77|N|,Seaside|CA|US|-121.85|36.61|33|N|,SeaTac|WA|US|-122.29|47.45|28|N|,Seattle|WA|US|-122.33|47.61|780|NW|,Security-Widefield|CO|US|-104.71|38.75|32|N|,Seguin|TX|US|-97.96|29.57|27|N|,Semarang|central java|ID|110.42|-6.99|1694|W|kota semarang,Sendai|miyagi|JP|140.87|38.27|1096|W|,Seongnam-si|gyeonggi do|KR|127.14|37.44|914|W|seongnam,Seoul|seoul|KR|126.98|37.57|10349|W|seoel;seoul si;seul;soul;hanyang,Sept-Iles|QC|CA|-66.38|50.2|28|N|,Serang|banten|ID|106.15|-6.12|735|W|kabupaten serang,Setagaya|tokyo|JP|139.65|35.64|940|W|setagaya city,Severn|MD|US|-76.7|39.14|44|N|,Severna Park|MD|US|-76.55|39.07|37|N|,Sevilla|andalusia|ES|-5.97|37.38|686|W|seville;sevilha;sevilia;sewilla;siviglia,Sewell|NJ|US|-75.14|39.77|37|N|,Shah Alam|selangor|MY|101.53|3.09|740|W|,Shaker Heights|OH|US|-81.54|41.47|27|N|,Shakopee|MN|US|-93.53|44.8|39|N|,Shanghai|shanghai|CN|121.46|31.22|24874|W|schanghai;shangai;sjanghai;szanghaj;xangai;sangay;sanghay;sanghaj,Shangqiu|henan|CN|115.66|34.41|1859|W|,Shangrao|jiangxi|CN|117.94|28.45|1116|W|sang zao,Shangyu|zhejiang|CN|120.87|30.02|770|W|,Shantou|guangdong|CN|116.68|23.35|3838|W|san tchou,Shaoguan|guangdong|CN|113.58|24.8|1028|W|sao kuan,Shaoxing|zhejiang|CN|120.58|30|2300|W|sao sing,Shaoyang|hunan|CN|111.46|27.24|753|W|sao jang,Sharjah|sharjah|AE|55.41|25.33|1800|W|sharjah city;charjah;sarja;schardscha;sharja;szardza;sarika;sardza,Shawinigan|QC|CA|-72.75|46.57|38|N|,Shawnee|KS|US|-94.72|39.04|65|N|,Shawnee|OK|US|-96.93|35.33|31|N|,Sheboygan|WI|US|-87.71|43.75|48|N|,Sheepshead Bay|NY|US|-73.94|40.59|122|N|,Shekhupura|punjab|PK|73.99|31.71|591|W|sekhupura,Shelby|MI|US|-83.03|42.67|74|N|,Shelton|CT|US|-73.09|41.32|41|N|,Shenyang|liaoning|CN|123.43|41.79|7050|W|sen jang,Shenzhen|guangdong|CN|114.07|22.55|17494|W|sen cen,Sherbrooke|QC|CA|-71.9|45.4|129|N|,Sherman|TX|US|-96.61|33.64|40|N|,Sherman Oaks|CA|US|-118.45|34.15|52|N|,Sherwood|AR|US|-92.22|34.82|30|N|,Sherwood Park|AB|CA|-113.32|53.52|70|N|,Shijiazhuang|hebei|CN|114.48|38.04|3938|W|s tia cuang,Shiraz|fars|IR|52.53|29.61|1249|W|schiras;chiraz;sziraz;xiraz;siraz,Shirley|NY|US|-72.87|40.8|27|N|,Shivaji Nagar|maharashtra|IN|73.85|18.53|1000|W|,Shiyan|hubei|CN|110.78|32.65|3460|W|s jen,Shizuishan|ningxia|CN|106.39|38.98|739|W|,Shizuoka|shizuoka|JP|138.38|34.98|693|W|sizuoka,Sholapur|maharashtra|IN|75.91|17.67|997|W|solapur,Shoreline|WA|US|-122.34|47.76|55|N|,Shoreview|MN|US|-93.15|45.08|26|N|,Shreveport|LA|US|-93.75|32.53|187|N|,Shrewsbury|MA|US|-71.71|42.3|33|N|,Shuangyashan|heilongjiang|CN|131.13|46.68|600|W|song ap son;suang ja san,Shubra al Khaymah|qalyubia|EG|31.25|30.13|1240|W|,Shymkent|shymkent|KZ|69.6|42.31|1200|W|chymkent;schymkent;sjymkent;szymkent;tsjimkent;cimkent;simkent;symkent,Sialkot|punjab|PK|74.53|32.49|911|W|sijalkot,Sicklerville|NJ|US|-74.97|39.72|42|N|,Sierra Vista|AZ|US|-110.3|31.55|43|N|,Silao de la Victoria|MX11|MX|-101.43|20.94|74|N|silao,Silver Lake|CA|US|-118.27|34.09|32|N|,Silver Spring|MD|US|-77.03|38.99|71|N|,Simi Valley|CA|US|-118.78|34.27|126|N|,Singapore||SG|103.85|1.29|5638|W|singapour;singapur;singapura;danmaxi;temasek,Sioux City|IA|US|-96.4|42.5|82|N|kota sioux,Sioux Falls|SD|US|-96.73|43.54|171|N|,Situbondo|east java|ID|114.01|-7.71|685|W|,Skokie|IL|US|-87.73|42.03|64|N|,Slidell|LA|US|-89.78|30.28|27|N|,Smithtown|NY|US|-73.2|40.86|26|N|,Smyrna|GA|US|-84.51|33.88|56|N|,Smyrna|TN|US|-86.52|35.98|46|N|,Snowdon|QC|CA|-73.63|45.49|32|N|,Soacha|cundinamarca|CO|-74.22|4.58|655|W|,Socorro|TX|US|-106.3|31.65|33|N|,Socorro Mission Number 1 Colonia|TX|US|-106.29|31.64|28|N|,Sofia|sofia capital|BG|23.32|42.7|1152|W|sofie;sofya,Sokoto|sokoto|NG|5.24|13.06|1040|W|,Soledad|CA|US|-121.33|36.42|25|N|solebad,Soledad de Graciano Sanchez|MX24|MX|-100.94|22.19|332|N|,Somerton|PA|US|-75.01|40.12|33|N|,Somerville|MA|US|-71.1|42.39|80|N|,Songjiang|shanghai|CN|121.22|31.03|1973|W|,Sorel-Tracy|QC|CA|-73.11|46.04|41|N|sorel,Sorocaba|sao paulo|BR|-47.46|-23.5|762|W|,Soshanguve|gauteng|ZA|28.1|-25.47|872|W|,South Bel Air|MD|US|-76.34|39.53|48|N|,South Bend|IN|US|-86.25|41.68|101|N|,South Boston|MA|US|-71.05|42.33|571|N|,South Chicago|IL|US|-87.55|41.74|28|N|guney chicago,South Fulton|GA|US|-84.67|33.59|107|N|,South Gate|CA|US|-118.21|33.95|96|N|,South Gate|MD|US|-76.63|39.13|29|N|,South Hill|WA|US|-122.27|47.14|52|N|,South Jordan|UT|US|-111.93|40.56|66|N|,South Jordan Heights|UT|US|-111.95|40.56|37|N|,South Kingstown|RI|US|-71.52|41.45|30|N|,South Laurel|MD|US|-76.85|39.07|26|N|,South Lawndale|IL|US|-87.71|41.84|73|N|,South Miami Heights|FL|US|-80.38|25.6|36|N|,South Ozone Park|NY|US|-73.82|40.67|75|N|,South Pasadena|CA|US|-118.15|34.12|26|N|,South Peabody|MA|US|-70.95|42.51|50|N|,South Portland|ME|US|-70.24|43.64|25|N|,South Riverdale|ON|CA|-79.34|43.65|27|N|,South San Francisco|CA|US|-122.41|37.65|67|N|,South Shore|IL|US|-87.58|41.76|51|N|,South Suffolk|VA|US|-76.59|36.72|80|N|,South Surrey|BC|CA|-122.79|49.05|77|N|,South Tangerang|banten|ID|106.72|-6.29|1429|W|tangerang selatan,South Valley|NM|US|-106.68|35.01|40|N|,South Vineland|NJ|US|-75.03|39.45|58|N|,South Whittier|CA|US|-118.04|33.95|57|N|,Southaven|MS|US|-90.01|34.99|52|N|southhaven,Southfield|MI|US|-83.22|42.47|73|N|,Southgate|MI|US|-83.19|42.21|29|N|,Southglenn|CO|US|-104.95|39.59|42|N|,Southington|CT|US|-72.88|41.6|43|N|,Southlake|TX|US|-97.13|32.94|29|N|,Soweto|gauteng|ZA|27.86|-26.27|1695|W|,Spanaway|WA|US|-122.43|47.1|27|N|,Spanish Fork|UT|US|-111.65|40.11|37|N|,Sparks|NV|US|-119.75|39.53|96|N|,Spartanburg|SC|US|-81.93|34.95|37|N|,Spokane|WA|US|-117.43|47.66|229|N|,Spokane Valley|WA|US|-117.24|47.67|94|N|,Spring|TX|US|-95.42|30.08|54|N|,Spring Hill|FL|US|-82.53|28.48|98|N|,Spring Hill|TN|US|-86.93|35.75|36|N|,Spring Valley|NV|US|-115.25|36.11|178|N|,Spring Valley|NY|US|-74.04|41.11|32|N|,Spring Valley|CA|US|-117|32.74|28|N|,Springdale|AR|US|-94.13|36.19|77|N|,Springfield|MO|US|-93.3|37.22|170|N|,Springfield|MA|US|-72.59|42.1|154|N|,Springfield|IL|US|-89.64|39.8|114|N|,Springfield|OR|US|-123.02|44.05|60|N|,Springfield|OH|US|-83.81|39.92|59|N|,Springfield|VA|US|-77.19|38.79|30|N|,Springfield Gardens|NY|US|-73.76|40.66|30|N|,Springville|UT|US|-111.61|40.17|32|N|,Spruce Grove|AB|CA|-113.92|53.53|38|N|,Srinagar|jammu and kashmir|IN|74.81|34.09|1206|W|,St. Albert|AB|CA|-113.64|53.63|57|N|saint albert,St. Catharines|ON|CA|-79.24|43.17|136|N|sainte catharine,St. Charles|MD|US|-76.92|38.61|33|N|,St. Charles|IL|US|-88.31|41.91|32|N|,St. James-Assiniboia East|MB|CA|-97.23|49.89|27|N|,St. John's|NL|CA|-52.71|47.56|110|N|saint john s;saint jean de terre neuve;saint jean;san juan de terranova;st johns,St. Johns|FL|US|-81.55|30.08|40|N|,St. Louis|MO|US|-90.2|38.63|279|N|saint louis;san luis,St. Petersburg|FL|US|-82.68|27.77|257|N|saint pete;saint petersburg,St. Thomas|ON|CA|-81.18|42.77|38|N|saint thomas,Stamford|CT|US|-73.54|41.05|128|N|,Stanton|CA|US|-117.99|33.8|38|N|,Starkville|MS|US|-88.82|33.45|25|N|,State College|PA|US|-77.86|40.79|42|N|,Staten Island|NY|US|-74.14|40.56|468|N|borough of staten island,Statesboro|GA|US|-81.78|32.45|30|N|,Statesville|NC|US|-80.89|35.78|26|N|,Sterling|VA|US|-77.43|39.01|27|N|,Sterling Heights|MI|US|-83.03|42.58|132|N|,Stevens Point|WI|US|-89.57|44.52|26|N|,Steveston|BC|CA|-123.18|49.13|25|N|,Stillwater|OK|US|-97.06|36.12|48|N|,Stittsville|ON|CA|-75.92|45.25|40|N|,Stockbridge|GA|US|-84.23|33.54|28|N|,Stockholm|stockholm|SE|18.07|59.33|1515|W|estocolmo;stoccolma;stokolm;sztokholm;tukholma,Stockton|CA|US|-121.29|37.96|305|N|,Stonecrest|GA|US|-84.13|33.71|50|N|,Stonegate-Queensway|ON|CA|-79.5|43.64|25|N|,Stoney Creek|ON|CA|-79.77|43.22|76|N|,Stouffville|ON|CA|-79.25|43.97|36|N|,Stoughton|MA|US|-71.1|42.13|26|N|,Stow|OH|US|-81.44|41.16|34|N|,Stratford|CT|US|-73.13|41.18|51|N|,Stratford|ON|CA|-80.95|43.37|31|N|,Strawberry Hill|BC|CA|-122.88|49.13|41|N|,Streamwood|IL|US|-88.18|42.03|40|N|,Strongsville|OH|US|-81.84|41.31|44|N|,Studio City|CA|US|-118.4|34.15|34|N|,Stuttgart|baden wurttemberg|DE|9.18|48.78|612|W|estugarda;stoccarda,Subang Jaya|selangor|MY|101.58|3.04|708|W|,Suez|suez|EG|32.53|29.97|699|W|sues;suveys,Suffolk|VA|US|-76.58|36.73|88|N|,Sugar Land|TX|US|-95.63|29.62|88|N|,Suginami|ibaraki|JP|140.28|36.2|588|W|suginami city,Suining|sichuan|CN|105.57|30.51|656|W|suej ning,Suisun|CA|US|-122.04|38.24|28|N|,Suitland|MD|US|-76.92|38.85|25|N|,Suitland-Silver Hill|MD|US|-76.93|38.85|33|N|silver hill,Suizhou|hubei|CN|113.36|31.71|618|W|suej cou;tuy chau,Sulaymaniyah|sulaymaniyah|IQ|45.43|35.56|878|W|as sulajmanijja;slemani;solimania;souleimaniye;sulaimaniyya;sulaymaniyya;suleimania;suleimaniya;sulejmanie;suleymaniye,Sultanah|medina region|SA|39.59|24.49|946|W|,Summerville|SC|US|-80.18|33.02|48|N|,Sumter|SC|US|-80.34|33.92|40|N|,Sun City|AZ|US|-112.27|33.6|37|N|,Sun Prairie|WI|US|-89.21|43.18|32|N|,Sunnyside|NY|US|-73.94|40.74|49|N|,Sunnyvale|CA|US|-122.04|37.37|155|N|,Sunrise|FL|US|-80.11|26.13|84|N|,Sunrise Manor|NV|US|-115.07|36.21|189|N|,Sunset|BC|CA|-123.1|49.22|36|N|,Sunset Park|NY|US|-74.01|40.65|126|N|,Superior|WI|US|-92.1|46.72|26|N|,Suqian|jiangsu|CN|118.3|33.95|1437|W|,Surabaya|east java|ID|112.75|-7.25|3018|W|kota surabaya;soerabaja;surabaia;surabaja,Surat|gujarat|IN|72.83|21.2|4591|W|surate,Surprise|AZ|US|-112.33|33.63|143|N|,Surrey|BC|CA|-122.83|49.11|568|N|,Surrey City Centre|BC|CA|-122.85|49.19|33|N|,Suwon|gyeonggi do|KR|127.01|37.29|1234|W|suwon si,Suzhou|jiangsu|CN|120.6|31.3|6715|W|su cou;to chau,Suzhou|anhui|CN|116.98|33.64|1647|W|,Sydney|new south wales|AU|151.21|-33.87|5638|W|sidney;syd;sydney city,Sydney|NS|CA|-60.18|46.14|105|N|,Sylmar|CA|US|-118.45|34.31|79|N|,Syracuse|NY|US|-76.15|43.05|144|N|siracusa,Syracuse|UT|US|-112.06|41.09|27|N|,Ta'if|mecca region|SA|40.42|21.27|688|W|at ta if;taif;taef,Tabriz|east azerbaijan|IR|46.29|38.08|1424|W|tebriz;tabris,Tabuk|tabuk region|SA|36.57|28.4|667|W|tebuk,Tacambaro de Codallos|MX16|MX|-101.46|19.24|25|N|,Tacoma|WA|US|-122.44|47.25|222|N|,Taguig|national capital region|PH|121.08|14.52|1308|W|city of taguig,Tai'an|shandong|CN|117.12|36.19|1735|W|,Taicang|jiangsu|CN|121.09|31.45|831|W|,Taichung|taiwan|TW|120.68|24.15|2850|W|kota taichung;taizhong;tchaj cung;dai trung,Tainan|taiwan|TW|120.21|22.99|1856|W|kota tainan;tainan city;tchaj nan;dai nam,Taipei|taiwan|TW|121.53|25.05|7871|W|kota taipei;taipeh;taipe;tajpej;tchaj pej,Taiyuan|shanxi|CN|112.56|37.87|4303|W|tchaj juan;thai nguyen,Taiz|ta izz|YE|44.02|13.58|940|W|taez,Taizhou|jiangsu|CN|119.91|32.49|1607|W|tchaj cou;thai chau,Taizhou|zhejiang|CN|121.43|28.66|1485|W|tchaj cou;thai chau,Takeo|takeo|KH|104.78|10.99|843|W|,Tala|MX14|MX|-103.7|20.65|35|N|,Tallahassee|FL|US|-84.28|30.44|201|N|,Tam O'Shanter-Sullivan|ON|CA|-79.3|43.78|27|N|,Tamarac|FL|US|-80.25|26.21|64|N|,Tamiami|FL|US|-80.4|25.76|55|N|,Tampa|FL|US|-82.46|27.95|414|N|,Tampico|MX28|MX|-97.88|22.29|309|N|,Tangerang|banten|ID|106.63|-6.18|1927|W|kota tangerang,Tangier|tanger tetouan al hoceima|MA|-5.8|35.77|1035|W|tanger;tanca;tangeri,Tangshan|hebei|CN|118.18|39.64|3372|W|tchang san,Tanta|gharbia|EG|31|30.79|576|W|,Tantoyuca|MX30|MX|-98.23|21.35|30|N|,Tapachula|MX05|MX|-92.26|14.91|353|N|,Tashkent|tashkent|UZ|69.22|41.26|1978|W|tachkent;taschkent;tasjkent;taskent;taszkent,Tasikmalaya|west java|ID|108.22|-7.33|770|W|kota tasikmalaya,Taunton|MA|US|-71.09|41.9|56|N|,Taxco de Alarcon|MX12|MX|-99.61|18.55|50|N|taxco,Taylor|MI|US|-83.27|42.24|61|N|,Taylorsville|UT|US|-111.94|40.67|60|N|,Tbilisi|tbilisi|GE|44.83|41.69|1049|W|tbilissi;tiblissi;tiflis,Teaneck|NJ|US|-74.02|40.9|40|N|,Teapa|MX27|MX|-92.95|17.56|26|N|,Tecamachalco|MX21|MX|-97.73|18.88|28|N|,Tecate|MX02|MX|-116.63|32.57|64|N|,Tecax|MX31|MX|-89.29|20.21|25|N|tekax,Tecoman|MX08|MX|-103.88|18.92|85|N|,Tegucigalpa|francisco morazan department|HN|-87.21|14.08|850|W|,Tehran|tehran|IR|51.42|35.69|7153|W|tahran;teera;teerao;teheran,Tehuacan|MX21|MX|-97.4|18.46|248|N|,Tejupilco de Hidalgo|MX15|MX|-100.15|18.9|25|N|,Temecula|CA|US|-117.15|33.49|110|N|,Temixco|MX17|MX|-99.23|18.85|97|N|,Tempe|AZ|US|-111.91|33.41|175|N|,Tempe Junction|AZ|US|-111.94|33.41|158|N|,Temple|TX|US|-97.34|31.1|72|N|,Temple City|CA|US|-118.06|34.11|36|N|,Temple Terrace|FL|US|-82.39|28.04|25|N|,Teni|tamil nadu|IN|77.48|10.01|1034|W|theni,Tenosique|MX27|MX|-91.42|17.47|32|N|,Teoloyucan|MX15|MX|-99.18|19.74|51|N|,Tepatitlan de Morelos|MX14|MX|-102.76|20.82|91|N|,Tepeaca|MX21|MX|-97.9|18.97|27|N|tepeaca de negrete,Tepeji del Rio de Ocampo|MX13|MX|-99.34|19.9|80|N|,Tepexpan|MX15|MX|-98.94|19.61|102|N|,Tepic|MX18|MX|-104.89|21.51|332|N|,Tepotzotlan|MX15|MX|-99.22|19.72|38|N|,Tequila|MX14|MX|-103.84|20.88|29|N|municipio tequila,Tequisquiapan|MX22|MX|-99.89|20.52|29|N|,Teresina|piaui|BR|-42.8|-5.09|871|W|,Terre Haute|IN|US|-87.41|39.47|60|N|,Terrebonne|QC|CA|-73.65|45.7|111|N|,Tewksbury|MA|US|-71.23|42.61|29|N|,Texarkana|TX|US|-94.05|33.43|37|N|,Texarkana|AR|US|-94.04|33.44|30|N|,Texas City|TX|US|-94.9|29.38|47|N|,Texcoco de Mora|MX15|MX|-98.88|19.51|105|N|texcoco,Teziutlan|MX21|MX|-97.36|19.82|103|N|,Thane|maharashtra|IN|72.96|19.2|1841|W|thana,Thanh Hoa|thanh hoa province|VN|105.77|19.8|850|W|,The Acreage|FL|US|-80.27|26.79|38|N|,The Bronx|NY|US|-73.87|40.85|1385|NW|bronx;borough of bronx,The Colony|TX|US|-96.89|33.09|41|N|,The Hammocks|FL|US|-80.44|25.67|51|N|,The Trails of Frisco|TX|US|-96.87|33.16|51|N|,The Villages|FL|US|-81.96|28.93|51|N|,The Woodlands|TX|US|-95.49|30.16|93|N|woodlands,Thetford-Mines|QC|CA|-71.31|46.09|25|N|,Thiruvananthapuram|kerala|IN|76.95|8.49|788|W|tiruvanantapuram;trivandrum,Thomasville|NC|US|-80.08|35.88|27|N|,Thornton|CO|US|-104.97|39.87|133|N|,Thousand Oaks|CA|US|-118.84|34.17|129|N|,Throgs Neck|NY|US|-73.82|40.82|33|N|,Thuan An|ho chi minh city hcmc|VN|106.71|10.92|588|W|,Thunder Bay|ON|CA|-89.25|48.38|108|N|,Tianjin|tianjin|CN|117.18|39.14|11090|W|tchien tin;thien tan;tiencin;tientsin,Tianshui|gansu|CN|105.74|34.58|1212|W|,Ticul|MX31|MX|-89.53|20.4|32|N|,Tierra Blanca|MX30|MX|-96.36|18.45|47|N|,Tigard|OR|US|-122.77|45.43|51|N|,Tijuana|MX02|MX|-117|32.5|1922|NW|,Timmins|ON|CA|-81.33|48.47|41|N|,Tinley Park|IL|US|-87.78|41.57|57|N|,Tiruchirappalli|tamil nadu|IN|78.7|10.82|1022|W|tiruchchirappalli;tiruchirapalli;tiruccirappalli;tiruchi;trichinopoly;trichy,Tirunelveli|tamil nadu|IN|77.68|8.73|1435|W|tirunelweli,Tiruppur|tamil nadu|IN|77.35|11.12|963|W|tirupur,Titusville|FL|US|-80.81|28.61|45|N|,Tizayuca|MX13|MX|-98.98|19.84|43|N|,Tizimin|MX31|MX|-88.15|21.14|46|N|,Tlahuac|MX09|MX|-99.01|19.29|305|N|delegacion tlahuac,Tlajomulco de Zuniga|MX14|MX|-103.45|20.47|30|N|,Tlalnepantla|MX15|MX|-99.2|19.54|653|NW|tlalnepantla de baz;tlanepantla de baz,Tlalpan|MX09|MX|-99.16|19.3|574|N|delegacion tlalpan,Tlapa de Comonfort|MX12|MX|-98.58|17.55|46|N|,Tlapacoyan|MX30|MX|-97.21|19.96|35|N|,Tlaquepaque|MX14|MX|-103.29|20.64|650|NW|san pedro tlaquepaque,Tlaxcala|MX29|MX|-98.24|19.32|84|N|tlaxcala city;tlaxcala de xicotencatl,Tokyo|tokyo|JP|139.69|35.69|9733|W|tokio;toquio;edo,Toledo|OH|US|-83.56|41.66|265|N|,Toluca|MX15|MX|-99.65|19.29|489|N|toluca de lerdo,Tolyatti|samara oblast|RU|49.35|53.53|702|W|togliatti;togliattigrad;tol yatti;toliatti;toljatti;stavropol,Toms River|NJ|US|-74.2|39.95|88|N|,Tonala|MX14|MX|-103.24|20.62|408|N|,Tonala|MX05|MX|-93.75|16.09|35|N|,Tooele|UT|US|-112.3|40.53|33|N|,Topeka|KS|US|-95.68|39.05|125|N|,Toronto|ON|CA|-79.4|43.71|2794|NW|,Torrance|CA|US|-118.34|33.84|143|N|,Torreon|MX07|MX|-103.42|25.54|735|NW|,Torrington|CT|US|-73.12|41.8|34|N|,Touba|diourbel region|SN|-15.88|14.86|1120|W|,Town 'n' Country|FL|US|-82.58|28.01|78|N|,Towson|MD|US|-76.6|39.4|55|N|,Tracy|CA|US|-121.43|37.74|87|N|,Trenton|NJ|US|-74.74|40.22|89|N|,Tri-Cities|WA|US|-119.2|46.25|244|N|,Tripoli|tripoli|LY|13.19|32.89|1302|W|trablus;tripolis;trypolis,Trois-Rivieres|QC|CA|-72.55|46.35|144|N|,Troy|MI|US|-83.15|42.61|83|N|,Troy|NY|US|-73.69|42.73|49|N|,Troy|OH|US|-84.2|40.04|25|N|,Trujillo|la libertad|PE|-79.03|-8.12|1067|W|,Trumbull|CT|US|-73.2|41.24|36|N|,Tshikapa|kasai|CD|20.8|-6.42|634|W|,Tualatin|OR|US|-122.76|45.38|27|N|,Tuckahoe|VA|US|-77.56|37.59|44|N|,Tucker|GA|US|-84.22|33.85|27|N|,Tucson|AZ|US|-110.93|32.22|542|N|,Tujunga|CA|US|-118.29|34.25|26|N|,Tula de Allende|MX13|MX|-99.34|20.05|28|N|,Tulancingo|MX13|MX|-98.36|20.08|102|N|tulancingo de bravo,Tulare|CA|US|-119.35|36.21|62|N|,Tulsa|OK|US|-95.99|36.15|413|N|,Tultepec|MX15|MX|-99.13|19.68|65|N|,Tultitlan de Mariano Escobedo|MX15|MX|-99.17|19.65|28|N|,Tunis|tunis governorate|TN|10.17|36.82|693|W|tunez;tunes;tunisi;tunus,Tupelo|MS|US|-88.7|34.26|35|N|,Turin|piedmont|IT|7.69|45.07|847|W|torino;turijn;turim;turyn,Turlock|CA|US|-120.85|37.49|72|N|,Tuscaloosa|AL|US|-87.57|33.21|111|N|,Tustin|CA|US|-117.83|33.75|80|N|,Tuxpam de Rodriguez Cano|MX30|MX|-97.41|20.96|84|N|tuxpam,Tuxpan|MX14|MX|-103.38|19.56|27|N|,Tuxtepec|MX20|MX|-96.13|18.09|159|N|san juan bautista;san juan bautista tuxtla,Tuxtla|MX05|MX|-93.12|16.75|604|NW|tuxtla gtz;tuxtla gutierrez,Twentynine Palms|CA|US|-116.05|34.14|26|N|,Twin Falls|ID|US|-114.46|42.56|47|N|,Tyler|TX|US|-95.3|32.35|103|N|,Tyumen|tyumen oblast|RU|65.53|57.15|768|W|tioumen;tjumen;tiumen;tjoemen;tumen,Uberlandia|minas gerais|BR|-48.28|-18.92|754|W|,UEruemqi|xinjiang|CN|87.6|43.8|3029|W|urumqi;urumchi;urumczi;urumtschi;urumci;dihua,Ufa|bashkortostan republic|RU|55.97|54.74|1120|W|oefa;oufa,Ulan Bator|ulaanbaatar|MN|106.88|47.91|844|W|ulaanbaatar;oulan bator;ulaan baatar;ulan batur;ulanbatar;ula bator,Ulsan|ulsan|KR|129.32|35.54|1098|W|ulsan si,Ulyanovsk|ulyanovsk|RU|48.39|54.33|626|W|oulianovsk;uljanowsk;oeljanovsk;ul janovsk;ulianovsk;uljanovsk,Uman|MX31|MX|-89.75|20.88|39|N|,Union|NJ|US|-74.26|40.7|56|N|,Union City|CA|US|-122.02|37.6|74|N|,Union City|NJ|US|-74.02|40.78|69|N|east cost cities,Universal City|CA|US|-118.35|34.14|105|N|,University|FL|US|-82.44|28.07|41|N|,University City|MO|US|-90.31|38.66|35|N|,University Heights|SK|CA|-106.58|52.14|51|N|,University Heights|NY|US|-73.91|40.86|27|N|,University of Texas|TX|US|-97.74|30.29|53|N|,University Park|FL|US|-80.37|25.75|26|N|,University Place|WA|US|-122.55|47.24|32|N|,Upland|CA|US|-117.65|34.1|76|N|,Upper Alton|IL|US|-90.15|38.91|29|N|,Upper Arlington|OH|US|-83.06|39.99|34|N|,Upper West Side|NY|US|-73.98|40.79|226|N|,Uptown|IL|US|-87.65|41.97|55|N|,Urbana|IL|US|-88.21|40.11|42|N|,Urbandale|IA|US|-93.71|41.63|44|N|,Uriangato|MX11|MX|-101.18|20.14|51|N|,Uruapan|MX16|MX|-102.06|19.42|299|N|uruapan del progreso,Utica|NY|US|-75.23|43.1|61|N|,Vacaville|CA|US|-121.99|38.36|96|N|,Vadodara|gujarat|IN|73.21|22.3|1822|W|,Val-d'Or|QC|CA|-77.8|48.1|25|N|,Val-des-Arbres|QC|CA|-73.68|45.6|40|N|,Valdosta|GA|US|-83.28|30.83|55|N|,Valencia|carabobo|VE|-68|10.16|1619|W|,Valencia|valencia|ES|-0.38|39.47|824|W|valence;valencie;valensiya;valenza;walencja,Valencia|CA|US|-118.61|34.44|148|N|,Valente Diaz|MX30|MX|-96.22|19.16|25|N|,Valenzuela|national capital region|PH|120.97|14.7|725|W|,Valladolid|MX31|MX|-88.2|20.69|48|N|,Valle de Bravo|MX15|MX|-100.13|19.2|25|N|,Valle de Santiago|MX11|MX|-101.19|20.39|68|N|,Valle Hermoso|MX28|MX|-97.81|25.67|48|N|,Vallejo|CA|US|-122.26|38.1|121|N|,Valley Glen|CA|US|-118.42|34.19|60|N|,Valley Stream|NY|US|-73.71|40.66|37|N|,Valparaiso|IN|US|-87.06|41.47|32|N|,Valrico|FL|US|-82.24|27.94|35|N|,Van Nuys|CA|US|-118.45|34.19|136|N|,Vancouver|BC|CA|-123.12|49.25|662|NW|vancover,Vancouver|WA|US|-122.66|45.64|196|N|,Varanasi|uttar pradesh|IN|83.01|25.32|1164|W|benares;kashi;waranasi,Vaudreuil-Dorion|QC|CA|-74.03|45.4|25|N|,Vaughan|ON|CA|-79.5|43.84|323|N|,Venice|CA|US|-118.46|33.99|40|N|venice beach,Ventura|CA|US|-119.29|34.28|96|N|,Venustiano Carranza|MX09|MX|-99.1|19.44|430|N|,Veracruz|MX30|MX|-96.14|19.18|428|N|veracruz llave,Verdun|QC|CA|-73.57|45.46|69|N|,Vermont Square|CA|US|-118.3|34|47|N|,Vernon|BC|CA|-119.27|50.27|40|N|,Vernon Hills|IL|US|-87.98|42.22|26|N|,Vestal|NY|US|-76.05|42.09|28|N|,Vestavia Hills|AL|US|-86.79|33.45|34|N|,Viana|luanda|AO|13.37|-8.91|865|W|,Victor Rosales|MX32|MX|-102.7|22.95|32|N|,Victoria|central and western|HK|114.14|22.29|956|W|,Victoria|BC|CA|-123.35|48.44|289|N|,Victoria|TX|US|-97|28.81|67|N|,Victoria de Durango|MX10|MX|-104.66|24.02|518|N|durango,Victoria-Downtown|BC|CA|-123.36|48.43|46|N|downtown victoria,Victoria-Fraserview|BC|CA|-123.07|49.22|31|N|,Victoriaville|QC|CA|-71.97|46.05|34|N|,Victorville|CA|US|-117.29|34.54|122|N|,Vienna|state of vienna|AT|16.37|48.21|1691|W|viena;viyana;wien;vienne;vien;viden;wenen;wieden;bec,Vientiane|vientiane prefecture|LA|102.6|17.97|840|W|vienciana;vientian;wientian,Vijayawada|andhra pradesh|IN|80.65|16.51|1143|W|vidzajavada;widzajawada;bejawada,Villa Nueva|guatemala|GT|-90.59|14.53|618|W|,Villa Vicente Guerrero|MX29|MX|-98.17|19.12|60|N|,Villaflores|MX05|MX|-93.27|16.23|37|N|,Villagran|MX11|MX|-101|20.51|27|N|,Villahermosa|MX27|MX|-92.94|17.99|353|N|villa hermosa,Ville-Emard|QC|CA|-73.6|45.45|30|N|,Ville-Marie|QC|CA|-73.57|45.5|104|N|,Villeray-Saint-Michel-Parc-Extension|QC|CA|-73.61|45.56|144|N|,Vineland|NJ|US|-75.03|39.49|60|N|,Vinh|nghe an province|VN|105.69|18.67|790|W|,Virar|maharashtra|IN|72.81|19.46|1222|W|,Virginia Beach|VA|US|-75.98|36.85|454|N|virginian bch,Visakhapatnam|andhra pradesh|IN|83.2|17.68|1063|W|vishakhapatnam;vizag,Visalia|CA|US|-119.29|36.33|130|N|,Vista|CA|US|-117.24|33.2|100|N|,Vladivostok|primorye|RU|131.87|43.11|604|W|vladyvostok;wladiwostok;wladywostok,Volgograd|volgograd oblast|RU|44.5|48.71|1013|W|volgogrado;wolgograd;estalingrado;stalingrad;stalingrado;tsaritsyn;zarizyn,Voronezh|voronezh oblast|RU|39.19|51.67|1047|W|voronej;voronezj;voronez;woronesch;woronez,Waco|TX|US|-97.15|31.55|132|N|,Waiau-Pacific Palisades|HI|US|-157.95|21.4|47|N|,Waipahu|HI|US|-158.01|21.39|38|N|,Wake Forest|NC|US|-78.51|35.98|38|N|,Wakefield|NY|US|-73.85|40.9|52|N|,Waldorf|MD|US|-76.94|38.62|67|N|,Walla Walla|WA|US|-118.34|46.06|32|N|,Walnut|CA|US|-117.87|34.02|30|N|,Walnut Creek|CA|US|-122.06|37.91|68|N|,Walnut Grove|BC|CA|-122.64|49.16|25|N|,Waltham|MA|US|-71.24|42.38|63|N|,Wanxian|chongqing|CN|108.37|30.82|859|W|wan hsien;wanshien,Wanzhou|chongqing|CN|108.4|30.76|1545|W|,Warangal|telangana|IN|79.58|18|704|W|,Warner Robins|GA|US|-83.63|32.62|73|N|,Warren|MI|US|-83.01|42.49|134|N|,Warren|OH|US|-80.82|41.24|40|N|,Warri|delta|NG|5.75|5.52|910|W|,Warsaw|mazovia|PL|21.01|52.23|1702|W|warszawa;varsavia;varsova;varsovia;varsovie;varsava;warsawa;warschau,Warwick|RI|US|-71.42|41.7|81|N|,Wasco|CA|US|-119.34|35.59|26|N|,Washington|DC|US|-77.04|38.9|689|NW|washington d c;district of columbia;washington dc;waszyngton;territory of columbia,Washington Heights|NY|US|-73.94|40.85|152|N|,Waterbury|CT|US|-73.05|41.56|108|N|,Waterford|MI|US|-83.41|42.69|75|N|,Waterfront Communities-The Island|ON|CA|-79.38|43.63|65|N|,Waterloo|ON|CA|-80.52|43.47|104|N|,Waterloo|IA|US|-92.34|42.49|68|N|,Watertown|MA|US|-71.18|42.37|31|N|,Watertown|NY|US|-75.91|43.97|26|N|,Watsonville|CA|US|-121.76|36.91|53|N|,Waukegan|IL|US|-87.84|42.36|88|N|,Waukesha|WI|US|-88.23|43.01|71|N|,Wausau|WI|US|-89.63|44.96|39|N|,Wauwatosa|WI|US|-88.01|43.05|47|N|,Waxahachie|TX|US|-96.85|32.39|33|N|,Wayne|NJ|US|-74.28|40.93|57|N|,Wayne|PA|US|-75.39|40.04|30|N|,Weatherford|TX|US|-97.8|32.76|28|N|,Weifang|shandong|CN|119.1|36.71|2044|W|wej fang,Weihai|shandong|CN|122.11|37.51|844|W|wej chaj,Weinan|shaanxi|CN|109.51|34.5|1199|W|wej nan,Welland|ON|CA|-79.25|42.98|52|N|,Wellesley|MA|US|-71.29|42.3|27|N|,Wellington|FL|US|-80.24|26.66|62|N|,Wenatchee|WA|US|-120.31|47.42|33|N|,Wentzville|MO|US|-90.85|38.81|35|N|,Wenzhou|zhejiang|CN|120.67|28|2650|W|wen cou;on chau;yongjia,Weslaco|TX|US|-97.99|26.16|39|N|,Wesley Chapel|FL|US|-82.33|28.24|44|N|,West Albany|NY|US|-73.78|42.68|93|N|,West Allis|WI|US|-88.01|43.02|60|N|,West Babylon|NY|US|-73.35|40.72|43|N|,West Bend|WI|US|-88.18|43.43|31|N|,West Bloomfield Township|MI|US|-83.38|42.57|64|N|west bloomfield;xa west bloomfield,West Chicago|IL|US|-88.2|41.88|27|N|,West Coon Rapids|MN|US|-93.35|45.16|62|N|,West Covina|CA|US|-117.94|34.07|108|N|,West Des Moines|IA|US|-93.71|41.58|64|N|,West Elkridge|MD|US|-76.73|39.21|28|N|,West End|BC|CA|-123.13|49.28|47|N|vancouver west end,West Englewood|IL|US|-87.67|41.78|32|N|,West Falls Church|VA|US|-77.19|38.86|29|N|,West Fargo|ND|US|-96.9|46.87|33|N|tay fargo,West Gulfport|MS|US|-89.09|30.4|71|N|,West Hartford|CT|US|-72.74|41.76|63|N|,West Haven|CT|US|-72.95|41.27|54|N|,West Hill|ON|CA|-79.18|43.77|27|N|,West Hills|CA|US|-118.64|34.2|41|N|,West Hollywood|FL|US|-80.18|26.02|60|N|,West Hollywood|CA|US|-118.36|34.09|36|N|tay hollywood,West Humber-Clairville|ON|CA|-79.6|43.72|33|N|,West Islip|NY|US|-73.31|40.71|28|N|,West Jordan|UT|US|-111.94|40.61|111|N|,West Kelowna|BC|CA|-119.58|49.86|28|N|district of west kelowna,West Lafayette|IN|US|-86.91|40.43|45|N|,West Lake Sammamish|WA|US|-122.1|47.58|33|N|,West Lawn|IL|US|-87.72|41.77|32|N|,West Linn|OR|US|-122.61|45.37|26|N|,West Little River|FL|US|-80.24|25.86|34|N|,West Lynchburg|VA|US|-79.18|37.4|65|N|,West Memphis|AR|US|-90.18|35.15|25|N|,West Milford|NJ|US|-74.37|41.13|26|N|,West New York|NJ|US|-74.01|40.79|53|N|,West Oak Lane|PA|US|-75.17|40.07|38|N|,West Orange|NJ|US|-74.24|40.8|48|N|,West Palm Beach|FL|US|-80.05|26.72|120|N|,West Raleigh|NC|US|-78.66|35.79|338|N|,West Ridge|IL|US|-87.69|42|72|N|,West Roxbury|MA|US|-71.15|42.28|30|N|,West Sacramento|CA|US|-121.53|38.58|52|N|,West Scarborough|ME|US|-70.39|43.57|27|N|,West Seneca|NY|US|-78.8|42.85|44|N|,West Springfield|MA|US|-72.62|42.11|27|N|,West Torrington|CT|US|-73.14|41.82|36|N|,West Town|IL|US|-87.67|41.89|86|N|,West Valley City|UT|US|-112|40.69|136|N|west valley,West Vancouver|BC|CA|-123.16|49.33|45|N|vancouver barat,West Village|NY|US|-74.01|40.73|32|N|,West Warwick|RI|US|-71.52|41.7|30|N|,West Whittier-Los Nietos|CA|US|-118.07|33.98|25|N|,Westchester|FL|US|-80.33|25.75|29|N|,Westerville|OH|US|-82.93|40.13|38|N|,Westfield|MA|US|-72.75|42.13|41|N|westfield centre,Westfield|IN|US|-86.13|40.04|36|N|,Westfield|NJ|US|-74.35|40.66|30|N|,Westlake|OH|US|-81.92|41.46|32|N|,Westland|MI|US|-83.4|42.32|82|N|,Westminster|CO|US|-105.04|39.84|116|N|,Westminster|CA|US|-118.01|33.76|92|N|,Westminster-Branson|ON|CA|-79.45|43.78|26|N|,Westmont|CA|US|-118.3|33.94|31|N|,Weston|FL|US|-80.4|26.1|69|N|,Westport|CT|US|-73.36|41.14|26|N|,Wethersfield|CT|US|-72.65|41.71|26|N|,Wexford/Maryvale|ON|CA|-79.3|43.75|27|N|,Weymouth|MA|US|-70.94|42.22|54|N|,Whalley|BC|CA|-122.87|49.18|102|N|,Wharton|PA|US|-75.16|39.93|49|N|,Wheat Ridge|CO|US|-105.08|39.77|31|N|wheatridge,Wheaton|IL|US|-88.11|41.87|53|N|,Wheaton|MD|US|-77.06|39.04|48|N|,Wheeling|IL|US|-87.93|42.14|38|N|,Wheeling|WV|US|-80.72|40.06|27|N|,Whitby|ON|CA|-78.93|43.88|138|N|,Whitchurch-Stouffville|ON|CA|-79.32|44|49|N|,White Bear Lake|MN|US|-93.01|45.08|25|N|,White Plains|NY|US|-73.76|41.03|58|N|,Whitehorse|YT|CA|-135.05|60.72|28|N|,Whitestone|NY|US|-73.82|40.79|36|N|,Whitman|PA|US|-75.16|39.92|49|N|,Whitney|NV|US|-115.04|36.1|38|N|,Whittier|CA|US|-118.03|33.98|87|N|,Wichita|KS|US|-97.34|37.69|396|N|,Wichita Falls|TX|US|-98.49|33.91|104|N|,Wildomar|CA|US|-117.28|33.6|35|N|,Wildwood|MO|US|-90.66|38.58|35|N|,Wilkes-Barre|PA|US|-75.88|41.25|40|N|,Williamsburg|NY|US|-73.95|40.71|33|N|,Williamsport|PA|US|-77|41.24|29|N|,Willingboro|NJ|US|-74.87|40.03|31|N|,Williston|ND|US|-103.62|48.15|26|N|,Willoughby|BC|CA|-122.68|49.13|31|N|,Willowbrook|CA|US|-118.26|33.92|35|N|,Willowdale|ON|CA|-79.4|43.77|79|N|,Willowdale East|ON|CA|-79.4|43.77|50|N|,Wilmette|IL|US|-87.72|42.07|27|N|,Wilmington|NC|US|-77.95|34.24|115|N|,Wilmington|DE|US|-75.55|39.75|70|N|,Wilmington|CA|US|-118.26|33.78|52|N|,Wilson|NC|US|-77.92|35.72|49|N|,Winchester|NV|US|-115.12|36.13|27|N|,Winchester|VA|US|-78.16|39.19|27|N|,Windsor|ON|CA|-83.02|42.3|229|N|,Windsor|CO|US|-104.9|40.48|32|N|,Windsor|CT|US|-72.64|41.85|28|N|,Windsor|CA|US|-122.82|38.55|27|N|,Winnetka|CA|US|-118.57|34.21|47|N|,Winnipeg|MB|CA|-97.15|49.88|749|NW|vinnipeg;winnipeg city,Winona|MN|US|-91.64|44.05|27|N|,Winston-Salem|NC|US|-80.24|36.1|241|N|,Winter Garden|FL|US|-81.59|28.57|40|N|,Winter Haven|FL|US|-81.73|28.02|37|N|,Winter Park|FL|US|-81.34|28.6|29|N|,Winter Springs|FL|US|-81.31|28.7|34|N|,Woburn|ON|CA|-79.23|43.77|53|N|,Woburn|MA|US|-71.15|42.48|39|N|,Woodburn|OR|US|-122.86|45.14|25|N|,Woodbury|MN|US|-92.96|44.92|67|N|,Woodhaven|NY|US|-73.86|40.69|36|N|,Woodland|CA|US|-121.77|38.68|58|N|,Woodland Hills|CA|US|-118.61|34.17|70|N|,Woodlawn|MD|US|-76.73|39.32|37|N|,Woodridge|IL|US|-88.05|41.75|33|N|,Woodside|NY|US|-73.91|40.75|41|N|,Woodstock|ON|CA|-80.75|43.13|40|N|,Woodstock|GA|US|-84.52|34.1|29|N|,Woodstock|IL|US|-88.45|42.31|25|N|,Woonsocket|RI|US|-71.51|42|41|N|,Wooster|OH|US|-81.94|40.81|26|N|,Worcester|MA|US|-71.8|42.26|206|N|,Wroclaw|lower silesia|PL|17.03|51.1|672|W|breslau;breslavia;vratislav;bresslau;vratislavie,Wuhan|hubei|CN|114.27|30.58|10392|W|vuhan;vu han;wu chan,Wuhu|anhui|CN|118.43|31.35|1598|W|wu chu,Wuwei|gansu|CN|102.63|37.93|1010|W|,Wuxi|jiangsu|CN|120.29|31.57|4396|W|vo tich;wu si,Wuzhong|ningxia|CN|106.2|37.99|7202|W|,Wuzhou|guangxi|CN|111.29|23.48|761|W|ngo chau;wu cou,Wyandotte|MI|US|-83.15|42.21|25|N|,Wylie|TX|US|-96.54|33.02|46|N|,Wyoming|MI|US|-85.71|42.91|75|N|,Xalapa de Enriquez|MX30|MX|-96.92|19.53|424|N|xalapa;jalapa;jalapa enriques;jalapa enriquez,Xalisco|MX18|MX|-104.9|21.44|35|N|jalisco,Xenia|OH|US|-83.93|39.68|25|N|,Xi'an|shaanxi|CN|108.93|34.26|9600|W|tay an;xian,Xiamen|fujian|CN|118.08|24.48|4617|W|amoy;sia men,Xiangtan|hunan|CN|112.9|27.85|959|W|siang tchan;tuong dam,Xiangyang|hubei|CN|112.14|32.04|1294|W|siang jang;tuong duong;xiangfan,Xianyang|shaanxi|CN|108.7|34.34|1034|W|ham duong;sien jang,Xiaogan|hubei|CN|113.92|30.93|908|W|siao kan,Xico|MX15|MX|-98.95|19.27|384|N|san miguel xico,Xicotepec de Juarez|MX21|MX|-97.96|20.28|39|N|,Xingtai|hebei|CN|114.49|37.06|798|W|hinh dai;sing tchaj,Xining|qinghai|CN|101.76|36.63|1677|W|si ning;sining;tay ninh,Xinxiang|henan|CN|113.8|35.19|1047|W|,Xinyang|henan|CN|114.07|32.12|1230|W|,Xinyu|jiangxi|CN|114.93|27.8|839|W|sin ju;tan du,Xochimilco|MX09|MX|-99.1|19.25|442|N|delegacion xochimilco,Xuancheng|anhui|CN|118.76|30.95|774|W|,Xuchang|henan|CN|113.86|34.03|1265|W|,Xuhui|shanghai|CN|121.45|31.2|1109|W|,Xuzhou|jiangsu|CN|117.28|34.2|1253|W|pengcheng,Ya'an|sichuan|CN|103|29.99|612|W|,Yakima|WA|US|-120.51|46.6|93|N|,Yancheng|jiangsu|CN|120.16|33.36|1615|W|diem thanh;jen ccheng,Yangjiang|guangdong|CN|111.96|21.86|1292|W|duong giang;jang tiang,Yangon|yangon|MM|96.16|16.81|4477|W|rangoon;rangoun;rangum;rangun;yankoun,Yangpu|shanghai|CN|121.52|31.26|1210|W|,Yangquan|shanxi|CN|113.56|37.86|731|W|jang cchuan,Yangzhou|jiangsu|CN|119.44|32.4|1584|W|duong chau;jang cou,Yantai|shandong|CN|121.44|37.48|2227|W|jen tchaj;yen dai;chefoo,Yaounde|centre|CM|11.52|3.87|1299|W|jaunde;yaunde,Yarmouth|MA|US|-70.23|41.71|25|N|,Yaroslavl|yaroslavl oblast|RU|39.87|57.63|608|W|jaroslawl;iaroslavl;jaroslavl;jaroslaw,Yautepec|MX17|MX|-99.07|18.88|105|N|yautepec de zaragoza,Yekaterinburg|sverdlovsk oblast|RU|60.62|56.86|1495|W|jekaterinburg;ekaterimburgo;ekaterinbourg;ekaterinburg;ekaterinburgo;jekaterinenburg;jekaterynburg,Yerevan|yerevan|AM|44.51|40.18|1144|W|erevan;erivan;erywan;jerevan;jerewan,Yibin|sichuan|CN|104.64|28.76|836|W|nghi tan,Yichang|hubei|CN|111.28|30.71|1350|W|i cchang;nghi xuong,Yichun|jiangxi|CN|114.4|27.83|1045|W|i cchun;nghi xuan,Yinchuan|ningxia|CN|106.27|38.47|1487|W|jin cchuan;ngan xuyen,Yingkou|liaoning|CN|122.23|40.66|591|W|newchwang;eiko,Yiwu|zhejiang|CN|120.08|29.32|1481|W|,Yixing|jiangsu|CN|119.82|31.36|1285|W|,Yokohama|kanagawa|JP|139.65|35.43|3777|W|jokohama,Yongzhou|hunan|CN|111.61|26.42|1020|W|lingling,Yonkers|NY|US|-73.9|40.93|201|N|,Yorba Linda|CA|US|-117.81|33.89|67|N|,York|PA|US|-76.73|39.96|43|N|,York University Heights|ON|CA|-79.49|43.77|27|N|,Youngstown|OH|US|-80.65|41.1|64|N|,Yuba City|CA|US|-121.62|39.14|66|N|kota yuba,Yucaipa|CA|US|-117.04|34.03|53|N|,Yueyang|hunan|CN|113.09|29.37|991|W|jue jang,Yukon|OK|US|-97.76|35.51|25|N|,Yulin|guangxi|CN|110.15|22.63|1056|W|ju lin,Yuma|AZ|US|-114.62|32.73|95|N|,Yuncheng|shanxi|CN|110.99|35.02|680|W|jun ccheng,Yunfu|guangdong|CN|112.04|22.93|2612|W|jun fu;van phu,Yuriria|MX11|MX|-101.13|20.21|25|N|,Zacapu|MX16|MX|-101.79|19.82|50|N|,Zacatecas|MX32|MX|-102.58|22.77|129|N|zacatecas city,Zacatelco|MX29|MX|-98.24|19.22|42|N|,Zacatlan|MX21|MX|-97.96|19.94|33|N|,Zagreb|zagreb|HR|15.98|45.81|663|W|zagabria;zagrep;zagrzeb;zahreb;agram,Zamboanga|zamboanga peninsula|PH|122.07|6.91|1018|W|zamboanga city,Zamora de Hidalgo|MX16|MX|-102.29|19.98|186|N|zamora,Zanesville|OH|US|-82.01|39.94|25|N|,Zanzibar|zanzibar urban west|TZ|39.2|-6.16|709|W|sansibar stadt;zanzibar by,Zaozhuang|shandong|CN|117.55|34.86|899|W|cao cuang,Zapopan|MX14|MX|-103.39|20.72|1476|NW|,Zaporizhzhya|zaporizhzhia|UA|35.12|47.85|710|W|zaporizjzja;zaporizzja;alessandrovia;saporischschja;zaporiggia;zaporijjia;zaporiyia;zaporizhzhia;zaporoye;zaporozhye;zaporoze;zaporozi;alexandrovsk;saporoschje;saporoshje,Zapotlanejo|MX14|MX|-103.07|20.62|32|N|,Zaragoza|aragon|ES|-0.88|41.66|686|W|saragossa;saragosse;saragozza;saragoca;zaragosa,Zaria|kaduna state|NG|7.72|11.11|980|W|,Zarqa|zarqa|JO|36.09|32.07|792|W|zarka,Zhabei|shanghai|CN|121.46|31.26|840|W|,Zhangjiagang|jiangsu|CN|120.54|31.86|1432|W|,Zhangjiakou|hebei|CN|114.87|40.78|692|W|cang tia kchou,Zhangzhou|fujian|CN|117.66|24.51|589|W|chuong chau;cang cou,Zhanjiang|guangdong|CN|110.39|21.23|1400|W|,Zhaoqing|guangdong|CN|112.46|23.05|1553|W|cao cching;shiu hing,Zhaotong|yunnan|CN|103.72|27.32|787|W|chieu thong;cao tchung,Zhengzhou|henan|CN|113.65|34.76|4253|W|czengczou;cengcou;ceng cou,Zhenjiang|jiangsu|CN|119.46|32.21|950|W|chinkiang,Zhongshan|guangdong|CN|113.38|22.52|3841|W|trung son;xiangshan;cung san,Zhongwei|ningxia|CN|105.19|37.51|1174|W|cung wej,Zhoushan|zhejiang|CN|122.2|29.99|882|W|,Zhu Cheng City|shandong|CN|119.4|36|1000|W|,Zhuhai|guangdong|CN|113.57|22.28|2207|W|cu chaj,Zhumadian|henan|CN|114.03|32.98|721|W|,Zhuzhou|hunan|CN|113.15|27.83|1129|W|chu chau;cu cou;jianning,Zibo|shandong|CN|118.06|36.79|3129|W|c po;truy bac,Zigong|sichuan|CN|104.78|29.34|1262|W|c kung,Zinacantepec|MX15|MX|-99.73|19.28|54|N|,Zionsville|IN|US|-86.26|39.95|26|N|,Ziyang|sichuan|CN|104.65|30.12|905|W|,Zumpango|MX15|MX|-99.1|19.8|280|N|zumpango de ocampo,Zunyi|guizhou|CN|106.91|27.69|2037|W|cun i;tuan nghia";
|
|
166
|
-
var B = "AB|CA|Alberta|-113.75|52.18,AK|US|Alaska|-148.32|61.29,AL|US|Alabama|-86.73|33.08,AR|US|Arkansas|-92.85|35.29,AZ|US|Arizona|-111.99|33.32,BC|CA|British Columbia|-122.73|49.27,CA|US|California|-119.21|35.2,CO|US|Colorado|-105|39.63,CT|US|Connecticut|-73.01|41.42,DC|US|District of Columbia|-77.04|38.9,DE|US|Delaware|-75.59|39.57,FL|US|Florida|-81.29|27.53,GA|US|Georgia|-84.02|33.43,HI|US|Hawaii|-157.73|21.26,IA|US|Iowa|-92.79|41.88,ID|US|Idaho|-115.65|44.2,IL|US|Illinois|-88.05|41.67,IN|US|Indiana|-86.27|40.23,KS|US|Kansas|-96|38.59,KY|US|Kentucky|-84.91|38.13,LA|US|Louisiana|-91.28|30.57,MA|US|Massachusetts|-71.28|42.32,MB|CA|Manitoba|-97.3|49.88,MD|US|Maryland|-76.79|39.18,ME|US|Maine|-70.01|43.92,MI|US|Michigan|-83.69|42.56,MN|US|Minnesota|-93.26|44.98,MO|US|Missouri|-92.66|38.73,MS|US|Mississippi|-89.62|32.36,MT|US|Montana|-111.07|46.37,MX01|MX|Aguascalientes|-102.29|21.91,MX02|MX|Baja California|-116.5|32.46,MX03|MX|Baja California Sur|-110.12|23.52,MX04|MX|Campeche|-91.08|19.25,MX05|MX|Chiapas|-92.77|16.28,MX06|MX|Chihuahua|-106.27|30.1,MX07|MX|Coahuila|-101.88|26.32,MX08|MX|Colima|-103.94|19.15,MX09|MX|Mexico City|-99.13|19.41,MX10|MX|Durango|-104.24|24.64,MX11|MX|Guanajuato|-101.37|20.87,MX12|MX|Guerrero|-99.83|17.31,MX13|MX|Hidalgo|-98.81|20.13,MX14|MX|Jalisco|-103.39|20.64,MX15|MX|M\xE9xico|-99.14|19.51,MX16|MX|Michoac\xE1n|-101.68|19.49,MX17|MX|Morelos|-99.15|18.88,MX18|MX|Nayarit|-104.89|21.5,MX19|MX|Nuevo Le\xF3n|-100.26|25.69,MX20|MX|Oaxaca|-96.23|17.05,MX21|MX|Puebla|-98.12|19.07,MX22|MX|Quer\xE9taro|-100.35|20.57,MX23|MX|Quintana Roo|-87.09|20.7,MX24|MX|San Luis Potos\xED|-100.7|22.22,MX25|MX|Sinaloa|-107.49|24.63,MX26|MX|Sonora|-111.05|29.37,MX27|MX|Tabasco|-92.98|17.99,MX28|MX|Tamaulipas|-98.33|24.92,MX29|MX|Tlaxcala|-98.19|19.31,MX30|MX|Veracruz|-96.31|19.2,MX31|MX|Yucat\xE1n|-89.52|20.94,MX32|MX|Zacatecas|-102.7|22.93,NB|CA|New Brunswick|-65.73|45.83,NC|US|North Carolina|-79.61|35.57,ND|US|North Dakota|-98.8|47.31,NE|US|Nebraska|-96.42|41.07,NH|US|New Hampshire|-71.37|43,NJ|US|New Jersey|-74.34|40.51,NL|CA|Newfoundland and Labrador|-52.77|47.55,NM|US|New Mexico|-106.28|34.69,NS|CA|Nova Scotia|-63.11|44.86,NV|US|Nevada|-115.95|36.72,NY|US|New York|-74.13|40.89,OH|US|Ohio|-82.75|40.53,OK|US|Oklahoma|-97.01|35.66,ON|CA|Ontario|-79.27|43.94,OR|US|Oregon|-122.75|44.96,PA|US|Pennsylvania|-76.12|40.23,PE|CA|Prince Edward Island|-63.13|46.23,QC|CA|Quebec|-73.14|45.89,RI|US|Rhode Island|-71.45|41.79,SC|US|South Carolina|-80.69|33.6,SD|US|South Dakota|-98.66|43.89,SK|CA|Saskatchewan|-105.99|51.63,TN|US|Tennessee|-87.53|35.63,TX|US|Texas|-97.51|31.01,UT|US|Utah|-111.96|40.5,VA|US|Virginia|-77.08|37.61,VT|US|Vermont|-73.21|44.48,WA|US|Washington|-121.46|47.29,WI|US|Wisconsin|-88.6|43.36,WV|US|West Virginia|-81.42|38.99,WY|US|Wyoming|-105.54|42.26,YT|CA|Yukon|-135.05|60.72";
|
|
167
|
-
var P = "006|-66.84|18.26,007|-66.15|18.15,008|-64.74|17.74,009|-66.12|18.37,010|-72.6|42.26,011|-72.53|42.07,012|-73.21|42.37,013|-72.51|42.58,014|-71.81|42.59,015|-71.85|42.23,016|-71.84|42.28,017|-71.44|42.33,018|-71.21|42.64,019|-70.89|42.66,020|-71.28|42.12,021|-71.05|42.31,022|-71.04|42.35,023|-70.86|41.98,024|-71.22|42.37,025|-70.6|41.71,026|-70.2|41.73,027|-71.07|41.77,028|-71.62|41.69,029|-71.47|41.82,030|-71.51|42.9,031|-71.48|43,032|-71.65|43.57,033|-71.58|43.26,034|-72.19|42.91,035|-71.31|44.69,036|-72.32|43.17,037|-72.13|43.69,038|-71.1|43.56,039|-70.76|43.24,040|-70.6|43.78,041|-70.27|43.7,042|-70.49|44.38,043|-69.75|44.3,044|-68.83|45.45,045|-69.57|43.99,046|-67.8|44.79,047|-68.34|46.55,048|-69.17|44.2,049|-69.97|44.99,050|-72.43|43.85,051|-72.65|43.28,052|-73.14|43.03,053|-72.77|42.94,054|-72.98|44.58,056|-72.6|44.35,057|-73.04|43.69,058|-72.12|44.68,059|-71.7|44.79,060|-72.81|41.88,061|-72.69|41.74,062|-72.12|41.81,063|-72.03|41.5,064|-72.61|41.46,065|-72.94|41.36,066|-73.22|41.24,067|-73.24|41.68,068|-73.42|41.28,069|-73.57|41.14,070|-74.28|40.76,071|-74.2|40.74,072|-74.2|40.68,073|-74.08|40.71,074|-74.4|41.09,075|-74.17|40.92,076|-74.01|40.94,077|-74.17|40.28,078|-74.81|40.97,079|-74.55|40.74,080|-74.98|39.78,081|-75.07|39.94,082|-74.68|39.32,083|-75.04|39.45,084|-74.48|39.35,085|-74.62|40.25,086|-74.68|40.23,087|-74.22|39.96,088|-74.72|40.54,089|-74.48|40.45,100|-73.96|40.77,101|-73.95|40.78,102|-74.02|40.72,103|-74.15|40.58,104|-73.85|40.9,105|-73.75|41.27,106|-73.74|41.02,107|-73.84|40.96,108|-73.8|40.95,109|-74.27|41.3,110|-73.69|40.74,111|-73.93|40.76,112|-73.94|40.66,113|-73.84|40.73,114|-73.77|40.69,115|-73.62|40.71,116|-73.88|40.57,117|-73.23|40.82,118|-73.5|40.77,119|-72.53|40.95,120|-74.22|42.92,121|-74.4|43.46,122|-73.81|42.7,123|-73.96|42.82,124|-74.27|42.09,125|-73.7|41.89,126|-73.88|41.69,127|-74.75|41.74,128|-73.91|43.61,129|-74.03|44.53,130|-76.16|43.08,131|-76.46|43.27,132|-76.2|43.03,133|-75.07|43.45,134|-75.35|43.03,135|-75.15|43.14,136|-75.39|44.33,137|-75.2|42.21,138|-75.46|42.43,139|-75.88|42.12,140|-78.48|43.01,141|-78.7|42.49,142|-78.8|42.91,143|-78.96|43.12,144|-77.71|42.96,145|-77.17|43.14,146|-77.65|43.17,147|-78.84|42.21,148|-77.18|42.29,149|-76.78|42.09,150|-80.23|40.56,151|-80.18|40.53,152|-79.97|40.46,153|-80.24|40.01,154|-79.65|39.92,155|-78.8|39.95,156|-79.47|40.33,157|-79.02|40.71,158|-78.66|41.32,159|-78.84|40.35,160|-79.88|40.93,161|-80.3|41.19,162|-79.35|41.08,163|-79.58|41.59,164|-80|41.87,165|-80.04|42.1,166|-78.28|40.48,167|-78.47|41.76,168|-78|40.97,169|-77.37|41.8,170|-77.29|40.44,171|-76.78|40.33,172|-77.81|39.98,173|-76.93|39.89,174|-76.72|39.97,175|-76.24|40.05,176|-76.34|40.05,177|-77.22|41.34,178|-76.77|40.93,179|-76.27|40.69,180|-75.45|40.67,181|-75.47|40.6,182|-75.88|40.9,183|-75.19|41.12,184|-75.38|41.53,185|-75.68|41.37,186|-76.17|41.4,187|-75.86|41.22,188|-76.12|41.82,189|-75.14|40.36,190|-75.37|39.97,191|-75.15|40.01,193|-75.78|39.92,194|-75.46|40.19,195|-75.9|40.42,196|-75.95|40.34,197|-75.68|39.53,198|-75.58|39.77,199|-75.46|38.83,200|-77.02|38.9,201|-77.68|38.9,202|-77.03|38.89,203|-77.01|38.86,204|-77.05|38.89,205|-77.01|38.87,206|-76.76|38.45,207|-76.78|38.88,208|-77.23|39.15,209|-76.99|39.05,210|-76.32|39.53,211|-76.73|39.58,212|-76.58|39.31,214|-76.55|39,215|-79.08|39.56,216|-76.02|38.86,217|-77.5|39.52,218|-75.57|38.27,219|-75.94|39.57,220|-77.25|38.78,221|-77.25|38.92,222|-77.11|38.88,223|-77.13|38.79,224|-77.25|38.22,225|-77.51|38.09,226|-78.25|39.03,227|-78.05|38.49,228|-78.79|38.57,229|-78.55|38.02,230|-78.09|37.66,231|-76.96|37.55,232|-77.46|37.51,233|-76.3|36.68,234|-76.66|36.77,235|-76.26|36.87,236|-76.44|37.12,237|-76.38|36.85,238|-77.41|36.94,239|-78.39|37.03,240|-80.1|37.23,241|-79.89|36.9,242|-82.49|36.83,243|-81.13|36.86,244|-79.51|38.05,245|-79.11|37.15,246|-81.8|37.19,247|-81.14|37.39,248|-81.64|37.47,249|-80.32|37.95,250|-81.45|38.27,251|-81.89|38.64,252|-81.45|38.77,253|-81.64|38.42,254|-78.11|39.45,255|-82.19|38.25,256|-82.08|37.76,257|-82.41|38.4,258|-81.21|37.72,259|-80.89|37.83,260|-80.63|40.05,261|-81.27|39.2,262|-80.02|38.75,263|-80.23|39.27,264|-80.65|39.21,265|-80.05|39.59,266|-80.8|38.48,267|-78.98|39.33,268|-79.12|38.88,270|-80.45|36.24,271|-80.24|36.06,272|-79.82|35.86,273|-79.52|35.55,274|-79.81|36.09,275|-78.54|35.93,276|-78.65|35.81,277|-78.9|35.99,278|-77.32|35.88,279|-76.5|36.19,280|-81.2|35.4,281|-80.41|35.21,282|-80.83|35.22,283|-78.94|34.96,284|-78.23|34.39,285|-77.23|35.06,286|-81.36|36.06,287|-82.78|35.51,288|-82.55|35.6,289|-83.97|35.11,290|-80.88|34.19,291|-80.62|33.71,292|-80.96|34.04,293|-81.86|34.78,294|-80.08|33.05,295|-79.49|34.07,296|-82.57|34.61,297|-80.92|34.83,298|-81.74|33.51,299|-80.96|32.55,300|-84.08|33.85,301|-84.91|34.04,302|-84.55|33.25,303|-84.42|33.77,304|-82.11|32.48,305|-83.81|34.58,306|-83.14|33.86,307|-85.1|34.71,308|-82.34|33.35,309|-82.01|33.4,310|-83.42|32.64,312|-83.64|32.83,313|-81.49|31.68,314|-81.15|32.03,315|-82.21|31.4,316|-83.21|31.02,317|-83.87|31.48,318|-84.69|32.45,319|-84.95|32.47,320|-82.58|30.27,321|-81.48|29.39,322|-81.69|30.3,323|-84.25|30.29,324|-85.58|30.55,325|-87.03|30.76,326|-82.6|29.58,327|-81.28|28.79,328|-81.32|28.47,329|-80.67|27.96,330|-80.58|25.31,331|-80.38|25.74,333|-80.25|26.13,334|-81.01|26.64,335|-82.22|28.19,336|-82.47|28.01,337|-82.73|27.85,338|-81.64|27.72,339|-81.71|26.77,341|-81.32|26.11,342|-82.16|27.29,344|-82.35|29.01,346|-82.52|28.41,347|-81.4|28.29,349|-80.72|27.34,350|-86.8|34.05,351|-86.38|33.43,352|-86.77|33.5,354|-87.86|33.07,355|-87.71|33.96,356|-87.4|34.67,357|-86.26|34.75,358|-86.59|34.69,359|-85.94|34.27,360|-86.09|32.09,361|-86.27|32.31,362|-85.65|33.53,363|-85.56|31.34,364|-86.97|31.38,365|-88.14|31.32,366|-88.19|30.68,367|-87.34|32.33,368|-85.41|32.61,369|-88.25|32.12,370|-87.02|36.12,371|-86.23|35.75,372|-86.83|36.15,373|-85.36|35.32,374|-85.33|35.06,376|-82.3|36.36,377|-84.31|36.27,378|-83.35|36.3,379|-83.97|35.97,380|-89.43|35.55,381|-89.96|35.1,382|-88.68|36.29,383|-88.5|35.61,384|-87.36|35.34,385|-85.34|36.18,386|-89.76|34.57,387|-90.81|33.54,388|-88.63|34.36,389|-89.9|33.77,390|-90|32.53,391|-90.67|32.51,392|-90.22|32.32,393|-88.8|32.42,394|-89.26|31.23,395|-89|30.59,396|-90.67|31.32,397|-88.87|33.53,398|-84.67|31.32,400|-85.29|38.07,401|-86.2|37.85,402|-85.66|38.19,403|-84.2|38.06,404|-84.42|37.53,405|-84.45|38.04,406|-84.87|38.22,407|-84.12|36.95,408|-83.26|36.9,409|-83.74|36.95,410|-84.32|38.64,411|-83.06|38.38,412|-82.67|37.89,413|-83.48|37.58,414|-83.15|37.84,415|-82.39|37.46,416|-82.78|37.54,417|-83.25|37.23,418|-82.88|37.21,420|-88.57|36.9,421|-86.09|36.89,422|-87.11|36.95,423|-87.02|37.52,424|-87.7|37.47,425|-84.71|37.15,426|-84.82|36.81,427|-85.73|37.32,430|-82.9|40.21,431|-82.99|39.69,432|-82.97|39.98,433|-83.38|40.55,434|-83.3|41.42,435|-84.22|41.46,436|-83.54|41.67,437|-81.66|39.85,438|-81.88|40.27,439|-80.9|40.25,440|-80.97|41.64,441|-81.66|41.42,442|-81.6|41.13,443|-81.54|41.07,444|-80.77|41.09,445|-80.64|41.05,446|-81.53|40.65,447|-81.39|40.83,448|-82.77|41.02,449|-82.55|40.74,450|-84.48|39.43,451|-83.84|39.16,452|-84.48|39.18,453|-84.3|39.97,454|-84.18|39.74,455|-83.81|39.94,456|-82.86|38.99,457|-81.78|39.35,458|-84.23|40.83,460|-86.13|40.17,461|-86.18|39.62,462|-86.14|39.79,463|-87.05|41.41,464|-87.34|41.55,465|-86.08|41.44,466|-86.28|41.66,467|-85.21|41.17,468|-85.17|41.09,469|-86.14|40.76,470|-85.08|39.16,471|-86.02|38.43,472|-85.74|39.05,473|-85.15|40.09,474|-86.63|38.99,475|-87.03|38.46,476|-87.53|38.13,477|-87.58|38.03,478|-87.29|39.45,479|-87.11|40.5,480|-82.79|42.83,481|-83.62|42.2,482|-83.1|42.38,483|-83.35|42.66,484|-83.22|43.29,485|-83.69|43.03,486|-84.36|43.99,487|-83.67|44.45,488|-84.67|43.02,489|-84.59|42.74,490|-85.54|42.2,491|-86.36|41.87,492|-84.36|42.06,493|-85.57|43.33,494|-86.14|43.39,495|-85.66|42.96,496|-85.52|44.44,497|-84.37|45.17,498|-86.94|46.17,499|-88.93|46.6,500|-94.77|41.63,501|-92.79|41.84,502|-93.67|42.12,503|-93.63|41.59,504|-93.37|43.17,505|-94.45|42.77,506|-92.45|42.65,507|-92.31|42.49,508|-94.56|40.96,510|-95.91|42.6,511|-96.39|42.52,512|-96.06|43.28,513|-95.16|43.27,514|-95.08|42.11,515|-95.55|41.44,516|-95.37|40.74,520|-90.98|42.46,521|-91.73|43.2,522|-92.31|41.9,523|-91.66|41.87,524|-91.69|41.96,525|-92.46|40.95,526|-91.44|40.88,527|-90.88|41.64,528|-90.61|41.56,530|-88.24|43.51,531|-88.33|42.75,532|-87.98|43.06,534|-87.86|42.74,535|-89.66|42.95,537|-89.38|43.08,538|-90.73|42.88,539|-89.55|43.64,540|-92.46|45.08,541|-88.23|45.09,542|-87.6|44.52,543|-88.01|44.53,544|-89.85|44.93,545|-89.86|45.89,546|-90.87|43.93,547|-91.52|44.85,548|-91.63|46.04,549|-88.96|44.19,550|-92.98|45.17,551|-93.08|44.96,553|-94.06|44.99,554|-93.31|45.01,556|-91.03|47.67,557|-92.68|47.39,558|-92.08|46.96,559|-92.28|43.89,560|-94.04|44.02,561|-95.65|43.92,562|-95.75|45.08,563|-94.59|45.83,564|-94.5|46.63,565|-96.08|46.86,566|-94.31|47.88,567|-96.22|48.39,570|-97.07|43.48,571|-96.76|43.54,572|-97.18|45.04,573|-98.53|43.91,574|-98.93|45.36,575|-100.61|43.86,576|-101.59|45.43,577|-103.11|44.26,580|-97.39|46.66,581|-96.83|46.86,582|-97.72|48.25,583|-99.34|48.32,584|-99.12|46.88,585|-100.98|46.76,586|-102.99|46.75,587|-101.7|48.34,588|-103.48|48.2,590|-108.62|45.98,591|-108.45|45.69,592|-105.6|48.2,593|-105.58|46.4,594|-111.24|47.79,595|-109.12|48.38,596|-111.74|46.65,597|-112.31|45.48,598|-114.25|46.97,599|-114.57|48.37,600|-88.15|42.29,601|-88.47|42.01,602|-87.69|42.04,603|-87.79|41.89,604|-88.09|41.39,605|-88.55|41.69,606|-87.69|41.83,607|-87.82|42.03,608|-87.76|41.84,609|-87.92|40.8,610|-89.56|42.18,611|-89.08|42.28,612|-90.29|41.5,613|-89.16|41.34,614|-90.43|40.82,615|-89.68|40.71,616|-89.61|40.72,617|-88.89|40.52,618|-88.15|40.11,619|-88.19|39.66,620|-90.01|39.13,622|-89.72|38.41,623|-91.02|39.99,624|-88.19|39.04,625|-89.21|39.63,626|-90|39.86,627|-89.66|39.8,628|-88.65|38.35,629|-88.89|37.55,630|-90.83|38.35,631|-90.32|38.64,633|-91.11|39.02,634|-91.78|39.93,635|-92.61|40.2,636|-90.64|37.61,637|-89.81|37.37,638|-89.73|36.55,639|-90.62|36.84,640|-94.1|39.07,641|-94.58|39.14,644|-94.69|40.13,645|-94.83|39.75,646|-93.55|39.89,647|-94.15|38.06,648|-94.35|36.93,650|-92.23|38.45,651|-92.19|38.51,652|-92.38|39.21,653|-93.26|38.71,654|-92.03|37.93,655|-91.92|37.67,656|-93.08|36.76,657|-92.43|37.03,658|-93.3|37.22,660|-95.12|38.84,661|-94.73|39.11,662|-94.72|38.95,664|-96.15|39.64,665|-96.34|39.4,666|-95.76|39.06,667|-95.23|37.64,668|-96.39|38.36,669|-97.86|39.77,670|-98.49|37.33,671|-98.4|37.44,672|-97.33|37.7,673|-95.81|37.23,674|-97.79|38.98,675|-98.99|38.25,676|-99.47|39.34,677|-101.15|39.35,678|-100.82|37.91,679|-101.43|37.18,680|-96.46|41.55,681|-96.05|41.24,683|-96.93|40.39,684|-97.26|40.89,685|-96.69|40.82,686|-97.68|41.55,687|-98.16|42.43,688|-99.15|41.34,689|-98.9|40.34,690|-100.99|40.37,691|-101.59|41.42,692|-100.64|42.67,693|-102.84|42.29,700|-89.93|29.63,701|-89.93|30.02,703|-90.65|29.62,704|-90.27|30.66,705|-92.25|30.2,706|-93.21|30.34,707|-91.2|30.57,708|-91.1|30.45,710|-93.4|32.45,711|-93.75|32.47,712|-91.95|32.56,713|-91.86|31.43,714|-92.84|31.57,716|-91.75|33.61,717|-92.79|33.48,718|-93.84|33.66,719|-93.61|34.4,720|-91.9|34.92,721|-92.56|34.93,722|-92.37|34.7,723|-90.59|35.07,724|-90.76|36.04,725|-91.81|36.01,726|-92.93|36.15,727|-94.05|36.11,728|-93.33|35.3,729|-94.08|35.29,730|-97.83|35.31,731|-97.5|35.43,734|-97.14|34.21,735|-98.81|34.53,736|-99.33|35.52,737|-98.2|36.42,738|-99.54|36.5,739|-101.67|36.74,740|-96.19|36.34,741|-95.96|36.15,743|-95.02|36.55,744|-95.44|35.64,745|-95.65|34.66,746|-97.05|36.71,747|-95.41|34.02,748|-96.66|35.17,749|-94.69|35.23,750|-96.76|33.06,751|-96.32|32.48,752|-96.78|32.79,753|-96.84|32.81,754|-95.67|33.37,755|-94.45|33.3,756|-94.58|32.49,757|-95.37|32.24,758|-95.68|31.44,759|-94.29|31.29,760|-97.54|32.59,761|-97.38|32.77,762|-97.44|33.52,763|-98.87|33.73,764|-98.59|32.61,765|-97.62|31.11,766|-97.06|31.7,767|-97.15|31.57,768|-99.37|31.23,769|-100.88|31.03,770|-95.39|29.79,772|-95.37|29.77,773|-95.24|30.48,774|-96.02|29.38,775|-94.98|29.68,776|-94.16|30.27,777|-94.19|29.96,778|-96.32|30.67,779|-96.95|28.92,780|-99.01|28.67,781|-97.93|29.08,782|-98.53|29.47,783|-98.14|27.63,784|-97.44|27.73,785|-98.19|26.39,786|-98.1|30.27,787|-97.78|30.3,788|-100.26|29.44,789|-96.87|29.92,790|-101.63|35.48,791|-101.85|35.21,792|-100.57|34.25,793|-102.15|33.37,794|-101.88|33.58,795|-100.31|32.7,796|-99.72|32.46,797|-102.22|31.57,798|-104.17|30.53,799|-106.16|31.8,800|-105.11|39.91,801|-104.47|39.51,802|-104.93|39.78,803|-105.31|40.04,804|-106.16|39.98,805|-105.35|40.57,806|-104.49|40.38,807|-103.09|40.4,808|-103.16|39.12,809|-104.67|38.79,810|-103.58|37.77,811|-106.39|37.54,812|-106.39|38.46,813|-108.42|37.49,814|-108.02|38.43,815|-108.7|38.92,816|-107.86|39.99,820|-105.27|41.31,821|-110.51|44.57,822|-104.67|42.39,823|-107.03|41.75,824|-108.65|44.32,825|-108.91|43.14,826|-106.43|43.1,827|-105|44.2,828|-106.71|44.55,829|-109.71|42.82,830|-110.51|43.7,831|-110.53|42.6,832|-112.17|42.66,833|-114.23|42.81,834|-111.63|43.86,835|-115.77|46.07,836|-115.99|44,837|-116.04|43.58,838|-116.47|47.77,840|-110.86|40.53,841|-111.81|40.71,843|-112.18|41.67,844|-112.01|41.23,845|-109.72|38.09,846|-111.68|39.63,847|-112.82|37.61,850|-112.09|33.63,851|-111.41|33,852|-111.69|33.6,853|-113.44|33.49,855|-110.3|33.43,856|-110.59|32,857|-111.09|32.18,859|-109.81|34.23,860|-111.15|35.89,863|-112.57|34.85,864|-113.79|35.66,865|-109.55|36.03,870|-106.9|35.22,871|-106.72|35.12,873|-108.56|35.44,874|-108.23|36.59,875|-106.04|36.27,877|-104.68|36.06,878|-107.94|34,879|-107.48|33.2,880|-108.03|32.37,881|-103.81|34.26,882|-104.07|32.87,883|-105.48|33.62,884|-103.79|35.74,890|-114.84|37,891|-115.42|36.33,893|-116.96|39.5,894|-118.06|41.29,895|-119.72|39.9,897|-119.8|39.18,898|-115.71|40.95,900|-118.32|34.04,902|-118.76|34.07,903|-118.34|33.95,904|-118.48|34.02,905|-118.33|33.83,906|-118.03|33.93,907|-118.45|33.39,908|-118.18|33.8,910|-118.25|34.28,911|-118.13|34.15,912|-118.25|34.19,913|-118.55|34.36,914|-118.47|34.18,915|-118.33|34.19,916|-118.38|34.18,917|-117.78|34.14,918|-118.13|34.09,919|-116.62|32.73,920|-116.7|33.16,921|-117.14|32.85,922|-115.5|33.59,923|-117.14|34.66,924|-117.33|34.17,925|-117.06|33.68,926|-117.73|33.63,927|-117.85|33.74,928|-117.71|33.85,930|-119.12|34.39,931|-119.97|34.48,932|-119.07|35.98,933|-119.01|35.35,934|-120.5|35.38,935|-118.36|37.37,936|-119.72|36.95,937|-119.85|36.71,939|-121.42|36.34,940|-122.31|37.41,941|-122.44|37.77,943|-122.13|37.44,944|-122.32|37.53,945|-122.05|38.09,946|-122.19|37.78,947|-122.26|37.89,948|-122.3|37.97,949|-122.74|38.14,950|-121.42|36.85,951|-121.76|37.33,952|-120.79|38.14,953|-120.56|37.62,954|-123.15|39.08,955|-123.75|40.5,956|-121.34|38.62,957|-120.86|39.13,958|-121.44|38.58,959|-121.73|39.47,960|-122.42|41.06,961|-120.33|40.52,967|-155.53|19.6,968|-157.83|21.34,969|144.77|13.45,970|-121.45|45.3,971|-123.79|45.64,972|-122.74|45.57,973|-123.26|44.68,974|-123.46|43.61,975|-123.06|42.34,976|-120.4|42.67,977|-120.77|44.32,978|-118.59|45.21,979|-117.63|43.34,980|-121.78|47.42,981|-122.32|47.6,982|-121.79|48.39,983|-123.87|47.96,984|-122.46|47.18,985|-123.27|46.94,986|-122.15|45.99,988|-119.91|48,989|-120.57|46.71,990|-117.56|47.62,991|-118.13|47.91,992|-117.4|47.67,993|-118.82|46.4,994|-117.21|46.2,995|-156.93|60.89,996|-151.66|60.82,997|-146.69|65.19,998|-136.2|58.94,999|-131.24|55.86";
|
|
168
|
-
var R = "ABW|-70.02|12.54,AFG|68|34.63,AGO|14.24|-9.84,AIA|-63.06|18.22,ALA|19.93|60.1,ALB|19.81|41.14,AND|1.53|42.51,ARE|55.24|24.99,ARG|-61.28|-32.95,ARM|44.52|40.23,ASM|-170.7|-14.28,ATA|21.28|-80.52,ATF|70.22|-49.35,ATG|-61.84|17.12,AUS|144.91|-33.49,AUT|15.51|47.93,AZE|49.02|40.37,BDI|29.49|-3.34,BEL|4.37|50.89,BEN|2.33|7.65,BES|-68.27|12.15,BFA|-2.08|12.15,BGD|90.42|23.65,BGR|24.92|42.71,BHR|50.57|26.18,BHS|-77.34|25.06,BIH|17.97|44.18,BLM|-62.85|17.9,BLR|27.81|53.57,BLZ|-88.41|17.54,BMU|-64.78|32.29,BOL|-65.79|-17.39,BRA|-45.89|-17.51,BRB|-59.62|13.11,BRN|114.74|4.82,BTN|89.69|27.32,BWA|25.99|-23.43,CAF|18.32|4.94,CAN|-79.4|43.71,CCK|96.82|-12.16,CHE|7.96|47.07,CHL|-71.21|-33.72,CHN|114.44|32,CIV|-4.89|6.16,CMR|11.19|5.41,COD|20.23|-4.72,COG|14.18|-4.04,COK|-159.78|-21.21,COL|-74.85|5.93,COM|43.58|-11.89,CPV|-23.87|15.66,CRI|-84.14|9.99,CUB|-80.25|22.21,CUW|-68.88|12.12,CXR|105.68|-10.42,CYM|-81.38|19.32,CYP|33.31|35,CZE|15.44|49.89,DEU|9.65|51.24,DJI|43.15|11.59,DMA|-61.39|15.3,DNK|11.42|55.79,DOM|-70.07|18.75,DZA|3.55|35.62,ECU|-79.29|-1.4,EGY|31.22|29.84,ERI|38.84|15.25,ESH|-13.19|27.14,ESP|-2.91|39.69,EST|25.17|59.29,ETH|39.02|9.26,FIN|24.87|61.26,FJI|178.2|-17.85,FLK|-57.86|-51.69,FRA|2.87|47.28,FRO|-6.77|62.01,FSM|158.16|6.92,GAB|10.22|-0.06,GBR|-1.37|52.49,GEO|43.92|41.84,GGY|-2.54|49.46,GHA|-0.98|6.4,GIB|-5.35|36.14,GIN|-12.8|9.75,GLP|-61.53|16.23,GMB|-16.59|13.41,GNB|-15.48|11.9,GNQ|9.77|1.86,GRC|23.73|37.98,GRD|-61.75|12.05,GRL|-51.72|64.18,GTM|-90.71|14.73,GUF|-52.64|5.04,GUM|144.82|13.5,GUY|-58.11|6.63,HKG|114.15|22.33,HMD|73.5|-53.1,HND|-87.41|14.94,HRV|16.21|45.31,HTI|-72.34|18.54,HUN|19.21|47.39,IDN|106.85|-6.21,IMN|-4.48|54.15,IND|78.36|21,IOT|71.35|-6.19,IRL|-6.87|53.12,IRN|51.6|34.4,IRQ|44.78|33.65,ISL|-21.7|64.22,ISR|34.97|32.07,ITA|12|42.73,JAM|-76.91|18.03,JEY|-2.1|49.19,JOR|35.96|32.03,JPN|137.27|35.53,KAZ|70.17|47.24,KEN|36.81|-0.97,KGZ|73.96|41.94,KHM|104.7|11.75,KIR|172.98|1.33,KNA|-62.72|17.3,KOR|127.51|36.58,KWT|48.06|29.2,Kosovo|20.9|42.58,LAO|102.6|17.97,LBN|35.53|33.87,LBR|-10.39|6.36,LBY|13.19|32.89,LCA|-60.97|14.04,LIE|9.52|47.14,LKA|80.25|7.25,LSO|27.67|-29.38,LTU|24.18|55.04,LUX|6.08|49.56,LVA|24.13|56.85,MAC|113.55|22.19,MAF|-63.08|18.07,MAR|-6.65|33.43,MCO|7.42|43.74,MDA|28.82|47.09,MDG|47.46|-18.89,MDV|73.51|4.18,MEX|-100.65|21.59,MHL|171.38|7.09,MKD|21.47|41.8,MLI|-7.15|12.95,MLT|14.46|35.91,MMR|96.18|18.74,MNE|19.17|42.53,MNG|105.33|47.94,MNP|145.75|15.21,MOZ|32.58|-25.97,MRT|-14.58|18.01,MSR|-62.21|16.79,MTQ|-61.01|14.64,MUS|57.51|-20.23,MWI|34.34|-14.24,MYS|103.35|3.45,MYT|45.23|-12.77,N. Cyprus|33.56|35.27,NAM|17.19|-21.34,NCL|166.47|-22.26,NER|5.05|14.04,NFK|167.97|-29.05,NGA|5.91|7.87,NIC|-86.17|12.33,NIU|-169.92|-19.05,NLD|5.21|52.09,NOR|9.62|60.46,NPL|84.7|27.64,NRU|166.93|-0.55,NZL|174.54|-38.9,OMN|57.69|23.27,PAK|71.47|30.24,PAN|-79.83|8.98,PCN|-130.1|-25.07,PER|-76.4|-11.18,PHL|121.05|14.65,PLW|134.58|7.52,PNG|147.4|-7.71,POL|19.26|51.79,PRI|-66.24|18.35,PRK|126.54|39.52,PRT|-9.08|39.42,PRY|-57.15|-25.27,PSE|35.23|31.78,PYF|-149.59|-17.57,QAT|51.49|25.32,REU|55.45|-21.08,ROU|25.47|45.38,RUS|51.84|54.52,RWA|29.78|-1.98,SAU|43.01|23.76,SDN|31.67|14.67,SEN|-16.73|14.66,SGP|103.85|1.33,SGS|-36.51|-54.28,SHN|-5.72|-15.92,SJM|15.65|78.22,SLB|159.97|-9.44,SLE|-12.4|8.36,SLV|-89.08|13.7,SMR|12.45|43.94,SOM|44.96|4.91,SPM|-56.18|46.78,SRB|20.62|44.5,SSD|29.91|6.61,STP|6.73|0.34,SUR|-55.18|5.84,SVK|18.69|48.55,SVN|14.83|46.16,SWE|16.03|58.86,SWZ|31.28|-26.43,SXM|-63.05|18.03,SYC|55.46|-4.62,SYR|37.18|35.12,Somaliland|46.23|9.76,TCA|-72.1|21.74,TCD|16.57|11.53,TGO|1.16|6.8,THA|100.71|13.71,TJK|69.39|39.08,TKM|59.4|38.74,TLS|125.65|-8.67,TON|-175.2|-21.14,TTO|-61.4|10.5,TUN|10.23|35.87,TUR|32.1|39.5,TUV|179.19|-8.52,TWN|121.06|24.37,TZA|36.11|-5.88,UGA|32.23|0.59,UKR|32.8|48.99,URY|-56.28|-34.1,USA|-93.51|37.4,UZB|69.22|41.26,VAT|12.45|41.9,VCT|-61.21|13.14,VEN|-67.82|9.83,VGB|-64.62|18.43,VIR|-64.8|17.9,VNM|106.63|10.82,VUT|168.31|-17.74,WLF|-176.17|-13.28,WSM|-171.77|-13.83,YEM|44.62|14.36,ZAF|26.96|-28.33,ZMB|28.41|-13.86,ZWE|30.49|-18.56";
|
|
169
|
-
var D = { \u00F8: "o", \u0153: "oe", \u00E6: "ae", \u00DF: "ss", \u0142: "l", \u0111: "d", \u00F0: "d", \u00FE: "th", \u0131: "i", \u0127: "h", \u0167: "t", \u014B: "n", \u0259: "e", \u0138: "k" };
|
|
170
|
-
function S(a) {
|
|
171
|
-
return a.normalize("NFD").replace(/\p{Diacritic}/gu, "").toLowerCase().replace(/[øœæßłđðþıħŧŋəĸ]/g, (e) => D[e]).replace(/[^\p{L}\p{Nd}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
172
|
-
}
|
|
173
|
-
var F = "AD AND,AE ARE,AF AFG,AG ATG,AI AIA,AL ALB,AM ARM,AO AGO,AQ ATA,AR ARG,AS ASM,AT AUT,AU AUS,AW ABW,AX ALA,AZ AZE,BA BIH,BB BRB,BD BGD,BE BEL,BF BFA,BG BGR,BH BHR,BI BDI,BJ BEN,BL BLM,BM BMU,BN BRN,BO BOL,BQ BES,BR BRA,BS BHS,BT BTN,BV BVT,BW BWA,BY BLR,BZ BLZ,CA CAN,CC CCK,CD COD,CF CAF,CG COG,CH CHE,CI CIV,CK COK,CL CHL,CM CMR,CN CHN,CO COL,CR CRI,CU CUB,CV CPV,CW CUW,CX CXR,CY CYP,CZ CZE,DE DEU,DJ DJI,DK DNK,DM DMA,DO DOM,DZ DZA,EC ECU,EE EST,EG EGY,EH ESH,ER ERI,ES ESP,ET ETH,FI FIN,FJ FJI,FK FLK,FM FSM,FO FRO,FR FRA,GA GAB,GB GBR,GD GRD,GE GEO,GF GUF,GG GGY,GH GHA,GI GIB,GL GRL,GM GMB,GN GIN,GP GLP,GQ GNQ,GR GRC,GS SGS,GT GTM,GU GUM,GW GNB,GY GUY,HK HKG,HM HMD,HN HND,HR HRV,HT HTI,HU HUN,ID IDN,IE IRL,IL ISR,IM IMN,IN IND,IO IOT,IQ IRQ,IR IRN,IS ISL,IT ITA,JE JEY,JM JAM,JO JOR,JP JPN,KE KEN,KG KGZ,KH KHM,KI KIR,KM COM,KN KNA,KP PRK,KR KOR,KW KWT,KY CYM,KZ KAZ,LA LAO,LB LBN,LC LCA,LI LIE,LK LKA,LR LBR,LS LSO,LT LTU,LU LUX,LV LVA,LY LBY,MA MAR,MC MCO,MD MDA,ME MNE,MF MAF,MG MDG,MH MHL,MK MKD,ML MLI,MM MMR,MN MNG,MO MAC,MP MNP,MQ MTQ,MR MRT,MS MSR,MT MLT,MU MUS,MV MDV,MW MWI,MX MEX,MY MYS,MZ MOZ,NA NAM,NC NCL,NE NER,NF NFK,NG NGA,NI NIC,NL NLD,NO NOR,NP NPL,NR NRU,NU NIU,NZ NZL,OM OMN,PA PAN,PE PER,PF PYF,PG PNG,PH PHL,PK PAK,PL POL,PM SPM,PN PCN,PR PRI,PS PSE,PT PRT,PW PLW,PY PRY,QA QAT,RE REU,RO ROU,RS SRB,RU RUS,RW RWA,SA SAU,SB SLB,SC SYC,SD SDN,SE SWE,SG SGP,SH SHN,SI SVN,SJ SJM,SK SVK,SL SLE,SM SMR,SN SEN,SO SOM,SR SUR,SS SSD,ST STP,SV SLV,SX SXM,SY SYR,SZ SWZ,TC TCA,TD TCD,TF ATF,TG TGO,TH THA,TJ TJK,TK TKL,TL TLS,TM TKM,TN TUN,TO TON,TR TUR,TT TTO,TV TUV,TW TWN,TZ TZA,UA UKR,UG UGA,UM UMI,US USA,UY URY,UZ UZB,VA VAT,VC VCT,VE VEN,VG VGB,VI VIR,VN VNM,VU VUT,WF WLF,WS WSM,YE YEM,YT MYT,ZA ZAF,ZM ZMB,ZW ZWE";
|
|
174
|
-
var M = (() => {
|
|
175
|
-
let a = /* @__PURE__ */ new Map();
|
|
176
|
-
for (let e of F.split(",")) {
|
|
177
|
-
let [n, o] = e.split(" ");
|
|
178
|
-
n && o && a.set(n, o);
|
|
179
|
-
}
|
|
180
|
-
return a;
|
|
181
|
-
})();
|
|
182
|
-
var K = new Set(M.keys());
|
|
183
|
-
var E = new Set(M.values());
|
|
184
|
-
var Y = ["en", "fr", "es", "de", "it", "pt", "ru", "ja", "zh", "ko", "ar", "hi", "tr", "pl", "he", "nl", "sv", "fi", "no", "da", "cs", "el", "uk", "ro", "id", "vi", "th"];
|
|
185
|
-
var V = { usa: "USA", "u.s.": "USA", "u.s.a.": "USA", us: "USA", america: "USA", "united states of america": "USA", "the united states": "USA", uk: "GBR", "u.k.": "GBR", "great britain": "GBR", britain: "GBR", england: "GBR", "south korea": "KOR", "north korea": "PRK", korea: "KOR", "ivory coast": "CIV", "cote d ivoire": "CIV", vietnam: "VNM", laos: "LAO", syria: "SYR", iran: "IRN", russia: "RUS", moldova: "MDA", tanzania: "TZA", bolivia: "BOL", venezuela: "VEN", brunei: "BRN", "czech republic": "CZE", czechia: "CZE", slovakia: "SVK", uae: "ARE", "united arab emirates": "ARE", drc: "COD", "dr congo": "COD", "democratic republic of the congo": "COD", "republic of the congo": "COG", congo: "COG", swaziland: "SWZ", eswatini: "SWZ", "cape verde": "CPV", "cabo verde": "CPV", burma: "MMR", myanmar: "MMR", holland: "NLD", "the netherlands": "NLD", netherlands: "NLD", vatican: "VAT", "vatican city": "VAT", palestine: "PSE", macau: "MAC", macao: "MAC", "hong kong": "HKG", taiwan: "TWN", turkey: "TUR", turkiye: "TUR", macedonia: "MKD", "north macedonia": "MKD", gambia: "GMB", "the gambia": "GMB", bahamas: "BHS", "the bahamas": "BHS", "east timor": "TLS", "timor leste": "TLS" };
|
|
186
|
-
var W = null;
|
|
187
|
-
function J() {
|
|
188
|
-
if (W) return W;
|
|
189
|
-
let a = /* @__PURE__ */ new Map(), e = ["en", ...Y.filter((n) => n !== "en")];
|
|
190
|
-
for (let n of e) {
|
|
191
|
-
let o = null;
|
|
192
|
-
try {
|
|
193
|
-
o = new Intl.DisplayNames([n], { type: "region" });
|
|
194
|
-
} catch {
|
|
195
|
-
continue;
|
|
196
|
-
}
|
|
197
|
-
for (let [i, r] of M) {
|
|
198
|
-
let N;
|
|
199
|
-
try {
|
|
200
|
-
N = o.of(i);
|
|
201
|
-
} catch {
|
|
202
|
-
N = void 0;
|
|
203
|
-
}
|
|
204
|
-
if (!N || N === i) continue;
|
|
205
|
-
let l = S(N);
|
|
206
|
-
l && !a.has(l) && a.set(l, r);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
for (let [n, o] of Object.entries(V)) {
|
|
210
|
-
let i = S(n);
|
|
211
|
-
i && a.set(i, o);
|
|
212
|
-
}
|
|
213
|
-
return W = a, a;
|
|
214
|
-
}
|
|
215
|
-
function k(a) {
|
|
216
|
-
return M.get(String(a || "").trim().toUpperCase()) ?? null;
|
|
217
|
-
}
|
|
218
|
-
function O(a) {
|
|
219
|
-
if (a == null) return null;
|
|
220
|
-
let e = String(a).trim();
|
|
221
|
-
if (!e) return null;
|
|
222
|
-
let n = e.toUpperCase();
|
|
223
|
-
return n.length === 3 && E.has(n) ? n : n.length === 2 && K.has(n) ? M.get(n) ?? null : J().get(S(e)) ?? null;
|
|
224
|
-
}
|
|
225
|
-
var f = { "north-america": "N", world: "W" };
|
|
226
|
-
var p = null;
|
|
227
|
-
function I() {
|
|
228
|
-
if (p) return p;
|
|
229
|
-
let a = /* @__PURE__ */ new Map(), e = (n, o, i) => {
|
|
230
|
-
if (!n) return;
|
|
231
|
-
let r = a.get(n);
|
|
232
|
-
r ? r.some((N) => N.row === o) || r.push({ row: o, primary: i }) : a.set(n, [{ row: o, primary: i }]);
|
|
233
|
-
};
|
|
234
|
-
for (let n of w.split(",")) {
|
|
235
|
-
let o = n.split("|");
|
|
236
|
-
if (o.length < 7) continue;
|
|
237
|
-
let i = { a1: o[1], cc: o[2], lon: +o[3], lat: +o[4], pop: +o[5], kinds: o[6] || "N" };
|
|
238
|
-
if (e(S(o[0]), i, true), o.length > 7 && o[7]) for (let r of o[7].split(";")) e(S(r), i, false);
|
|
239
|
-
}
|
|
240
|
-
for (let n of a.values()) n.sort((o, i) => i.row.pop - o.row.pop);
|
|
241
|
-
return p = a, a;
|
|
242
|
-
}
|
|
243
|
-
var x = 200;
|
|
244
|
-
var X = null;
|
|
245
|
-
function Z() {
|
|
246
|
-
if (X) return X;
|
|
247
|
-
let a = /* @__PURE__ */ new Map();
|
|
248
|
-
for (let [e, n] of I()) {
|
|
249
|
-
if (!e.endsWith(" city")) continue;
|
|
250
|
-
let o = e.slice(0, -5);
|
|
251
|
-
!o || I().get(o)?.some((i) => i.primary) || n[0].row.pop < x || a.set(o, n);
|
|
252
|
-
}
|
|
253
|
-
return X = a, a;
|
|
254
|
-
}
|
|
255
|
-
function j(a) {
|
|
256
|
-
if (!a) return;
|
|
257
|
-
let e = I().get(a);
|
|
258
|
-
if (e?.some((i) => i.primary)) return e;
|
|
259
|
-
let n = Z().get(a);
|
|
260
|
-
if (!n) return e;
|
|
261
|
-
let o = n.map((i) => ({ row: i.row, primary: true }));
|
|
262
|
-
return e ? [...o, ...e] : o;
|
|
263
|
-
}
|
|
264
|
-
var b = null;
|
|
265
|
-
function Q() {
|
|
266
|
-
if (b) return b;
|
|
267
|
-
let a = /* @__PURE__ */ new Map();
|
|
268
|
-
for (let e of R.split(",")) {
|
|
269
|
-
let n = e.split("|");
|
|
270
|
-
n.length < 3 || a.set(n[0], { lon: +n[1], lat: +n[2] });
|
|
271
|
-
}
|
|
272
|
-
return b = a, a;
|
|
273
|
-
}
|
|
274
|
-
var y = null;
|
|
275
|
-
function T() {
|
|
276
|
-
if (y) return y;
|
|
277
|
-
let a = /* @__PURE__ */ new Map();
|
|
278
|
-
for (let e of B.split(",")) {
|
|
279
|
-
let n = e.split("|");
|
|
280
|
-
if (n.length < 5) continue;
|
|
281
|
-
let o = { key: n[0], cc: n[1], name: n[2], lon: +n[3], lat: +n[4] };
|
|
282
|
-
a.set(S(o.key), o);
|
|
283
|
-
let i = S(o.name);
|
|
284
|
-
i === "mexico" && o.cc === "MX" ? (a.set("estado de mexico", o), a.set("edomex", o)) : a.set(i, o);
|
|
285
|
-
}
|
|
286
|
-
return y = a, a;
|
|
287
|
-
}
|
|
288
|
-
var L = null;
|
|
289
|
-
function q() {
|
|
290
|
-
if (L) return L;
|
|
291
|
-
let a = /* @__PURE__ */ new Map();
|
|
292
|
-
for (let e of P.split(",")) {
|
|
293
|
-
let n = e.split("|");
|
|
294
|
-
n.length < 3 || a.set(n[0], { lon: +n[1], lat: +n[2] });
|
|
295
|
-
}
|
|
296
|
-
return L = a, a;
|
|
297
|
-
}
|
|
298
|
-
function z(a) {
|
|
299
|
-
if (a == null) return null;
|
|
300
|
-
let e = S(String(a));
|
|
301
|
-
return e ? T().get(e)?.key ?? null : null;
|
|
302
|
-
}
|
|
303
|
-
function $(a) {
|
|
304
|
-
return T().get(S(a))?.cc ?? null;
|
|
305
|
-
}
|
|
306
|
-
function aa(a) {
|
|
307
|
-
let e = $(a);
|
|
308
|
-
return e ? k(e) : null;
|
|
309
|
-
}
|
|
310
|
-
function G(a) {
|
|
311
|
-
if (a == null) return [];
|
|
312
|
-
let e = String(a).trim().replace(/\.0+$/, "");
|
|
313
|
-
if (!e) return [];
|
|
314
|
-
let n = /^(\d{5})(-\d{4})?$/.exec(e);
|
|
315
|
-
if (n) return [n[1].slice(0, 3)];
|
|
316
|
-
if (/^\d{4}$/.test(e)) return [e.padStart(5, "0").slice(0, 3)];
|
|
317
|
-
if (/^\d{3}$/.test(e)) {
|
|
318
|
-
let o = e.padStart(5, "0").slice(0, 3);
|
|
319
|
-
return o === e ? [e] : [e, o];
|
|
320
|
-
}
|
|
321
|
-
return [];
|
|
322
|
-
}
|
|
323
|
-
function na(a) {
|
|
324
|
-
return !!a && a.ambiguous === true && !("precision" in a);
|
|
325
|
-
}
|
|
326
|
-
function ea(a) {
|
|
327
|
-
let e = null, n = typeof a.lat == "string" ? a.lat.trim() : a.lat, o = typeof a.lon == "string" ? a.lon.trim() : a.lon;
|
|
328
|
-
if (n != null && n !== "" && o !== void 0 && o !== null && o !== "") {
|
|
329
|
-
let N = +n, l = +o;
|
|
330
|
-
if (isFinite(N) && isFinite(l) && N >= -90 && N <= 90 && l >= -180 && l <= 180) if (N === 0 && l === 0) e = { lat: 0, lon: 0, precision: "latlon" };
|
|
331
|
-
else return { lat: N, lon: l, precision: "latlon" };
|
|
332
|
-
}
|
|
333
|
-
let i = O(a.country), r = z(a.state);
|
|
334
|
-
if (r && i && aa(r) !== i && (r = null), a.city !== void 0 && a.city !== null) {
|
|
335
|
-
let N = S(String(a.city)), l = f[a.mapKind || "north-america"] ?? "N", C2 = j(N);
|
|
336
|
-
if (C2) {
|
|
337
|
-
let d2 = a.state === void 0 || a.state === null ? "" : String(a.state).trim(), A2 = d2 ? S(d2) : "", g = d2 ? z(d2) : null, h = [], c = -1;
|
|
338
|
-
for (let s of C2) {
|
|
339
|
-
let U = s.row;
|
|
340
|
-
if (!U.kinds.includes(l)) continue;
|
|
341
|
-
let t = 0;
|
|
342
|
-
if (d2 && U.a1 !== "") if (g && U.a1 === g || S(U.a1) === A2) t++;
|
|
343
|
-
else continue;
|
|
344
|
-
if (i) if (k(U.cc) === i) t++;
|
|
345
|
-
else continue;
|
|
346
|
-
t > c ? (c = t, h = [s]) : t === c && h.push(s);
|
|
347
|
-
}
|
|
348
|
-
h.some((s) => s.primary) && (h = h.filter((s) => s.primary));
|
|
349
|
-
let u = /* @__PURE__ */ new Map();
|
|
350
|
-
for (let s of h) u.set(s.row.lon.toFixed(2) + "," + s.row.lat.toFixed(2), s.row);
|
|
351
|
-
if (u.size === 1) {
|
|
352
|
-
let s = h[0].row;
|
|
353
|
-
return { lat: s.lat, lon: s.lon, precision: "city" };
|
|
354
|
-
}
|
|
355
|
-
if (u.size > 1) return { ambiguous: true, matches: u.size };
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
for (let N of G(a.zip)) {
|
|
359
|
-
let l = q().get(N);
|
|
360
|
-
if (l) return { lat: l.lat, lon: l.lon, precision: "zip3" };
|
|
361
|
-
}
|
|
362
|
-
if (r) {
|
|
363
|
-
let N = T().get(S(r));
|
|
364
|
-
if (N) return { lat: N.lat, lon: N.lon, precision: "state" };
|
|
365
|
-
}
|
|
366
|
-
if (i) {
|
|
367
|
-
let N = Q().get(i);
|
|
368
|
-
if (N) return { lat: N.lat, lon: N.lon, precision: "country" };
|
|
369
|
-
}
|
|
370
|
-
return e;
|
|
371
|
-
}
|
|
372
|
-
var m = { latlon: 0, city: 1, zip3: 2, state: 3, country: 4 };
|
|
373
|
-
var H = 8;
|
|
374
|
-
function ua(a, e) {
|
|
375
|
-
let n = new Array(a.length), o = new Array(a.length), i = /* @__PURE__ */ new Set(), r = [], N = /* @__PURE__ */ new Set(), l = [], C2 = /* @__PURE__ */ new Set(), d2 = [], A2 = { latlon: 0, city: 0, zip3: 0, state: 0, country: 0 }, g = 0, h = 0, c = null;
|
|
376
|
-
for (let u = 0; u < a.length; ++u) {
|
|
377
|
-
let s = a[u], U = ea({ ...s, mapKind: e });
|
|
378
|
-
if (na(U)) {
|
|
379
|
-
n[u] = null, o[u] = null, h++;
|
|
380
|
-
let t = v(s);
|
|
381
|
-
t && !C2.has(t.toLowerCase()) && (C2.add(t.toLowerCase()), d2.length < H && d2.push(t));
|
|
382
|
-
} else if (U) {
|
|
383
|
-
if (n[u] = U.lat, o[u] = U.lon, g++, A2[U.precision]++, (c === null || m[U.precision] > m[c]) && (c = U.precision), m[U.precision] > m.city) {
|
|
384
|
-
let t = v(s);
|
|
385
|
-
t && !N.has(t.toLowerCase()) && (N.add(t.toLowerCase()), l.length < H && l.push(t));
|
|
386
|
-
}
|
|
387
|
-
} else {
|
|
388
|
-
n[u] = null, o[u] = null;
|
|
389
|
-
let t = v(s);
|
|
390
|
-
t && !i.has(t.toLowerCase()) && (i.add(t.toLowerCase()), r.push(t));
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
return { lat: n, lon: o, precision: c, precisionCounts: A2, coarseExamples: l, unmatched: r, ambiguousRows: h, ambiguousExamples: d2, matchedRows: g, totalRows: a.length };
|
|
394
|
-
}
|
|
395
|
-
function v(a) {
|
|
396
|
-
return [a.city, a.state, a.zip, a.country].filter((e) => e != null && String(e).trim() !== "").map((e) => String(e).trim()).join(", ");
|
|
397
|
-
}
|
|
398
|
-
function oa(a, e) {
|
|
399
|
-
if (!a) return false;
|
|
400
|
-
let n = j(a);
|
|
401
|
-
if (!n) return false;
|
|
402
|
-
let o = f[e || "north-america"] ?? "N";
|
|
403
|
-
return n.some((i) => i.row.kinds.includes(o));
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
// ../shape-core/dist/chunk-7MEVKXCB.mjs
|
|
407
|
-
/*! @bicharts/shape-core — Apache-2.0. Bundled reference data: GeoNames (https://www.geonames.org/) CC BY 4.0; US Census/TIGER (public domain). Full text: NOTICE in this package. */
|
|
408
|
-
var v2 = [["AL", "Alabama"], ["AK", "Alaska"], ["AZ", "Arizona"], ["AR", "Arkansas"], ["CA", "California"], ["CO", "Colorado"], ["CT", "Connecticut"], ["DE", "Delaware"], ["FL", "Florida"], ["GA", "Georgia"], ["HI", "Hawaii"], ["ID", "Idaho"], ["IL", "Illinois"], ["IN", "Indiana"], ["IA", "Iowa"], ["KS", "Kansas"], ["KY", "Kentucky"], ["LA", "Louisiana"], ["ME", "Maine"], ["MD", "Maryland"], ["MA", "Massachusetts"], ["MI", "Michigan"], ["MN", "Minnesota"], ["MS", "Mississippi"], ["MO", "Missouri"], ["MT", "Montana"], ["NE", "Nebraska"], ["NV", "Nevada"], ["NH", "New Hampshire"], ["NJ", "New Jersey"], ["NM", "New Mexico"], ["NY", "New York"], ["NC", "North Carolina"], ["ND", "North Dakota"], ["OH", "Ohio"], ["OK", "Oklahoma"], ["OR", "Oregon"], ["PA", "Pennsylvania"], ["RI", "Rhode Island"], ["SC", "South Carolina"], ["SD", "South Dakota"], ["TN", "Tennessee"], ["TX", "Texas"], ["UT", "Utah"], ["VT", "Vermont"], ["VA", "Virginia"], ["WA", "Washington"], ["WV", "West Virginia"], ["WI", "Wisconsin"], ["WY", "Wyoming"], ["DC", "District of Columbia"], ["PR", "Puerto Rico"], ["GU", "Guam"], ["VI", "U.S. Virgin Islands"], ["AS", "American Samoa"], ["MP", "Northern Mariana Islands"]];
|
|
409
|
-
var j2 = new Set(v2.map((n) => n[0]));
|
|
410
|
-
var en = { "Ala.": "AL", "Alab.": "AL", "Ariz.": "AZ", "Ark.": "AR", "Calif.": "CA", "Cal.": "CA", "Colo.": "CO", "Col.": "CO", "Conn.": "CT", "Del.": "DE", "Fla.": "FL", "Flor.": "FL", "Ga.": "GA", "Ill.": "IL", "Ind.": "IN", "Kan.": "KS", "Kans.": "KS", "Ky.": "KY", "La.": "LA", "Md.": "MD", "Mass.": "MA", "Mich.": "MI", "Minn.": "MN", "Miss.": "MS", "Mo.": "MO", "Mont.": "MT", "Neb.": "NE", "Nebr.": "NE", "Nev.": "NV", "N.H.": "NH", "N.J.": "NJ", "N.M.": "NM", "N.Mex.": "NM", "N. Mex.": "NM", "N.Y.": "NY", "N.C.": "NC", "N.D.": "ND", "N.Dak.": "ND", "N. Dak.": "ND", "Okla.": "OK", "Ore.": "OR", "Oreg.": "OR", "Pa.": "PA", "Penn.": "PA", "Penna.": "PA", "R.I.": "RI", "S.C.": "SC", "S.D.": "SD", "S.Dak.": "SD", "S. Dak.": "SD", "Tenn.": "TN", "Tex.": "TX", "Vt.": "VT", "Va.": "VA", "Wash.": "WA", "W.Va.": "WV", "W. Va.": "WV", "Wis.": "WI", "Wisc.": "WI", "Wyo.": "WY", "D.C.": "DC", "Wash. D.C.": "DC", "Wash., D.C.": "DC", "P.R.": "PR", "V.I.": "VI" };
|
|
411
|
-
var B2 = (() => {
|
|
412
|
-
let n = /* @__PURE__ */ new Map();
|
|
413
|
-
for (let [i, s] of v2) n.set(d(s), i);
|
|
414
|
-
n.set(d("Washington DC"), "DC"), n.set(d("Washington D.C."), "DC"), n.set(d("US Virgin Islands"), "VI");
|
|
415
|
-
for (let [i, s] of Object.entries(en)) {
|
|
416
|
-
let o = d(i);
|
|
417
|
-
o && !n.has(o) && n.set(o, s);
|
|
418
|
-
}
|
|
419
|
-
return n;
|
|
420
|
-
})();
|
|
421
|
-
var q2 = /* @__PURE__ */ new Set(["01", "02", "04", "05", "06", "08", "09", "10", "11", "12", "13", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "44", "45", "46", "47", "48", "49", "50", "51", "53", "54", "55", "56", "60", "66", "69", "72", "78"]);
|
|
422
|
-
function E2(n) {
|
|
423
|
-
return n.trim().toUpperCase();
|
|
424
|
-
}
|
|
425
|
-
function d(n) {
|
|
426
|
-
return S(n);
|
|
427
|
-
}
|
|
428
|
-
function ln(n, i) {
|
|
429
|
-
if (n == null) return null;
|
|
430
|
-
let s = String(n).trim();
|
|
431
|
-
if (s.length === 0) return null;
|
|
432
|
-
switch (i) {
|
|
433
|
-
case "country-iso3": {
|
|
434
|
-
let o = E2(s);
|
|
435
|
-
return E.has(o) ? o : null;
|
|
436
|
-
}
|
|
437
|
-
case "country-iso2":
|
|
438
|
-
return M.get(E2(s)) ?? null;
|
|
439
|
-
case "country-name":
|
|
440
|
-
return J().get(d(s)) ?? null;
|
|
441
|
-
case "us-state-code":
|
|
442
|
-
case "us-state-name": {
|
|
443
|
-
let o = E2(s);
|
|
444
|
-
return j2.has(o) ? o : B2.get(d(s)) ?? null;
|
|
445
|
-
}
|
|
446
|
-
case "us-zip5": {
|
|
447
|
-
let o = /^(\d{5})(-\d{4})?$/.exec(s);
|
|
448
|
-
return o ? o[1] : /^\d{3,4}$/.test(s) ? s.padStart(5, "0") : null;
|
|
449
|
-
}
|
|
450
|
-
case "us-county-fips":
|
|
451
|
-
return /^\d{5}$/.test(s) && q2.has(s.slice(0, 2)) ? s : null;
|
|
452
|
-
default:
|
|
453
|
-
return null;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
function hn(n) {
|
|
457
|
-
switch (n) {
|
|
458
|
-
case "country-iso3":
|
|
459
|
-
case "country-iso2":
|
|
460
|
-
case "country-name":
|
|
461
|
-
case "us-state-code":
|
|
462
|
-
case "us-state-name":
|
|
463
|
-
case "us-zip5":
|
|
464
|
-
case "us-county-fips":
|
|
465
|
-
return true;
|
|
466
|
-
default:
|
|
467
|
-
return false;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
function An(n, i) {
|
|
471
|
-
let s = new Array(n.length), o = /* @__PURE__ */ new Set(), h = [], p3 = 0;
|
|
472
|
-
for (let S3 = 0; S3 < n.length; ++S3) {
|
|
473
|
-
let T3 = ln(n[S3], i);
|
|
474
|
-
if (s[S3] = T3, T3 !== null) p3++;
|
|
475
|
-
else {
|
|
476
|
-
let A2 = n[S3];
|
|
477
|
-
if (A2 != null) {
|
|
478
|
-
let N = String(A2).trim();
|
|
479
|
-
if (N.length > 0) {
|
|
480
|
-
let m2 = N.toLowerCase();
|
|
481
|
-
o.has(m2) || (o.add(m2), h.push(N));
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
return { iso: s, unmatched: h, matchedRows: p3, totalRows: n.length };
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
// ../shape-core/dist/index.mjs
|
|
490
|
-
/*! @bicharts/shape-core — Apache-2.0. Bundled reference data: GeoNames (https://www.geonames.org/) CC BY 4.0; US Census/TIGER (public domain). Full text: NOTICE in this package. */
|
|
491
|
-
var M2 = 85;
|
|
492
|
-
var S2 = 2;
|
|
493
|
-
var at = 100;
|
|
494
|
-
var L2 = 400;
|
|
495
|
-
var T2 = /* @__PURE__ */ new Set(["us", "usa", "u s", "u s a", "united states", "united states of america", "america", "ca", "can", "canada", "mx", "mex", "mexico", "estados unidos mexicanos"]);
|
|
496
|
-
function p2(o) {
|
|
497
|
-
let e = /* @__PURE__ */ new Set();
|
|
498
|
-
for (let n of o) {
|
|
499
|
-
if (n == null) continue;
|
|
500
|
-
let i = S(String(n));
|
|
501
|
-
if (i && !e.has(i) && (e.add(i), e.size >= L2)) break;
|
|
502
|
-
}
|
|
503
|
-
return Array.from(e);
|
|
504
|
-
}
|
|
505
|
-
function x2(o) {
|
|
506
|
-
let e = p2(o);
|
|
507
|
-
return e.length === 0 || !e.every((n) => T2.has(n)) ? false : e.some((n) => !z(n));
|
|
508
|
-
}
|
|
509
|
-
function G2(o) {
|
|
510
|
-
return T2.has(o) && !!z(o);
|
|
511
|
-
}
|
|
512
|
-
function C(o) {
|
|
513
|
-
let e = p2(o);
|
|
514
|
-
if (e.length === 0) return 0;
|
|
515
|
-
let n = 0;
|
|
516
|
-
for (let i of e) z(i) && n++;
|
|
517
|
-
return Math.round(n / e.length * 1e3) / 10;
|
|
518
|
-
}
|
|
519
|
-
function I2(o) {
|
|
520
|
-
let e = /* @__PURE__ */ new Set();
|
|
521
|
-
for (let n of o) {
|
|
522
|
-
if (n == null) continue;
|
|
523
|
-
let i = String(n).trim();
|
|
524
|
-
if (i && !e.has(i) && (e.add(i), e.size >= L2)) break;
|
|
525
|
-
}
|
|
526
|
-
return Array.from(e);
|
|
527
|
-
}
|
|
528
|
-
function w2(o) {
|
|
529
|
-
let e = I2(o);
|
|
530
|
-
if (e.length === 0) return 0;
|
|
531
|
-
let n = 0;
|
|
532
|
-
for (let i of e) G(i).length > 0 && n++;
|
|
533
|
-
return Math.round(n / e.length * 1e3) / 10;
|
|
534
|
-
}
|
|
535
|
-
function ct(o, e) {
|
|
536
|
-
let n = p2(o);
|
|
537
|
-
if (n.length === 0) return 0;
|
|
538
|
-
let i = 0;
|
|
539
|
-
for (let l of n) oa(l, e) && i++;
|
|
540
|
-
return Math.round(i / n.length * 1e3) / 10;
|
|
541
|
-
}
|
|
542
|
-
function A(o, e) {
|
|
543
|
-
let n = 0;
|
|
544
|
-
for (let i of p2(o)) e(i) && n++;
|
|
545
|
-
return n;
|
|
546
|
-
}
|
|
547
|
-
function ut(o, e) {
|
|
548
|
-
let n = 0;
|
|
549
|
-
for (let i of I2(o)) e(i) && n++;
|
|
550
|
-
return n;
|
|
551
|
-
}
|
|
552
|
-
function lt(o, e, n, i) {
|
|
553
|
-
let l = [], y2 = [], s = {}, k2 = new Set(o), m2 = (t) => e.map((r) => r[t]);
|
|
554
|
-
for (let t of ["city", "zip", "lat", "lon", "country"]) {
|
|
555
|
-
let r = n?.[t];
|
|
556
|
-
r && k2.has(r) && (s[t] = r);
|
|
557
|
-
}
|
|
558
|
-
let u = n?.state;
|
|
559
|
-
if (u && k2.has(u)) {
|
|
560
|
-
let t = m2(u), r = p2(t);
|
|
561
|
-
r.length > 0 && r.every(G2) ? y2.push(`state=${u} (every value is "CA", which is both Canada and California)`) : x2(t) ? (y2.push(`state=${u} (every value is a country, not a state)`), s.country || (s.country = u)) : C(t) < M2 ? y2.push(`state=${u} (only ${C(t)}% of values are states/provinces)`) : s.state = u;
|
|
562
|
-
}
|
|
563
|
-
let f2 = new Set(Object.values(s).filter(Boolean)), g = o.filter((t) => !f2.has(t) && !t.startsWith("__"));
|
|
564
|
-
if (!s.state) {
|
|
565
|
-
let t = null;
|
|
566
|
-
for (let r of g) {
|
|
567
|
-
let a = m2(r);
|
|
568
|
-
if (x2(a)) continue;
|
|
569
|
-
let c = C(a);
|
|
570
|
-
if (c < M2) continue;
|
|
571
|
-
let v3 = A(a, (h) => !!z(h)), z2 = A(a, (h) => !!z(h) && !G2(h));
|
|
572
|
-
v3 < S2 && z2 < 1 || (!t || c > t.pct) && (t = { name: r, pct: c });
|
|
573
|
-
}
|
|
574
|
-
t && (s.state = t.name, f2.add(t.name), l.push(`state=${t.name} (${t.pct}% states/provinces)`));
|
|
575
|
-
}
|
|
576
|
-
if (!s.zip) for (let t of g) {
|
|
577
|
-
if (f2.has(t)) continue;
|
|
578
|
-
let r = m2(t), a = w2(r);
|
|
579
|
-
if (!(a < at) && !(ut(r, (c) => G(c).length > 0) < S2)) {
|
|
580
|
-
s.zip = t, f2.add(t), l.push(`zip=${t} (${a}% ZIP codes)`);
|
|
581
|
-
break;
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
if (!s.country) {
|
|
585
|
-
for (let t of g) if (!f2.has(t) && x2(m2(t))) {
|
|
586
|
-
s.country = t, f2.add(t), l.push(`country=${t}`);
|
|
587
|
-
break;
|
|
588
|
-
}
|
|
589
|
-
}
|
|
590
|
-
if (!s.city) {
|
|
591
|
-
let t = null;
|
|
592
|
-
for (let r of g) {
|
|
593
|
-
if (f2.has(r)) continue;
|
|
594
|
-
let a = m2(r), c = ct(a, i);
|
|
595
|
-
c < M2 || A(a, (v3) => oa(v3, i)) < S2 || (!t || c > t.pct) && (t = { name: r, pct: c });
|
|
596
|
-
}
|
|
597
|
-
t && (s.city = t.name, l.push(`city=${t.name} (${t.pct}% known cities)`));
|
|
598
|
-
}
|
|
599
|
-
return { bind: !!(s.city || s.state || s.zip || s.lat && s.lon) ? s : null, backfilled: l, refused: y2 };
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
// src/payload.ts
|
|
603
|
-
function buildRenderPayload(cols, rowObjs, geo, point) {
|
|
604
|
-
const colNames = cols.map((c) => c.name);
|
|
605
|
-
let pLat = null;
|
|
606
|
-
let pLon = null;
|
|
607
|
-
let geoPoint;
|
|
608
|
-
let bind = point ?? null;
|
|
609
|
-
let rolesBackfilled = [];
|
|
610
|
-
let rolesRefused = [];
|
|
611
|
-
if (bind) {
|
|
612
|
-
const dims = cols.filter((c) => !c.isMeasure).map((c) => c.name);
|
|
613
|
-
const res = lt(dims, rowObjs, bind, point?.mapKind);
|
|
614
|
-
bind = res.bind;
|
|
615
|
-
rolesBackfilled = res.backfilled;
|
|
616
|
-
rolesRefused = res.refused;
|
|
617
|
-
}
|
|
618
|
-
const hasPointBind = !!bind && !!(bind.city || bind.state || bind.zip || bind.lat && bind.lon);
|
|
619
|
-
if (hasPointBind) {
|
|
620
|
-
const p3 = bind;
|
|
621
|
-
const built = ua(rowObjs.map((r) => ({
|
|
622
|
-
lat: p3.lat ? r[p3.lat] : null,
|
|
623
|
-
lon: p3.lon ? r[p3.lon] : null,
|
|
624
|
-
city: p3.city ? r[p3.city] : null,
|
|
625
|
-
state: p3.state ? r[p3.state] : null,
|
|
626
|
-
zip: p3.zip ? r[p3.zip] : null,
|
|
627
|
-
country: p3.country ? r[p3.country] : null
|
|
628
|
-
})), point?.mapKind);
|
|
629
|
-
pLat = built.lat;
|
|
630
|
-
pLon = built.lon;
|
|
631
|
-
geoPoint = {
|
|
632
|
-
precision: built.precision,
|
|
633
|
-
precisionCounts: built.precisionCounts,
|
|
634
|
-
coarseExamples: built.coarseExamples,
|
|
635
|
-
// STRICTLY no-match. Ambiguous rows are deliberately NOT in here: new charts
|
|
636
|
-
// report them from ambiguousRows/ambiguousExamples, while OLD generated code
|
|
637
|
-
// still shows them — it computes its own off-map count from null coordinates
|
|
638
|
-
// and takes max(offMap, unplaced), so the not-shown total stays right without
|
|
639
|
-
// double-counting on either side of the upgrade.
|
|
640
|
-
unplaced: built.totalRows - built.matchedRows - built.ambiguousRows,
|
|
641
|
-
unplacedExamples: built.unmatched.slice(0, 8),
|
|
642
|
-
ambiguousRows: built.ambiguousRows,
|
|
643
|
-
...built.ambiguousExamples.length ? { ambiguousExamples: built.ambiguousExamples } : {},
|
|
644
|
-
// Omitted entirely when nothing was adjusted, so the common case adds no bytes
|
|
645
|
-
// and a chart can treat presence as "something about this binding is worth
|
|
646
|
-
// saying".
|
|
647
|
-
...rolesBackfilled.length ? { rolesBackfilled } : {},
|
|
648
|
-
...rolesRefused.length ? { rolesRefused } : {}
|
|
649
|
-
};
|
|
650
|
-
}
|
|
651
|
-
let geoIso = null;
|
|
652
|
-
let geoUnmatched;
|
|
653
|
-
let geoUnmatchedDistinct;
|
|
654
|
-
if (geo && geo.column && geo.kind && hn(geo.kind)) {
|
|
655
|
-
const built = An(rowObjs.map((r) => r[geo.column]), geo.kind);
|
|
656
|
-
geoIso = built.iso;
|
|
657
|
-
geoUnmatched = { count: built.totalRows - built.matchedRows, examples: built.unmatched.slice(0, 8) };
|
|
658
|
-
geoUnmatchedDistinct = built.unmatched.length;
|
|
659
|
-
}
|
|
660
|
-
const extra = 1 + (geoIso ? 1 : 0) + (pLat ? 2 : 0);
|
|
661
|
-
const out = new Array(rowObjs.length);
|
|
662
|
-
for (let r = 0; r < rowObjs.length; r++) {
|
|
663
|
-
const row = rowObjs[r];
|
|
664
|
-
const a = new Array(cols.length + extra);
|
|
665
|
-
for (let c = 0; c < cols.length; c++) {
|
|
666
|
-
const v3 = row[colNames[c]];
|
|
667
|
-
if (v3 instanceof Date) {
|
|
668
|
-
a[c] = v3.toISOString();
|
|
669
|
-
} else {
|
|
670
|
-
a[c] = v3 ?? null;
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
let k2 = cols.length;
|
|
674
|
-
a[k2++] = r;
|
|
675
|
-
if (geoIso) a[k2++] = geoIso[r];
|
|
676
|
-
if (pLat && pLon) {
|
|
677
|
-
a[k2++] = pLat[r];
|
|
678
|
-
a[k2++] = pLon[r];
|
|
679
|
-
}
|
|
680
|
-
out[r] = a;
|
|
681
|
-
}
|
|
682
|
-
const colsOut = [...cols, { name: "__rowIdx__", dataType: "Integer", isMeasure: false, modelDesc: "" }];
|
|
683
|
-
if (geoIso) colsOut.push({ name: "__geoIso__", dataType: "String", isMeasure: false, modelDesc: "" });
|
|
684
|
-
if (pLat) colsOut.push(
|
|
685
|
-
{ name: "__geoLat__", dataType: "Double", isMeasure: false, modelDesc: "" },
|
|
686
|
-
{ name: "__geoLon__", dataType: "Double", isMeasure: false, modelDesc: "" }
|
|
687
|
-
);
|
|
688
|
-
return { columns: colsOut, rows: out, geoUnmatched, geoUnmatchedDistinct, geoPoint };
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
// src/selection.ts
|
|
692
|
-
function createMarkResolver(env) {
|
|
693
|
-
const { root, doc, log } = env;
|
|
694
|
-
const isElement = (t) => {
|
|
695
|
-
const E3 = doc?.defaultView?.Element ?? globalThis.Element;
|
|
696
|
-
if (E3 && t instanceof E3) return true;
|
|
697
|
-
return !!t && typeof t.closest === "function" && typeof t.getAttribute === "function";
|
|
698
|
-
};
|
|
699
|
-
const viewStyle = (n) => {
|
|
700
|
-
try {
|
|
701
|
-
const gcs = doc?.defaultView?.getComputedStyle ?? (typeof getComputedStyle === "function" ? getComputedStyle : null);
|
|
702
|
-
return gcs ? gcs(n).pointerEvents : "";
|
|
703
|
-
} catch {
|
|
704
|
-
return "";
|
|
705
|
-
}
|
|
706
|
-
};
|
|
707
|
-
const isInvisibleStrokePath = (el) => {
|
|
708
|
-
if (el.tagName.toLowerCase() !== "path") return false;
|
|
709
|
-
const f2 = el.getAttribute("fill");
|
|
710
|
-
if (f2 !== null && f2 !== "" && f2 !== "none" && f2 !== "transparent") return false;
|
|
711
|
-
const s = (el.getAttribute("stroke") || "").trim().toLowerCase();
|
|
712
|
-
const so = parseFloat(el.getAttribute("stroke-opacity") || "1");
|
|
713
|
-
return s === "transparent" || s === "none" || so <= 0.01;
|
|
714
|
-
};
|
|
715
|
-
const distToPathCenterline = (el, x3, y2) => {
|
|
716
|
-
const L3 = el.getTotalLength();
|
|
717
|
-
if (!(L3 > 0)) return Number.MAX_VALUE;
|
|
718
|
-
const m2 = el.getScreenCTM();
|
|
719
|
-
if (!m2) return Number.MAX_VALUE;
|
|
720
|
-
let best = Number.MAX_VALUE;
|
|
721
|
-
const N = 64;
|
|
722
|
-
for (let i = 0; i <= N; i++) {
|
|
723
|
-
const pt = el.getPointAtLength(L3 * i / N);
|
|
724
|
-
const dx = m2.a * pt.x + m2.c * pt.y + m2.e - x3;
|
|
725
|
-
const dy = m2.b * pt.x + m2.d * pt.y + m2.f - y2;
|
|
726
|
-
const d2 = dx * dx + dy * dy;
|
|
727
|
-
if (d2 < best) best = d2;
|
|
728
|
-
}
|
|
729
|
-
return Math.sqrt(best);
|
|
730
|
-
};
|
|
731
|
-
const refineHitCorridor = (mark, x3, y2, sel) => {
|
|
732
|
-
try {
|
|
733
|
-
if (!mark || !isInvisibleStrokePath(mark) || !mark.getAttribute("data-row-idx")) return mark;
|
|
734
|
-
const stack = doc.elementsFromPoint(x3, y2);
|
|
735
|
-
const candidates = [];
|
|
736
|
-
for (const el of stack) {
|
|
737
|
-
if (!root.contains(el)) continue;
|
|
738
|
-
if (!el.matches || !el.matches(sel)) continue;
|
|
739
|
-
if (!el.getAttribute("data-row-idx")) continue;
|
|
740
|
-
if (!isInvisibleStrokePath(el)) continue;
|
|
741
|
-
candidates.push(el);
|
|
742
|
-
}
|
|
743
|
-
if (candidates.indexOf(mark) < 0) candidates.push(mark);
|
|
744
|
-
if (candidates.length < 2) return mark;
|
|
745
|
-
let best = mark;
|
|
746
|
-
let bestD = Number.MAX_VALUE;
|
|
747
|
-
for (const el of candidates) {
|
|
748
|
-
const d2 = distToPathCenterline(el, x3, y2);
|
|
749
|
-
if (d2 < bestD) {
|
|
750
|
-
bestD = d2;
|
|
751
|
-
best = el;
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
if (best !== mark) {
|
|
755
|
-
log("d3-hit-corridor-refined", {
|
|
756
|
-
candidates: candidates.length,
|
|
757
|
-
distPx: Math.round(bestD),
|
|
758
|
-
fromRows: (mark.getAttribute("data-row-idx") || "").slice(0, 24),
|
|
759
|
-
toRows: (best.getAttribute("data-row-idx") || "").slice(0, 24)
|
|
760
|
-
});
|
|
761
|
-
}
|
|
762
|
-
return best;
|
|
763
|
-
} catch {
|
|
764
|
-
return mark;
|
|
765
|
-
}
|
|
766
|
-
};
|
|
767
|
-
const findMark = (target, sel = ".d3-mark", ev) => {
|
|
768
|
-
if (!isElement(target)) return null;
|
|
769
|
-
const el = target;
|
|
770
|
-
const m2 = el.closest(sel);
|
|
771
|
-
if (m2 && ev) return refineHitCorridor(m2, ev.clientX, ev.clientY, sel);
|
|
772
|
-
return m2;
|
|
773
|
-
};
|
|
774
|
-
const rowIdxsFromMark = (el) => {
|
|
775
|
-
if (!el) return [];
|
|
776
|
-
const raw = el.getAttribute("data-row-idx");
|
|
777
|
-
if (!raw) return [];
|
|
778
|
-
const out = [];
|
|
779
|
-
for (const tok of raw.split(",")) {
|
|
780
|
-
const n = parseInt(tok.trim(), 10);
|
|
781
|
-
if (!isNaN(n) && n >= 0) out.push(n);
|
|
782
|
-
}
|
|
783
|
-
return out;
|
|
784
|
-
};
|
|
785
|
-
const penetrateOverlayAt = (x3, y2, sel) => {
|
|
786
|
-
try {
|
|
787
|
-
const stack = doc.elementsFromPoint(x3, y2);
|
|
788
|
-
for (const el of stack) {
|
|
789
|
-
if (!root.contains(el) || !isElement(el)) continue;
|
|
790
|
-
const cand = el.matches(sel) ? el : el.closest(sel);
|
|
791
|
-
if (!cand || !root.contains(cand) || !cand.getAttribute("data-row-idx")) continue;
|
|
792
|
-
log("d3_click-overlay-penetrated", { tag: el.tagName, cls: el.getAttribute("class"), via: el === cand ? "self" : "closest" });
|
|
793
|
-
return cand;
|
|
794
|
-
}
|
|
795
|
-
} catch {
|
|
796
|
-
}
|
|
797
|
-
return null;
|
|
798
|
-
};
|
|
799
|
-
const resolveByGeometry = (x3, y2, sel) => {
|
|
800
|
-
try {
|
|
801
|
-
const cands = root.querySelectorAll(sel);
|
|
802
|
-
let best = null, bestArea = Number.MAX_VALUE;
|
|
803
|
-
if (cands.length <= 600) {
|
|
804
|
-
for (const el of Array.from(cands)) {
|
|
805
|
-
if (!el.getAttribute("data-row-idx")) continue;
|
|
806
|
-
const r = el.getBoundingClientRect ? el.getBoundingClientRect() : null;
|
|
807
|
-
if (!r || r.width <= 0 || r.height <= 0) continue;
|
|
808
|
-
if (x3 < r.left || x3 > r.right || y2 < r.top || y2 > r.bottom) continue;
|
|
809
|
-
const area = r.width * r.height;
|
|
810
|
-
if (area < bestArea) {
|
|
811
|
-
bestArea = area;
|
|
812
|
-
best = el;
|
|
813
|
-
}
|
|
814
|
-
}
|
|
815
|
-
}
|
|
816
|
-
const hasHittableShape = (node) => {
|
|
817
|
-
const SHAPE = /^(rect|circle|ellipse|path|line|polygon|polyline|text|image|use)$/;
|
|
818
|
-
const all = [node, ...Array.from(node.querySelectorAll("*"))];
|
|
819
|
-
for (const n of all) {
|
|
820
|
-
const tag = (n.tagName || "").toLowerCase();
|
|
821
|
-
if (!SHAPE.test(tag)) continue;
|
|
822
|
-
const pe = viewStyle(n);
|
|
823
|
-
if (pe && pe !== "none") return true;
|
|
824
|
-
}
|
|
825
|
-
return false;
|
|
826
|
-
};
|
|
827
|
-
if (best && !hasHittableShape(best)) {
|
|
828
|
-
log("d3_click-geom-resolved", { rows: (best.getAttribute("data-row-idx") || "").slice(0, 24) });
|
|
829
|
-
return best;
|
|
830
|
-
} else if (best) {
|
|
831
|
-
log("d3_click-geom-skip-hittable", {});
|
|
832
|
-
}
|
|
833
|
-
} catch {
|
|
834
|
-
}
|
|
835
|
-
return null;
|
|
836
|
-
};
|
|
837
|
-
return { isInvisibleStrokePath, distToPathCenterline, refineHitCorridor, findMark, rowIdxsFromMark, penetrateOverlayAt, resolveByGeometry };
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
// src/host.ts
|
|
841
|
-
var parseRowIdxs = (s) => (s || "").split(",").map((x3) => parseInt(x3, 10)).filter((n) => Number.isFinite(n));
|
|
842
|
-
var D3_PLUGIN_PACKAGES = {
|
|
843
|
-
sankey: "d3-sankey",
|
|
844
|
-
sankeyLinkHorizontal: "d3-sankey",
|
|
845
|
-
sankeyJustify: "d3-sankey",
|
|
846
|
-
sankeyCenter: "d3-sankey",
|
|
847
|
-
sankeyLeft: "d3-sankey",
|
|
848
|
-
sankeyRight: "d3-sankey",
|
|
849
|
-
hexbin: "d3-hexbin",
|
|
850
|
-
voronoiTreemap: "d3-voronoi-treemap",
|
|
851
|
-
voronoiMap: "d3-voronoi-map",
|
|
852
|
-
weightedVoronoi: "d3-weighted-voronoi"
|
|
853
|
-
};
|
|
854
|
-
function requiredD3Plugins(code) {
|
|
855
|
-
const out = /* @__PURE__ */ new Set();
|
|
856
|
-
for (const m2 of String(code || "").matchAll(/\bd3\s*\.\s*(\w+)\s*\(/g)) {
|
|
857
|
-
const pkg = D3_PLUGIN_PACKAGES[m2[1]];
|
|
858
|
-
if (pkg) out.add(pkg);
|
|
859
|
-
}
|
|
860
|
-
return [...out].sort();
|
|
861
|
-
}
|
|
862
|
-
function explainRenderFailure(err, d3) {
|
|
863
|
-
const msg = String(err?.message ?? err ?? "");
|
|
864
|
-
if (!d3) {
|
|
865
|
-
return new Error(
|
|
866
|
-
"[@bicharts/chart-host] no d3 was provided, so the generated chart could not run. Pass it explicitly \u2014 createChartHost(el, { d3 }) / <BicChart d3={d3} /> \u2014 or set window.d3. The chart needs D3 v7 (npm install d3@7). Original error: " + msg
|
|
867
|
-
);
|
|
868
|
-
}
|
|
869
|
-
const m2 = /d3\.(\w+) is not a function|(\w+) is not a function/.exec(msg);
|
|
870
|
-
const name = m2?.[1] ?? m2?.[2] ?? "";
|
|
871
|
-
const pkg = D3_PLUGIN_PACKAGES[name];
|
|
872
|
-
if (pkg) {
|
|
873
|
-
return new Error(
|
|
874
|
-
`[@bicharts/chart-host] this chart calls d3.${name}(), which comes from the separate "${pkg}" package and is not attached to the d3 you passed. Install it and augment the SAME d3 instance: npm install ${pkg} then import { ${name} } from "${pkg}"; Object.assign(d3, { ${name} }); Original error: ` + msg
|
|
875
|
-
);
|
|
876
|
-
}
|
|
877
|
-
return err;
|
|
878
|
-
}
|
|
879
|
-
var ESM_EXPORT_CLAUSE = /^[ \t]*export[ \t]+(?:\{[^}]*\}|default[ \t]+[A-Za-z_$][\w$]*)[ \t]*;?[ \t]*$/gm;
|
|
880
|
-
var ESM_EXPORT_DECL = /^([ \t]*)export[ \t]+(?=(?:async[ \t]+)?function\b|const\b|let\b|var\b|class\b)/gm;
|
|
881
|
-
function stripEsmExports(code) {
|
|
882
|
-
return String(code || "").replace(ESM_EXPORT_CLAUSE, "").replace(ESM_EXPORT_DECL, "$1");
|
|
883
|
-
}
|
|
884
|
-
function compileRenderFn(code, win, doc, d3) {
|
|
885
|
-
const body = stripEsmExports(code) + "\n;return (typeof render === 'function') ? render : null;";
|
|
886
|
-
let factory;
|
|
887
|
-
try {
|
|
888
|
-
factory = new Function("container", "data", "options", "window", "document", "d3", body);
|
|
889
|
-
} catch (e) {
|
|
890
|
-
const msg = String(e?.message ?? e ?? "");
|
|
891
|
-
const modular = /\bimport\b|\bexport\b/.test(String(code || ""));
|
|
892
|
-
throw new Error(
|
|
893
|
-
"[@bicharts/chart-host] the generated code could not be COMPILED, so nothing was drawn. This path evaluates the chart as a code string, which cannot contain ES-module syntax" + (modular ? " \u2014 and this code still has `import`/`export` in it after the export clause was stripped. Either request the plain form from the generator, or `import` the module yourself and pass the render function directly." : ".") + " Original error: " + msg
|
|
894
|
-
);
|
|
895
|
-
}
|
|
896
|
-
const fn = factory.call(null, null, null, null, win, doc, d3);
|
|
897
|
-
if (typeof fn !== "function") throw new Error("generated code did not define render(container, data, options)");
|
|
898
|
-
return fn;
|
|
899
|
-
}
|
|
900
|
-
function createChartHost(container, config) {
|
|
901
|
-
const doc = container.ownerDocument;
|
|
902
|
-
const win = doc?.defaultView ?? globalThis;
|
|
903
|
-
const d3 = config.d3 ?? globalThis.d3 ?? win?.d3;
|
|
904
|
-
let data = config.data;
|
|
905
|
-
{
|
|
906
|
-
const stamped = config.data?.meta?.hostContract;
|
|
907
|
-
const major = (v3) => (v3 || "").split(".")[0];
|
|
908
|
-
if (stamped && major(stamped) !== major(HOST_CONTRACT_VERSION)) {
|
|
909
|
-
try {
|
|
910
|
-
(win?.console ?? console)?.warn(
|
|
911
|
-
`[@bicharts/chart-host] contract MAJOR mismatch: this chart was generated against v${stamped}, the host implements v${HOST_CONTRACT_VERSION}. Marks, container slots or the cross-filter event may not line up \u2014 regenerate the chart.`
|
|
912
|
-
);
|
|
913
|
-
} catch {
|
|
914
|
-
}
|
|
915
|
-
}
|
|
916
|
-
}
|
|
917
|
-
let raw = { ...config.options ?? {} };
|
|
918
|
-
let resolved = resolveOptions(raw);
|
|
919
|
-
let renderFn = config.renderFn ?? null;
|
|
920
|
-
let destroyed = false;
|
|
921
|
-
let warnedGeo = false;
|
|
922
|
-
let current = null;
|
|
923
|
-
const subs = /* @__PURE__ */ new Set();
|
|
924
|
-
const ensureAffordanceStyles = () => {
|
|
925
|
-
try {
|
|
926
|
-
if (!doc || doc.getElementById("bic-chart-host-affordances")) return;
|
|
927
|
-
const st = doc.createElement("style");
|
|
928
|
-
st.id = "bic-chart-host-affordances";
|
|
929
|
-
st.textContent = `
|
|
930
|
-
/* TYPOGRAPHY FIREWALL. Generated charts set font-size but almost never line-height or
|
|
931
|
-
letter-spacing, so they INHERIT whatever the host page cascades in. A page with
|
|
932
|
-
\`:root { font: 18px/145% }\` (the stock Vite template does exactly this) hands every
|
|
933
|
-
chart an inherited 26.1px line box; an 11px label in a 14px band is then sliced through
|
|
934
|
-
the middle. The chart is not wrong and the host is not wrong \u2014 the boundary between
|
|
935
|
-
them is, so the boundary fixes it. Both properties are overridable: a chart that sets
|
|
936
|
-
its own line-height still wins. Deliberately NOT resetting font-family or color, which
|
|
937
|
-
a host SHOULD be able to theme. Found 2026-07-26 in the React demo, on a chart that
|
|
938
|
-
renders perfectly inside Power BI. */
|
|
939
|
-
.${HOST_CONTAINER_CLASS} { line-height: normal; letter-spacing: normal; }
|
|
940
|
-
.${HOST_CONTAINER_CLASS} .${MARK_CLASS} { cursor: pointer; transition: opacity 120ms ease-in-out, filter 100ms ease-in-out; }
|
|
941
|
-
.${HOST_CONTAINER_CLASS} .${MARK_CLASS}:hover { filter: brightness(1.1) drop-shadow(0 0 1.5px rgba(0,0,0,0.5)) !important; }
|
|
942
|
-
.${HOST_CONTAINER_CLASS}:has(.${MARK_CLASS}:hover) .${MARK_CLASS}:not(:hover) { opacity: 0.55; }
|
|
943
|
-
.${HOST_CONTAINER_CLASS}.${SELECTION_ACTIVE_CLASS} .${MARK_CLASS}:not(.${MARK_SELECTED_CLASS}) {
|
|
944
|
-
opacity: var(${DIM_OPACITY_VAR}, ${DIM_OPACITY_DEFAULT}) !important;
|
|
945
|
-
}
|
|
946
|
-
.${HOST_CONTAINER_CLASS} .${LEGEND_MARK_CLASS} { cursor: pointer; }`;
|
|
947
|
-
(doc.head || doc.documentElement)?.appendChild(st);
|
|
948
|
-
} catch {
|
|
949
|
-
}
|
|
950
|
-
};
|
|
951
|
-
const paintSelection = () => {
|
|
952
|
-
try {
|
|
953
|
-
const sel = current;
|
|
954
|
-
const active = !!sel && sel.length > 0;
|
|
955
|
-
container.classList?.[active ? "add" : "remove"](SELECTION_ACTIVE_CLASS);
|
|
956
|
-
const wanted = new Set(sel ?? []);
|
|
957
|
-
const marks = container.querySelectorAll(`.${MARK_CLASS}[${ROW_IDX_ATTR}], .${LEGEND_MARK_CLASS}[${ROW_IDX_ATTR}]`);
|
|
958
|
-
for (const m2 of Array.from(marks)) {
|
|
959
|
-
const rows = parseRowIdxs(m2.getAttribute(ROW_IDX_ATTR));
|
|
960
|
-
const on = active && rows.some((r) => wanted.has(r));
|
|
961
|
-
m2.classList?.[on ? "add" : "remove"](MARK_SELECTED_CLASS);
|
|
962
|
-
}
|
|
963
|
-
} catch {
|
|
964
|
-
}
|
|
965
|
-
};
|
|
966
|
-
const notify = (rowIdxs, source) => {
|
|
967
|
-
current = rowIdxs;
|
|
968
|
-
paintSelection();
|
|
969
|
-
for (const cb of subs) {
|
|
970
|
-
try {
|
|
971
|
-
cb(rowIdxs, source);
|
|
972
|
-
} catch {
|
|
973
|
-
}
|
|
974
|
-
}
|
|
975
|
-
};
|
|
976
|
-
let xfAt = 0;
|
|
977
|
-
const XF_ECHO_MS = 150;
|
|
978
|
-
const onXf = (e) => {
|
|
979
|
-
const d2 = e?.detail || {};
|
|
980
|
-
xfAt = Date.now();
|
|
981
|
-
if (d2.clear) notify([], d2.source || "chart");
|
|
982
|
-
else if (d2.mark) notify(parseRowIdxs(d2.mark.getAttribute?.(ROW_IDX_ATTR)), d2.source || "chart");
|
|
983
|
-
};
|
|
984
|
-
const resolver = createMarkResolver({
|
|
985
|
-
root: container,
|
|
986
|
-
doc,
|
|
987
|
-
log: () => {
|
|
988
|
-
}
|
|
989
|
-
});
|
|
990
|
-
const clickSel = `.${MARK_CLASS}[${ROW_IDX_ATTR}], .${LEGEND_MARK_CLASS}[${ROW_IDX_ATTR}], .${AXIS_FILTER_CLASS}[${ROW_IDX_ATTR}]`;
|
|
991
|
-
const onClick = (e) => {
|
|
992
|
-
if (Date.now() - xfAt < XF_ECHO_MS) return;
|
|
993
|
-
let el = resolver.findMark(e?.target, clickSel, e);
|
|
994
|
-
if (!el) el = resolver.penetrateOverlayAt(e?.clientX, e?.clientY, clickSel);
|
|
995
|
-
if (!el) el = resolver.resolveByGeometry(e?.clientX, e?.clientY, clickSel);
|
|
996
|
-
if (!el) {
|
|
997
|
-
if (current && current.length) notify([], "user");
|
|
998
|
-
return;
|
|
999
|
-
}
|
|
1000
|
-
const rows = parseRowIdxs(el.getAttribute(ROW_IDX_ATTR));
|
|
1001
|
-
if (!rows.length) return;
|
|
1002
|
-
if (e?.ctrlKey || e?.metaKey || e?.shiftKey) {
|
|
1003
|
-
const next = new Set(current ?? []);
|
|
1004
|
-
for (const r of rows) {
|
|
1005
|
-
if (next.has(r)) next.delete(r);
|
|
1006
|
-
else next.add(r);
|
|
1007
|
-
}
|
|
1008
|
-
notify(Array.from(next), "user");
|
|
1009
|
-
return;
|
|
1010
|
-
}
|
|
1011
|
-
const same = !!current && current.length === rows.length && rows.every((r) => current.includes(r));
|
|
1012
|
-
notify(same ? [] : rows, "user");
|
|
1013
|
-
};
|
|
1014
|
-
container.addEventListener(XFILTER_REFRESH_EVENT, onXf);
|
|
1015
|
-
container.addEventListener("click", onClick);
|
|
1016
|
-
container.classList?.add(HOST_CONTAINER_CLASS);
|
|
1017
|
-
ensureAffordanceStyles();
|
|
1018
|
-
const stopAnim = () => {
|
|
1019
|
-
const s = container[CONTAINER_SLOT_ANIM_STOP];
|
|
1020
|
-
if (typeof s === "function") {
|
|
1021
|
-
try {
|
|
1022
|
-
s();
|
|
1023
|
-
} catch {
|
|
1024
|
-
}
|
|
1025
|
-
}
|
|
1026
|
-
};
|
|
1027
|
-
const host = {
|
|
1028
|
-
render() {
|
|
1029
|
-
if (destroyed) return;
|
|
1030
|
-
stopAnim();
|
|
1031
|
-
container.innerHTML = "";
|
|
1032
|
-
if (!renderFn) {
|
|
1033
|
-
if (!config.code) throw new Error("createChartHost: provide code or renderFn");
|
|
1034
|
-
renderFn = compileRenderFn(config.code, win, doc, d3);
|
|
1035
|
-
}
|
|
1036
|
-
if (resolved.geo === void 0 && config.geoKind) {
|
|
1037
|
-
const g = config.geoProvider?.(config.geoKind) ?? geoFromCache(config.geoKind);
|
|
1038
|
-
if (g) resolved = { ...resolved, geo: g };
|
|
1039
|
-
else if (!warnedGeo) {
|
|
1040
|
-
warnedGeo = true;
|
|
1041
|
-
try {
|
|
1042
|
-
(win?.console ?? console)?.warn(
|
|
1043
|
-
`[@bicharts/chart-host] geoKind "${config.geoKind}" was set but no geometry is available, so this chart will draw without a basemap. Either \`await loadGeo("${config.geoKind}")\` before rendering, pass a geoProvider, or import { geoForKind } from "@bicharts/chart-host/geo" and set options.geo.`
|
|
1044
|
-
);
|
|
1045
|
-
} catch {
|
|
1046
|
-
}
|
|
1047
|
-
}
|
|
1048
|
-
}
|
|
1049
|
-
if (resolved.geoUnmatched === void 0 && data.geoUnmatched) resolved = { ...resolved, geoUnmatched: data.geoUnmatched };
|
|
1050
|
-
if (resolved.geoPoint === void 0 && data.geoPoint) resolved = { ...resolved, geoPoint: data.geoPoint };
|
|
1051
|
-
try {
|
|
1052
|
-
renderFn(container, { columns: data.columns, rows: data.rows }, resolved);
|
|
1053
|
-
} catch (err) {
|
|
1054
|
-
throw explainRenderFailure(err, d3);
|
|
1055
|
-
}
|
|
1056
|
-
paintSelection();
|
|
1057
|
-
},
|
|
1058
|
-
setOptions(partial) {
|
|
1059
|
-
raw = { ...raw, ...partial };
|
|
1060
|
-
resolved = resolveOptions(raw);
|
|
1061
|
-
host.render();
|
|
1062
|
-
},
|
|
1063
|
-
setData(next) {
|
|
1064
|
-
data = next;
|
|
1065
|
-
host.render();
|
|
1066
|
-
},
|
|
1067
|
-
get options() {
|
|
1068
|
-
return resolved;
|
|
1069
|
-
},
|
|
1070
|
-
selection: {
|
|
1071
|
-
onChange(cb) {
|
|
1072
|
-
subs.add(cb);
|
|
1073
|
-
return () => subs.delete(cb);
|
|
1074
|
-
},
|
|
1075
|
-
clear() {
|
|
1076
|
-
const s = container[CONTAINER_SLOT_XF_CLEAR];
|
|
1077
|
-
if (typeof s === "function") {
|
|
1078
|
-
try {
|
|
1079
|
-
s();
|
|
1080
|
-
} catch {
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
1083
|
-
notify([], "host");
|
|
1084
|
-
},
|
|
1085
|
-
highlight(rowIdxs) {
|
|
1086
|
-
notify(Array.isArray(rowIdxs) ? rowIdxs.slice() : [], "host");
|
|
1087
|
-
},
|
|
1088
|
-
get current() {
|
|
1089
|
-
return current;
|
|
1090
|
-
}
|
|
1091
|
-
},
|
|
1092
|
-
animation: { stop: stopAnim },
|
|
1093
|
-
initialMark() {
|
|
1094
|
-
return container[CONTAINER_SLOT_INITIAL_XF_MARK] ?? null;
|
|
1095
|
-
},
|
|
1096
|
-
destroy() {
|
|
1097
|
-
if (destroyed) return;
|
|
1098
|
-
destroyed = true;
|
|
1099
|
-
stopAnim();
|
|
1100
|
-
container.removeEventListener(XFILTER_REFRESH_EVENT, onXf);
|
|
1101
|
-
container.removeEventListener("click", onClick);
|
|
1102
|
-
subs.clear();
|
|
1103
|
-
container.innerHTML = "";
|
|
1104
|
-
}
|
|
1105
|
-
};
|
|
1106
|
-
return host;
|
|
1107
|
-
}
|
|
1108
|
-
|
|
1109
|
-
export {
|
|
1110
|
-
HOST_CONTRACT_VERSION,
|
|
1111
|
-
GEO_POINT_PRECISIONS,
|
|
1112
|
-
MARK_CLASS,
|
|
1113
|
-
LEGEND_MARK_CLASS,
|
|
1114
|
-
AXIS_FILTER_CLASS,
|
|
1115
|
-
ROW_IDX_ATTR,
|
|
1116
|
-
XFILTER_REFRESH_EVENT,
|
|
1117
|
-
CONTAINER_SLOT_ANIM_STOP,
|
|
1118
|
-
CONTAINER_SLOT_XF_CLEAR,
|
|
1119
|
-
CONTAINER_SLOT_INITIAL_XF_MARK,
|
|
1120
|
-
HOST_CONTAINER_CLASS,
|
|
1121
|
-
SELECTION_ACTIVE_CLASS,
|
|
1122
|
-
MARK_SELECTED_CLASS,
|
|
1123
|
-
DIM_OPACITY_VAR,
|
|
1124
|
-
DIM_OPACITY_DEFAULT,
|
|
1125
|
-
ANIM_PLAY_SPEED_DEFAULT,
|
|
1126
|
-
ANIM_PLAY_SPEED_MIN,
|
|
1127
|
-
ANIM_PLAY_SPEED_MAX,
|
|
1128
|
-
ANIM_MAX_IDEAL_FRAMES_DEFAULT,
|
|
1129
|
-
ANIM_MAX_IDEAL_FRAMES_MIN,
|
|
1130
|
-
ANIM_MAX_IDEAL_FRAMES_MAX,
|
|
1131
|
-
COLOR_SCALE_SELF_CLAMP_PCT_DEFAULT,
|
|
1132
|
-
COLOR_SCALE_SELF_CLAMP_PCT_MIN,
|
|
1133
|
-
COLOR_SCALE_SELF_CLAMP_PCT_MAX,
|
|
1134
|
-
resolveOptions,
|
|
1135
|
-
geoAssetFor,
|
|
1136
|
-
loadGeo,
|
|
1137
|
-
geoFromCache,
|
|
1138
|
-
registerGeo,
|
|
1139
|
-
registerGeoAsset,
|
|
1140
|
-
clearGeoCache,
|
|
1141
|
-
buildRenderPayload,
|
|
1142
|
-
createMarkResolver,
|
|
1143
|
-
requiredD3Plugins,
|
|
1144
|
-
explainRenderFailure,
|
|
1145
|
-
stripEsmExports,
|
|
1146
|
-
compileRenderFn,
|
|
1147
|
-
createChartHost
|
|
1148
|
-
};
|