@bicharts/chart-host 0.4.1 → 0.5.0
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-NBZJDV2H.mjs +1139 -0
- package/dist/geo.mjs +11 -0
- package/dist/index.mjs +1 -1
- package/dist/react.mjs +1 -1
- package/dist/types/contract.d.ts +7 -2
- package/dist/types/payload.d.ts +3 -1
- package/package.json +1 -1
- package/dist/chunk-CVJFLLAD.mjs +0 -1064
|
@@ -0,0 +1,1139 @@
|
|
|
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-Y27QIEOE.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 I = "Aba|abia state|NG|7.37|5.11|1160|W|aba abya;Aba i Nigeria,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|abe'okuta;abwkata,Aberdeen|SD|US|-98.49|45.46|28|N|,Abidjan|abidjan autonomous district|CI|-4|5.35|6321|W|Abijan;abdjan;Abidzan,Abilene|TX|US|-99.73|32.45|125|N|,Abington|PA|US|-75.12|40.12|55|N|,Abobo|abidjan autonomous district|CI|-4.02|5.42|1340|W|Abobo-Gare,Abu Dhabi|abu dhabi|AE|54.4|24.45|1807|W|\xC4bu Saby;Abu Dabi;abudhabi,Abu Ghurayb|baghdad|IQ|44.18|33.31|900|W|Abu Ghuraib;Abu Ghraib;abw ghryb,Abuja|fct|NG|7.5|9.06|2690|W|Abuca;Abuya;Abouja,Acambaro|MX11|MX|-100.72|20.03|57|N|,Acapulco de Juarez|MX12|MX|-99.91|16.85|658|NW|Acapolco Juarez;Acapulco;Acapulcum,Acatzingo|MX21|MX|-97.78|18.98|25|N|,Acayucan|MX30|MX|-94.91|17.95|50|N|,Accra|greater accra|GH|-0.2|5.56|1963|W|Acra,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|Adane;Adano;Adhanah,Addis Ababa|addis ababa|ET|38.75|9.02|3860|W|Adis Ababa;Addis Abeba;Addis Abaeba,Addison|IL|US|-87.99|41.93|37|N|,Adelaide|south australia|AU|138.6|-34.93|1469|W|Adelaida;Adelaidae;adilaid,Adelanto|CA|US|-117.41|34.58|33|N|,Aden|aden|YE|45.04|12.78|1079|W|Adan;Adem;Adehn,Agadir|souss massa|MA|-9.6|30.42|698|W|Agadyr;Agadair;agadira,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|Agro;agara;agura,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|Aguaskalientes;Aguaskalentes;Aguaskal'entes,Ahmedabad|gujarat|IN|72.59|23.03|6357|W|ahmdabad;Ahmadabad;ahmd abad,Ahuntsic-Cartierville|QC|CA|-73.67|45.57|135|N|,Ahvaz|khuzestan|IR|48.68|31.32|841|W|Ahvoz;Ahvaza;Ahvazo,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|Akuce;akule,Al Ahmadi|al ahmadi|KW|48.08|29.08|637|W|Al A\u0127madi;ala ahamadi;alahmdy,Al Ain City|abu dhabi|AE|55.76|24.19|846|W|Al \u0190ayn;al-aini;Al Ain,Al Basrah al Qadimah|basra|IQ|47.82|30.5|2015|W|Al Basrat al Qadimah;albsrt alqdymt,Al Hudaydah|al hudaydah|YE|42.95|14.8|734|W|Al Xudayda;Al Hudaidha;Al'-Khudajda,Al Mahallah al Kubra|gharbia|EG|31.17|30.97|592|W|almhlt alkbry,Al Mansurah|dakahlia|EG|31.38|31.04|621|W|Al-Mansura,Al Mawsil al Jadidah|nineveh|IQ|43.11|36.33|2065|W|almwsl aljdydt,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|,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;Albukerke;Albukerki,Aleppo|aleppo|SY|37.16|36.2|2098|W|Alepo;Aleppe;Aleppu,Alexandria|alexandria|EG|29.92|31.2|5263|W|Alejandria;Alexandrie;Aleixandria,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|Alg\xB7\xE8r;Algier;Alger,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|,Alief|TX|US|-95.6|29.71|98|N|,Aligarh|uttar pradesh|IN|78.07|27.88|753|W|aligara;Aligarkh;aligarha,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|Almat\u0131;Almata;Almati,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|,Amecameca|MX15|MX|-98.77|19.12|31|N|,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;Ammon;Ammana,Amozoc de Mota|MX21|MX|-98.05|19.05|95|N|,Amravati|maharashtra|IN|77.75|20.93|647|W|amaravati,Amritsar|punjab|IN|74.88|31.62|1159|W|Amrytsar;Amritsara;Amritszar,Amsterdam|north holland|NL|4.89|52.37|741|W|Amstedam;Amsterda;amstrdam,Anaheim|CA|US|-117.91|33.84|350|N|Anahaym;Anachaim;Anahaima,Ancaster|ON|CA|-79.99|43.22|40|N|,Anchorage|AK|US|-149.9|61.22|289|N|Ancoraria;ancorage byuro,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|Andijan;Andican;Andizan,Andover|MN|US|-93.29|45.23|32|N|,Ankang|shaanxi|CN|109.02|32.68|870|W|Ankan;an kang;an kang shi,Ankara|ankara|TR|32.85|39.92|3517|W|Ankar;Ankaro;Ankura,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|Ancing;Anking;an qing,Ansan-si|gyeonggi do|KR|126.82|37.32|623|W|ansansi;Ansan;an shan shi,Anshan|liaoning|CN|122.99|41.12|1450|W|Ansjan;An'shan';Ansano,Anshun|guizhou|CN|105.93|26.25|765|W|anshwn;An'shun';An-sun,Antalya|antalya|TR|30.7|36.91|1335|W|Antalia;Antalja;Antaliya,Antananarivo|analamanga|MG|47.54|-18.91|1349|W|Antananarifo;Antananarivu;Antananariwo,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|anyangh;an-yang si;an yang shi,Anyang-si|gyeonggi do|KR|126.93|37.39|595|W|an-yangsi;Anyang;an-yang,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|,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|arakaju;Arakazu;arakajw,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|Arecipa;Arekipa;Ariqipa,Arifwala|punjab|PK|73.07|30.29|854|W|,Arlington|TX|US|-97.11|32.74|388|N|Arlingtn;Arlingtan;Arlinqton,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|Arusa;arwsha;Aruscha,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|Asgabat;Ashabat;Ashgabad,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|Astano;astanh;astant,Astoria|NY|US|-73.93|40.77|150|N|,Asuncion|asuncion|PY|-57.65|-25.29|1482|W|Asunsion;Assuncion;Asunciono,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|Athen;Athena;Athene,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|Atlant;Atlanto;Atlonta,Atlantic City|NJ|US|-74.42|39.36|39|N|,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|Aucland;Auklando;Aucopolis,Augusta|GA|US|-81.97|33.47|43|N|,Aurangabad|maharashtra|IN|75.34|19.88|1175|W|Aurangabado;aurangabada;Aurangabadas,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|Austino;Austinopolis,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|Ba\u011Fc\u0131lar;Bagdzhylar,Baghdad|baghdad|IQ|44.4|33.34|7216|W|Bagdad;Bagda;Bagdat,Bahawalpur|punjab|PK|71.68|29.4|903|W|Bakhavalpura,Bahcelievler|istanbul|TR|28.86|41|576|W|,Baise|guangxi|CN|106.63|23.89|686|W|bai se;Baksaek;Baicheng,Bakersfield|CA|US|-119.02|35.37|373|N|Baker's Field,Baku|baki|AZ|49.89|40.38|2351|W|Bak\u0131;Baki;Bako,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|balligpapan;barikupapan;Balikpapanas,Ballwin|MO|US|-90.55|38.6|30|N|,Baltimore|MD|US|-76.61|39.29|585|NW|Baltimor;Baltimora;Baltimoro,Bamako|bamako|ML|-7.98|12.61|4227|W|Bamaco;Bamaku;bamakw,Banbury-Don Mills|ON|CA|-79.35|43.74|27|N|,Bandar Lampung|lampung|ID|105.26|-5.43|1166|W|Bandarlampung;bandaleulampung;bandaruranpun,Bandung|west java|ID|107.61|-6.92|2528|W|Banduna;Bandunq;bandwng,Bangkok|bangkok|TH|100.5|13.75|5104|W|Bankok;Banghok;Banqkok,Bangor|ME|US|-68.77|44.8|32|N|,Bangui|bangui|CF|18.55|4.36|812|W|Bangi;Bangis;ban ji,Banjarmasin|south kalimantan|ID|114.59|-3.32|657|W|Banjermasin;Bandjarmasin;Banyermasin,Banning|CA|US|-116.88|33.93|30|N|,Bannu|khyber pakhtunkhwa|PK|70.6|32.99|1357|W|Banu;ban'nu,Bao'an|guangdong|CN|113.88|22.55|4476|W|,Baoding|hebei|CN|115.46|38.87|2739|W|Baodin;Baodina;bao ding,Baoji|shaanxi|CN|107.24|34.37|1437|W|bao ji;Baoczi;baoji si,Baoshan|shanghai|CN|121.49|31.41|2265|W|bao shan,Baoshan|yunnan|CN|99.16|25.12|935|W|bao shan;Bao Son;baosan si,Baotou|inner mongolia|CN|109.84|40.65|2150|W|Baatou;bao tou;ba'otu,Barberton|OH|US|-81.61|41.01|26|N|,Barcelona|catalonia|ES|2.16|41.39|1686|W|Barce\u0142ona;Barcelone;Barcelono,Barcelona|anzoategui|VE|-64.69|10.14|815|W|Barcelono;Barselona;barsilona,Bareilly|uttar pradesh|IN|79.43|28.37|745|W|baleilli;Bareli;Barejli,Barnaul|altai krai|RU|83.73|53.36|632|W|Barnau\u0142;barnal;barnawl,Barnstable|MA|US|-70.3|41.7|47|N|,Barquisimeto|lara|VE|-69.36|10.06|1240|W|Barquisimito;Barkisimeto;barakisimeto,Barranquilla|atlantico|CO|-74.78|10.97|1206|W|Barranquilha;Barrankilya;Barankila,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;Basora;Bassra,Batam|riau|ID|104.02|1.15|1296|W|batm;bata m;batama,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|Batagram;Batgram;Batgran,Battle Creek|MI|US|-85.18|42.32|51|N|,Bauchi|bauchi|NG|9.84|10.31|693|W|Bauczi;Baushi;Baucis,Bay City|MI|US|-83.89|43.59|33|N|,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|ba yan nao er shi,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|bazhang;ba zhong;ba zhong shi,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|,Beavercreek|OH|US|-84.06|39.71|46|N|,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|Bejing;Beising;Beyjing,Beira|sofala|MZ|34.84|-19.84|687|W|bera;Bejra;Beyra,Beirut|beirut|LB|35.5|33.89|1916|W|Berut;Beirot;Bejrut,Bekasi|west java|ID|106.99|-6.23|2648|W|Bekaso;Bekasis;beukasi,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|Belen;Belemo;belema,Belgrade|central serbia|RS|20.47|44.8|1273|W|Belgra\xF0;Belgrad;Belgrada,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|Belo Orizonte;belo horijonte;Bello Horizonte,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|Bengaluro;benguluru;Bengalurus,Bengbu|anhui|CN|117.36|32.94|972|W|Benbu;Behnbu;beongbu si,Benghazi|banghazi|LY|20.07|32.11|757|W|Bengazi;Benghasi;Bengasi,Benicia|CA|US|-122.16|38.05|28|N|,Benin City|edo state|NG|5.63|6.34|1782|W|Benin Siti;Benin by;beninsiti,Benito Juarez|MX09|MX|-99.16|19.37|385|N|,Benoni|gauteng|ZA|28.32|-26.19|605|W|Behnoni;beneani,Bensalem|PA|US|-74.95|40.1|60|N|,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|Bensi;ben xi;Ben'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|Belin;Berlim;Berlyn,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|Bharnagar;Bhaunagar;Bhunagar,Bhayandar|maharashtra|IN|72.85|19.3|809|W|Bhayndar;bhayandr;Bhayander,Bhilai|chhattisgarh|IN|81.43|21.21|627|W|bhila'i;Bhilajus;Bhilai Nagar,Bhiwandi|maharashtra|IN|73.06|19.3|874|W|Bhiwndi;Bhivandi;bhi'oyadi,Bhopal|madhya pradesh|IN|77.4|23.25|1798|W|Bhojpal;Bhopala;Bhopalo,Bhubaneswar|odisha|IN|85.83|20.27|885|W|Bhubaneshwar;bhubanesbara;bhuvanesvara,Bien Hoa|dong nai|VN|106.82|10.94|1272|W|Bienhoa;Bia Hoa;bi'ena ho'a,Big Spring|TX|US|-101.48|32.25|28|N|,Bijie|guizhou|CN|105.29|27.3|1137|W|bi jie;bije si;bi jie shi,Bikaner|rajasthan|IN|73.31|28.02|644|W|bikanera,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|Bindzhou;bin zhou;Bintsjou,Birmingham|england|GB|-1.9|52.48|1157|W|Birmingam;Birminghem;Birminghamo,Birmingham|AL|US|-86.8|33.52|196|N|,Bishkek|bishkek|KG|74.59|42.87|900|W|Biskek;Bichkek;Bisjkek,Bismarck|ND|US|-100.78|46.81|75|N|,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|Blantire;blantayr;blantyyr,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|Bobo-Diulasso;Bobo-Diulaso;bobo-di'ulaso,Boca Raton|FL|US|-80.08|26.36|93|N|,Bogor|west java|ID|106.79|-6.59|1078|W|Bogoro;bogori;bogoru,Bogota|bogota d c|CO|-74.08|4.61|7674|W|Bogot;Bogoto;Boqota,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|Boramo;bolama;Boorama,Borivli|maharashtra|IN|72.86|19.23|609|W|Borivali;boribali,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|Bostan;Bostun;Bostona,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|,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|bo zhou;Bochzhou;bo zhou shi,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|Bramptun;bramptan;Bramptono,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|Braxi\u0142ia;Braxilia;Brazilia,Brawley|CA|US|-115.53|32.98|25|N|,Brazzaville|brazzaville|CG|15.28|-4.27|1982|W|Brazzavil;Brazavil;Brazavilo,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|,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|Brisbano;brsban;Brisben,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|,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|brwklyn;Broklino,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|Br\xFCsszel;Brussel\xB7les;Brusel\xB7les,Bryan|TX|US|-96.37|30.67|82|N|,Bucaramanga|santander department|CO|-73.12|7.12|581|W|Bucaramango;Bukaramanga;bukaramaniga,Bucharest|bucharest|RO|26.11|44.43|1877|W|B\xFCkre\u015F;Bucarest;Bukharest,Bucheon-si|gyeonggi do|KR|126.78|37.5|850|W|bucheonsi;Bucheon,Buckeye|AZ|US|-112.58|33.37|50|N|,Budapest|budapest|HU|19.04|47.5|1741|W|Budapesht;Budapesta;Budapeste,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|Buenos Ares;buenosaires;Buenos Ajres,Buffalo|NY|US|-78.88|42.89|258|N|Bufalo;Bufala;Bupalo,Buffalo Grove|IL|US|-87.96|42.15|41|N|,Bujumbura|bujumbura mairie|BI|29.36|-3.38|769|W|Buj\xB7umbura;bujubura;Bujumburo,Bukavu|south kivu|CD|28.84|-2.49|816|W|bukabhu,Bukit Rahman Putra|selangor|MY|101.56|3.22|607|W|,Bulawayo|bulawayo|ZW|28.58|-20.15|665|W|bulavayo;burawayo;bullawayo,Bullhead City|AZ|US|-114.57|35.15|39|N|,Buraydah|al qassim region|SA|43.97|26.33|745|W|Burayda;Buraidah;buraydat,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|Burs;Burso;Bursae,Burton|MI|US|-83.62|43|28|N|,Busan|busan|KR|129.03|35.1|3285|W|busana;busani;busansi,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|Cagayan de Oro City;Cagayan de Oro Lakanbalen,Cairo|cairo|EG|31.25|30.06|9606|W|Caire;Cairu;Cairus,Calamba|calabarzon|PH|121.17|14.21|575|W|Calamba City;Calamba Lakanbalen,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|Calgaria,Cali|valle del cauca department|CO|-76.52|3.43|2392|W|Calium,Callao|callao|PE|-77.13|-12.05|1226|W|,Caloocan|national capital region|PH|120.97|14.65|1712|W|Caloocan City,Calpulalpan|MX29|MX|-98.57|19.59|33|N|,Calumbo|bengo|AO|13.42|-9.15|652|W|Catumbo,Calumet City|IL|US|-87.53|41.62|37|N|,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|Camayen,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|,Campinas|sao paulo|BR|-47.06|-22.91|1031|W|Campinas e Regiao,Campo Grande|mato grosso do sul|BR|-54.65|-20.44|906|W|Campus Magnus,Can Tho|can tho city|VN|105.79|10.04|1507|W|,Cananea|MX26|MX|-110.3|30.98|31|N|,Canarsie|NY|US|-73.9|40.64|87|N|,Cancun|MX23|MX|-86.85|21.17|888|NW|,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|,Cape Girardeau|MO|US|-89.52|37.31|39|N|,Cape Town|western cape|ZA|18.42|-33.93|4772|W|Cape Toun,Caracas|distrito federal|VE|-66.88|10.49|3000|W|Caracae;Caraques,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|,Cartagena|bolivar|CO|-75.49|10.4|914|W|Carthagene;Cartagena de Indias;Cartaxena de Indias,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|Casabranca;Casa Branca,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;Cebu Sehri;Cebo,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|,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|Chandigar;chandigadh;chandigaru,Chandler|AZ|US|-111.84|33.31|260|N|Chandlur;chandora;chaendeulleo,Changchun|jilin|CN|125.32|43.88|4714|W|Chanchun;changchwn;Changchuen,Changde|hunan|CN|111.7|29.03|1457|W|changda;changdy;chang de,Changning|shanghai|CN|121.42|31.22|694|W|,Changsha|hunan|CN|112.97|28.2|3093|W|Chansha;changsa;Changsja,Changsha|guangdong|CN|112.68|22.38|688|W|Ch'ang-sha-chen;Changsha Jiedao,Changshu|jiangsu|CN|120.74|31.65|1677|W|,Changwon|gyeongsangnam do|KR|128.68|35.23|1025|W|changwn;Changuon;changwwn,Changzhi|shanxi|CN|113.11|36.18|1214|W|changzhy;Chandzhu;Changdzi,Changzhou|jiangsu|CN|119.95|31.77|3290|W|Chandzhou;chang zhou;changzhw,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|chao zhou;Chaochow;Chaodzou,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|charlxtt;Charlottesburg;Charlottesburgh,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|Chottogram,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|Cheliabinsk;Cheljabinsk;chlyabnsk,Chengdu|sichuan|CN|104.07|30.67|13568|W|Chendu;Chundu;chngdw,Chennai|tamil nadu|IN|80.28|13.09|4681|W|chenai;Chehnai;Chennaj,Chenzhou|hunan|CN|113.03|25.8|822|W|chen zhou;Chenchow;Chehn'chzhou,Cheonan|chungcheongnam do|KR|127.15|36.81|658|W|Chonan';Ch'onan;cheon-an,Cheongju-si|north chungcheong|KR|127.49|36.64|852|W|cheongjusi;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|Chibashi;Chiba-shi,Chicago|IL|US|-87.65|41.85|2664|NW|Chicagu;Chikago;chikhako,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|,Chiclayo|lambayeque|PE|-79.85|-6.77|609|W|Chiklajo;Chiklayu;Chiclaium,Chico|CA|US|-121.84|39.73|121|N|,Chicoloapan|MX15|MX|-98.9|19.42|172|N|,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|Chiuaua;Chiuauae;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|,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|,Chizhou|anhui|CN|117.48|30.66|615|W|chi zhou;Chichau;Chihchow,Cholula|MX21|MX|-98.3|19.06|292|N|chwlwla;chollulla;Cholollan,Chomedey|QC|CA|-73.75|45.53|94|N|,Chongming||CN|121.7|31.62|637|W|chong ming;chong ming qu,Chongqing|chongqing|CN|106.56|29.56|7457|W|Chongking;chwngchng;Chuncin,Chula Vista|CA|US|-117.08|32.64|265|N|Chulavista;chwla wsta;churabisuta,Chunian|punjab|PK|73.98|30.97|634|W|chnyan,Church-Yonge Corridor|ON|CA|-79.38|43.66|31|N|,Chuzhou|anhui|CN|118.3|32.32|782|W|Chudzhou;chu zhou;Chuchow,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|Cimahi kutha,Cincinnati|OH|US|-84.51|39.13|311|N|cincinatti;Cincinnatopolis,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|,Ciudad Altamirano|MX12|MX|-100.67|18.36|25|N|,Ciudad Apodaca|MX19|MX|-100.19|25.78|467|N|,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|,Ciudad de Huajuapan de Leon|MX20|MX|-97.78|17.81|53|N|,Ciudad de Villa de Alvarez|MX08|MX|-103.74|19.27|117|N|,Ciudad del Carmen|MX04|MX|-91.83|18.65|191|N|,Ciudad Delicias|MX06|MX|-105.47|28.19|148|N|,Ciudad Fernandez|MX24|MX|-100.01|21.94|32|N|,Ciudad General Escobedo|MX19|MX|-100.32|25.8|454|N|,Ciudad Guayana|bolivar|VE|-62.64|8.35|978|W|Ciudat Guayana;Ciudad Guiana;Cidade Guaiana,Ciudad Guzman|MX14|MX|-103.46|19.7|111|N|,Ciudad Hidalgo|MX16|MX|-100.56|19.69|60|N|,Ciudad Juarez|MX06|MX|-106.46|31.72|1512|NW|,Ciudad Lazaro Cardenas|MX16|MX|-102.2|17.96|196|N|,Ciudad Lopez Mateos|MX15|MX|-99.26|19.56|489|N|,Ciudad Madero|MX28|MX|-97.84|22.25|197|N|,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|Ciudad Netzahualcoyotl;Ciudad Neza,Ciudad Obregon|MX26|MX|-109.94|27.49|329|N|,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|,Cixi|zhejiang|CN|121.25|30.18|1457|W|ci xi;Cixi Shi;Cixi City,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|Cleaveland,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|,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 Berriozabal;Coacalco de Berriozaval,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|,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|,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|Columbo;Columbum,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,Colonia Lindavista|MX15|MX|-99.12|19.49|100|N|,Colonia Nativitas|MX09|MX|-99.14|19.38|60|N|,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|,Columbus|OH|US|-83|39.96|913|NW|Columbopolis;Columbus i Ohio,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|,Comitan|MX05|MX|-92.14|16.24|166|N|,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,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|,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|Copenhaguen;Copenhaga;Copenaghen,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|Cordova;Corduba;Cordoba i Argentina,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,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|,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|,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|,Cuautla|MX17|MX|-98.94|18.81|157|N|,Cuautlancingo|MX21|MX|-98.27|19.09|25|N|,Cucuta|norte de santander department|CO|-72.5|7.91|777|W|,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;Cuyaba,Culiacan|MX25|MX|-107.39|24.8|808|NW|Culiacana;Cuilacan;Culiacan Rosales,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|Curityba;Curytiba,Cutler Bay|FL|US|-80.34|25.58|45|N|,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;da nanj;da nanga,Daegu|daegu|KR|128.59|35.87|2365|W|daigu;da'egu;dayigu,Daejeon|daejeon|KR|127.38|36.35|1441|W|Daejon;daejeonsi;Daiden,Dakar|dakar|SN|-17.44|14.69|2646|W|Dakaa;Dakara;Dakaro,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|Daljan';dalyan;da lian,Dallas|TX|US|-96.81|32.78|1326|NW|Dalas;dallasa;Dalasa,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|Damascu;Damaskus;Damasc,Dammam|eastern province|SA|50.1|26.43|1252|W|Damam;Damman;Daemmam,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|Dandung;dandwng;dan dong,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|DaCing;da qing;Dacin,Dar es Salaam|dar es salaam region|TZ|39.27|-6.82|5383|W|Dar\xFCsselam;Dar Es Salam;Daressalaam,Dartmouth|NS|CA|-63.58|44.67|101|N|,Datong|shanxi|CN|113.29|40.09|1850|W|Datung;datwng;Datongo,Davao|davao region|PH|125.61|7.07|1848|W|Davaa;dava'o;davawo,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|,Dazhou|sichuan|CN|107.46|31.21|1589|W|da zhou;dazhw;Dachzhou,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|,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|,Delhi|delhi|IN|77.23|28.65|11034|W|Deli;delli;Delchi,Delray Beach|FL|US|-80.07|26.46|66|N|,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;Dehnpasar;denpasaru,Denton|TX|US|-97.13|33.21|131|N|,Denver|CO|US|-104.98|39.74|729|NW|Denvr;Denber;Denwer,Depok|west java|ID|106.82|-6.4|2163|W|Dehpak;Depokas;depokku,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|,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|Detrojt;Detroyt;Detroita,Deyang|sichuan|CN|104.38|31.13|735|W|Deyan;de yang;deoyang si,Dezhou|shandong|CN|116.37|37.45|679|W|de zhou;Degou;Dedzou,Dhaka|dhaka division|BD|90.41|23.71|10356|W|dhakka,Dhanbad|jharkhand|IN|86.43|23.8|1196|W|Dhanabad;Dhanbaid;dhanabada,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|diyarbak\u0131r province|TR|40.22|37.91|1833|W|Diyarbak\u0131r;Diyarbek\u0131r;Diyar\u0131bak\u0131r,Djibouti|djibouti|DJ|43.15|11.59|626|W|Djibuti;Djiboeti;Djibouti Chhi,Dnipro|dnipropetrovsk|UA|35.04|48.47|968|W|Dnjipro;Dnyipro;Dnepr,Dodge City|KS|US|-100.02|37.75|27|N|,Dodoma|dodoma|TZ|35.74|-6.17|765|W|Dodom;Dodomao;do do ma,Dollard-Des Ormeaux|QC|CA|-73.82|45.49|48|N|,Dolores Hidalgo|MX11|MX|-100.93|21.16|67|N|,Dombivali|maharashtra|IN|73.08|19.22|1247|W|Dombivli;dombibali,Don Valley Village|ON|CA|-79.35|43.78|27|N|,Donetsk|donetsk|UA|37.8|48.02|901|W|Donesk;Donetk;Donetske,Dongguan|guangdong|CN|113.75|23.02|9644|W|dong guan;donggu'ana;Dongguan City,Dongying|shandong|CN|118.49|37.46|998|W|dong ying;Dongying city;dong ying shi,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|Dortmunde;Dortmundi;Dortmundo,Dothan|AL|US|-85.39|31.22|68|N|,Douala|littoral|CM|9.7|4.05|1338|W|Doula;douara,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|D\xFAb\xE6;dubi;Dubae,Dublin|leinster|IE|-6.25|53.33|1024|W|Dublina;Dublini;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|D\xFCsseldorf;D\xFCssldorf;Dusseld\xF6rp,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|Duki di Kasias;duki ci ka cheiy s,Durban|kwazulu natal|ZA|31.03|-29.86|3338|W|Durbana;Durbano;durbani,Durham|NC|US|-78.9|35.99|257|N|Duram;Durhamsville,Dushanbe|dushanbe|TJ|68.78|38.54|679|W|Dusanbe;Dushambe;Dusjanbe,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|E'zhou Shi,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|,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|,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|,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|,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|,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 Morelos;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|,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|Edmontona;Edmontono;edomonton,Edogawe|tokyo|JP|139.87|35.69|697|W|Edogawa;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|Elpaso;elpaeso;El Pasas,El Pueblito|MX22|MX|-100.44|20.54|71|N|,Eldersburg|MD|US|-76.95|39.4|30|N|,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|,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|,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;en sen na da,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|Enuga;Enugwu,Erbil|erbil|IQ|44.01|36.19|1612|W|Ermpil,Erie|PA|US|-80.09|42.13|99|N|,Erzurum|erzurum|TR|41.28|39.91|767|W|Erzerum;Erzirum;Erzuruma,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|Eskiseher;Eskisechir;Eskisehira,Esperanza|MX26|MX|-109.93|27.58|38|N|,Essen|north rhine westphalia|DE|7.01|51.46|593|W|Esen;Esse;Esene,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;Faisalabada;Faisalabado,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|Farydabad;Faridabado;Faridabadas,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|Fejra-de-Santana;Fejra di Santana;Feira de Sant'Anna,Felipe Carrillo Puerto|MX23|MX|-88.05|19.58|25|N|,Fengxiang|shanghai|CN|121.47|30.86|1140|W|feng xian;Fengsien;feng xian qu,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|,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|,Fort Cavazos|TX|US|-97.78|31.13|29|N|,Fort Collins|CO|US|-105.08|40.59|170|N|,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|,Fort Smith|AR|US|-94.4|35.39|88|N|,Fort Wayne|IN|US|-85.13|41.13|260|N|Fort Veyn;Fort Uejn;Fort Vejn,Fort Worth|TX|US|-97.32|32.73|1008|NW|Fort Vort;Fort Uert;Fort Uurt,Fortaleza|ceara|BR|-38.54|-3.72|2400|W|Fortalezo;Fortalezae;forutareza,Fortuna Foothills|AZ|US|-114.41|32.66|26|N|,Foshan|guangdong|CN|113.13|23.03|9042|W|Fosan;Fosjan;Fo Shan,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|,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|Frankfurt na Majn;Frankfurt del Main;Frankford-on-Main,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|,Freeport|NY|US|-73.58|40.66|43|N|,Freetown|western area|SL|-13.24|8.49|802|W|frytwn;Fritonn,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|Frezno;Frehsna;Fresnas,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|,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|Fukuoko;Fucuoca;Fukuokashi,Fullerton|CA|US|-117.93|33.87|140|N|,Fushun|liaoning|CN|123.94|41.89|1400|W|Fusun;Fusjun;fu shun,Fuxin|liaoning|CN|121.66|42.02|689|W|Fusin;fu xin;Fu-sin,Fuyang|anhui|CN|115.82|32.9|1768|W|Fuyan;fu yang;Fujan,Fuzhou|fujian|CN|119.31|26.06|3740|W|Fudzhou;fu zhou;Fuzov,Fuzhou|jiangxi|CN|116.33|27.96|1089|W|fu zhou;Fu-chou;Fuchzhou,Gabriel Leyva Solano|MX25|MX|-108.64|25.66|27|N|,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|gan zhou;Gandzou;ganzhww,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|,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|Gatino;gatynw,Gaziantep|gaziantep|TR|37.38|37.06|2222|W|Gaziantepa;Gaziantepo;Gazijantep,Gazipur|dhaka division|BD|90.42|24|2674|W|gazipura;gajipura;gajipuru,General Santos|soccsksargen|PH|125.17|6.11|722|W|General Santos City;GenSan;General Santos Lakanbalen,Genoa|liguria|IT|8.94|44.4|580|W|Genua;Genova;Genes,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|Ghazibad;ghaziabadi;ghajiyabad,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|Gize;Gizo;Gizah,Gladstone|MO|US|-94.55|39.2|26|N|,Glasgow|scotland|GB|-4.26|55.87|626|W|glasgo;glasgw;Glazgo,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|Goiana;Goyania;Gojani,Gold Coast|queensland|AU|153.43|-28|640|W|Gold Koust;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|,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|Gorakpura,Gorakhpur|uttar pradesh|IN|83.37|26.77|674|W|Gorakpur;Gorakkhpur;Gorakpura,Goshen|IN|US|-85.83|41.58|32|N|,Gothenburg|vastra gotaland|SE|11.97|57.71|608|W|G\xF6teborq;Gotenburg;Goteburg,Goyang-si|gyeonggi do|KR|126.83|37.66|1061|W|goyangsi;Goyang;Goyang city,Gqeberha|eastern cape|ZA|25.61|-33.96|1050|W|,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|,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|Grinsboro,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|Guadalaxara;guadarahara;Guadalakhara,Guadalupe|MX19|MX|-100.26|25.68|673|NW|,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|,Guang'an|sichuan|CN|106.64|30.47|858|W|guang an shi,Guangzhou|guangdong|CN|113.25|23.12|16096|W|Guanzhou;Guandzhou;guang zhou,Guankou|hunan|CN|113.63|28.16|1380|W|guan kou,Guarulhos|sao paulo|BR|-46.53|-23.46|1345|W|Guarul'jus,Guasave|MX25|MX|-108.47|25.57|71|N|,Guatemala City|guatemala|GT|-90.51|14.64|994|W|Guatemala by;Guatemala-Urbo;Guatemala-stad,Guayaquil|guayas|EC|-79.89|-2.2|2723|W|Guaiaquil;Guajakil;Guaiaquilum,Guelph|ON|CA|-80.26|43.55|143|N|,Guigang|guangxi|CN|109.59|23.12|1086|W|gui gang;Gujgan;Guixian,Guildford|BC|CA|-122.8|49.19|64|N|,Guilin|guangxi|CN|110.3|25.28|1572|W|Gujlin;gui lin;Guejlin,Guiyang|guizhou|CN|106.72|26.58|3037|W|Guijang;gui yang;Guyan,Gujranwala|punjab|PK|74.19|32.16|2511|W|Gujranvala;Gudzranwala;gujaranvala,Gulfport|MS|US|-89.09|30.37|71|N|,Guntur|andhra pradesh|IN|80.46|16.3|670|W|Guntura;Gunturu;gutura,Gurnee|IL|US|-87.9|42.37|31|N|,Gurugram|haryana|IN|77.03|28.46|886|W|gurugrama;guruguramu;guragamo,Gustavo Adolfo Madero|MX09|MX|-99.11|19.49|1185|NW|Gustavo A. Madero;Guadalupe,Guwahati|assam|IN|91.75|26.18|962|W|Guvahati;gu'ahati;guyahati,Gwalior|madhya pradesh|IN|78.17|26.23|1054|W|,Gwangju|gwangju|KR|126.92|35.15|1401|W|gwangjw;gwanjw;gwang jw,Gwynn Oak|MD|US|-76.69|39.33|47|N|,Ha'il|ha il region|SA|41.69|27.52|605|W|Hail;Hayil;haila,Hachioji|tokyo|JP|139.32|35.66|579|W|Hachiouji;Haciogi;hachioji si,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|Haikow;Hajkou;Haykou,Haiphong|hai phong|VN|106.68|20.86|2625|W|Hai Phong;haifon;ha'iphanga,Halifax|NS|CA|-63.58|44.64|471|N|Halifaks;halyfaks,Hallandale Beach|FL|US|-80.15|25.98|39|N|,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|Hamamatu;hamamatsw;Hamamacu,Hamburg|hamburg|DE|9.99|53.55|1973|W|Hamb\xF6rj;Hamborg;Hamburk,Hamden|CT|US|-72.9|41.4|59|N|,Hamilton|ON|CA|-79.85|43.25|569|N|Hamiltona;Hamiltono;hamyltwn,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|Handano;han dan;Han-tan,Hanford|CA|US|-119.65|36.33|55|N|,Hangzhou|zhejiang|CN|120.16|30.29|9236|W|hang zhou;Hanczou;Handzou,Hanoi|hanoi|VN|105.84|21.02|8053|W|Hanoj;Hanoy;Ha Noi,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|han zhong;Han-chung;Han Trung,Harare|harare|ZW|31.05|-17.83|1542|W|harary;Harareo;Hararensis Urbs,Harbin|heilongjiang|CN|126.65|45.75|5242|W|harbn;harbyn;Harbina,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|Havan;Havano;Havanna,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|he bi;heobi si;he bi shi,Hefei|anhui|CN|117.28|31.86|5050|W|Hefej;Hefey;he fei,Hegang|heilongjiang|CN|130.29|47.35|743|W|he gang;Hegangas;Hegang Shi,Helena|MT|US|-112.04|46.59|32|N|,Hell's Kitchen|NY|US|-73.99|40.76|45|N|,Helsinki|uusimaa|FI|24.94|60.17|658|W|Helsingi;Helsinko;Helsinky,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|hendason;Hendersonas;hendeoseun,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|Hengjang;heng yang;Henan,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|herimosilo;Hermosiljas,Heroica Caborca|MX26|MX|-112.16|30.72|59|N|,Heroica Ciudad de Juchitan de Zaragoza|MX20|MX|-95.02|16.43|88|N|,Heroica Guaymas|MX26|MX|-110.9|27.92|117|N|,Heroica Matamoros|MX28|MX|-97.5|25.88|510|N|,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|he shan;Heshan Qu;he shan qu,Hesperia|CA|US|-117.3|34.43|93|N|,Heze|shandong|CN|115.47|35.24|1346|W|he ze;he ze shi,Hezhou|guangxi|CN|111.57|24.4|1005|W|he zhou;he zhou shi;heojeou si,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|,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|,Hilton Head|SC|US|-80.75|32.22|37|N|,Hilton Head Island|SC|US|-80.74|32.19|40|N|,Hinesville|GA|US|-81.6|31.85|33|N|,Hiroshima|hiroshima|JP|132.45|34.4|1200|W|Hirosima;Hiroszima;Hirosimo,Hlaingthaya|yangon|MM|96.07|16.85|687|W|Hlaing Tharyar;Hlaing Thar Yar,Ho Chi Minh City|ho chi minh city hcmc|VN|106.63|10.82|14002|W|Ho Chi Minh-borg;Ho Chi Minh-byen;Ho Chi Minh Ville,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|hohhota;Hohoto;hohota,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|Homsz;homsa;homsi,Honcho|chiba|JP|139.99|35.7|644|W|,Hong Kong||HK|114.17|22.28|7396|W|Hongkong;Honkong;hongakonga,Hong Kong Island||HK|114.18|22.26|1195|W|Hong Kong,Hongkou|shanghai|CN|121.49|31.25|687|W|hong kou;Hongkew,Honolulu|HI|US|-157.86|21.31|350|N|Honolulo;honalulu;Honoruru,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|hou si dun;Houston City,Howard Beach|NY|US|-73.84|40.66|26|N|,Howrah|west bengal|IN|88.32|22.58|1027|W|,Huai'an|jiangsu|CN|119.02|33.59|2494|W|Huaiyin;Huai-yin;huai an shi,Huaibei|anhui|CN|116.79|33.97|1113|W|huai bei;Huajbej;Huaybey,Huainan|anhui|CN|117|32.63|1666|W|huai nan shi,Huamantla|MX29|MX|-97.93|19.31|51|N|,Huambo|huambo|AO|15.74|-12.78|595|W|Huamdo;hu'ambo;huyambo,Huangshi|hubei|CN|115.05|30.25|688|W|Huangsi;Huan-shi;Huangsji,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;Hubli City,Huber Heights|OH|US|-84.12|39.84|38|N|,Hue|thua thien hue province|VN|107.6|16.46|1380|W|Huje,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|hui zhou;Hui-chou;Huitsjou,Hull|QC|CA|-75.71|45.43|63|N|,Huludao|liaoning|CN|120.84|40.75|944|W|hu lu dao;Hu-lu-tao;hu lu dao shi,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|hu zhou;Huzhou Shi;Huzhou City,Hwaseong-si|gyeonggi do|KR|126.82|37.21|640|W|hwaseongsi;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|hydrabad;hydr abad;Hyderabad AP,Hyderabad|sindh|PK|68.38|25.4|1921|W|hydrabad;hydr abad;Hyderabad City,Ibadan|oyo state|NG|3.91|7.38|3649|W|Ibadana;Ibadano;Ibadanas,Ibb|ibb governorate|YE|44.18|13.97|771|W|Ibbu;ibba;Ibas,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|Iloryn;Illorin;ilorina,Imperial Beach|CA|US|-117.11|32.58|27|N|,Incheon|incheon|KR|126.71|37.46|3015|W|Inchon;Inch'on;Incon,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|Indianapoli;Indianapoles;Indianapolisa,Indio|CA|US|-116.22|33.72|87|N|,Indore|madhya pradesh|IN|75.83|22.72|1994|W|Indor;indora;indori,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|,Iowa City|IA|US|-91.53|41.66|74|N|,Ipoh|perak|MY|101.08|4.58|759|W|Ipo;Ipoha;Ipokh,Irapuato|MX11|MX|-101.36|20.67|380|N|Iraputa;Irapuatas,Irkutsk|irkutsk oblast|RU|104.29|52.3|623|W|Irkutk;Irkotsk;Irkutsc,Irondequoit|NY|US|-77.58|43.21|51|N|,Irvine|CA|US|-117.82|33.67|256|N|Irvin;Irvinas;Irvajn,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|Isfahon;Isfehan;Ispahan,Iskandar Puteri|johor|MY|103.62|1.39|575|W|iskantar puttiri,Isla|MX30|MX|-95.53|18.03|26|N|,Islamabad|islamabad|PK|73.04|33.72|601|W|Islamabada;Islamabade;Islamabadi,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|Istambu\u0142;Istanbu;Istambul,Itabashi|tokyo|JP|139.71|35.75|584|W|Itabashicho;Itabashimachi,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|,Ixtapaluca|MX15|MX|-98.88|19.32|322|N|,Ixtepec|MX20|MX|-95.1|16.56|25|N|,Izhevsk|udmurtiya republic|RU|53.2|56.85|648|W|Izevsk;Izjevsk;Izhevs'k,Izmir|izmir province|TR|27.14|38.41|2938|W|Izmira;Izmiro;izmiri,Iztacalco|MX09|MX|-99.1|19.4|384|N|,Iztapalapa|MX09|MX|-99.06|19.36|1835|NW|Iztapalapan;Iztaoalaoa,Izucar de Matamoros|MX21|MX|-98.46|18.6|42|N|,Jabalpur|madhya pradesh|IN|79.95|23.17|1081|W|japalpur;jabalapura;jabalpuleu,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|jakcanvil;jaiksanavila,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|Jaypur;jaipura;jaipuru,Jajmau|uttar pradesh|IN|80.41|26.43|652|W|jajama'u;Jajesmow,Jakarta|jakarta|ID|106.85|-6.21|8540|W|Jacarta;Jakarte;jakarata,Jalandhar|punjab|IN|75.58|31.33|868|W|jalandar;jalandhara;jalandhari,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;jamby,Jamestown|NY|US|-79.24|42.1|30|N|,Jammu|jammu and kashmir|IN|74.86|32.74|576|W|jamu;janmu;jam'mu,Jamnagar|gujarat|IN|70.07|22.47|600|W|Jamnogar;jamnakar;jamnagari,Jamshedpur|jharkhand|IN|86.19|22.8|1339|W|Jamsedpur;Jamshidpur;Jarnshedpur,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|Jedda;jeddaha;jeda,Jefferson City|MO|US|-92.17|38.58|42|N|,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|Jeon Ju;je'onaju;jeonjusi,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|Jersey Ceety;jeojisiti,Jerusalem|jerusalem|IL|35.22|31.77|971|W|Jerusalen;Jerusalim;Jeruzalem,Jesus Maria|MX01|MX|-102.34|21.96|43|N|,Jhang Sadr|punjab|PK|72.32|31.27|606|W|Jhang Sadar;jhanga sadara;Jhang,Jiading|shanghai|CN|121.24|31.39|1886|W|jia ding;Jiadingzhen;jia ding zhen,Jiangmen|guangdong|CN|113.08|22.58|1795|W|jiang men;jiang men shi,Jiangyin|jiangsu|CN|120.26|31.91|1779|W|Jiangyin Shi;jiang yin shi,Jiaozhou|shandong|CN|120|36.28|619|W|Jiaoxian;Jiaocheng,Jiaozuo|henan|CN|113.24|35.24|865|W|jiao zuo;jiao zuo shi,Jiaxing|zhejiang|CN|120.75|30.75|1180|W|jia xing;jia xing shi,Jieyang|guangdong|CN|116.37|23.54|1899|W|jie yang;jieyang si;jie yang shi,Jilin|jilin|CN|126.56|43.85|1895|W|ji lin;jilina;jilin si,Jinan|shandong|CN|117|36.67|4335|W|ji nan;jinana;jinani,Jing'an|shanghai|CN|121.42|31.22|936|W|,Jingmen|hubei|CN|112.2|31.03|632|W|jing men;jingmeon si;jing men shi,Jingzhou|hubei|CN|112.19|30.35|1052|W|jing zhou;Jingtsjou;jingjeou si,Jinhua|zhejiang|CN|119.64|29.11|1463|W|jin hua;jinhwa si;Jinhua Shi,Jining|shandong|CN|116.58|35.41|1241|W|ji ning;jining si;ji ning shi,Jinjiang|fujian|CN|118.57|24.82|1416|W|jin jiang;jinjang si;Jinjiang Shi,Jinshan|shanghai|CN|121.29|30.84|822|W|jin shan;jin shan qu,Jinzhong|shanxi|CN|112.75|37.68|1226|W|jin zhong shi,Jinzhou|liaoning|CN|121.14|41.11|604|W|jin zhou;Jintsjou;jinjeou si,Jiujiang|jiangxi|CN|116|29.7|1164|W|jiu jiang;jiu jiang shi,Jiutepec|MX17|MX|-99.18|18.88|215|N|,Joao Pessoa|paraiba|BR|-34.86|-7.12|817|W|joanpesoa;Joan-Pesoo;jo'a'o peso'a,Jodhpur|rajasthan|IN|73.01|26.27|1056|W|jodopuru;jodhapura;jodhapuram,Johannesburg|gauteng|ZA|28.04|-26.2|9418|W|Jogannesburg;Johannesbourg;Johannesburga,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;Johore Bahru;johorubaru,Joint Base Pearl Harbor Hickam|HI|US|-157.95|21.35|42|N|,Joinville|santa catarina|BR|-48.85|-26.3|664|W|joinbilli;join'vuire;jo'inabhilale,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|josa;josi;josu,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|kabl;Kabil;Kabol,Kaduna|kaduna state|NG|7.44|10.53|1850|W|Kadun;Kaduno;kadwna,Kagoshima|kagoshima|JP|130.55|31.57|595|W|Kagosima;kaghwshyma;Kagoshimashi,Kahului|HI|US|-156.47|20.89|26|N|,Kaifeng|henan|CN|114.31|34.8|1451|W|Kajfeng;Kai Feng;Kajfen,Kailua|HI|US|-157.74|21.4|38|N|,Kakamega|kakamega county|KE|34.75|0.28|1867|W|Kakamege;kakamga knya;ka ka mei jia,Kalamazoo|MI|US|-85.59|42.29|76|N|,Kalihi-Palama|HI|US|-157.88|21.33|43|N|,Kallakurichi|tamil nadu|IN|78.96|11.73|1682|W|,Kalyan|maharashtra|IN|73.14|19.24|1262|W|Kal'jan,Kamloops|BC|CA|-120.32|50.67|104|N|,Kampala|central region|UG|32.58|0.32|1680|W|Kampal;kapala;Kampalo,Kampung Baru Subang|selangor|MY|101.53|3.15|833|W|,Kananga|kasai central|CD|22.42|-5.9|1247|W|Kanaga;Kanange;kanangha,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|kanw;Kanas;ka nuo,Kanpur|uttar pradesh|IN|80.35|26.47|2823|W|Kanpwr;Kanpour;Kanpuro,Kansas City|MO|US|-94.58|39.1|475|N|Kansas Sity;kansas syty;Kanzas Siti,Kansas City|KS|US|-94.63|39.11|152|N|,Kaohsiung|takao|TW|120.31|22.62|2737|W|Kao-hsiung;Kaosjun;Kaoshang,Karachi|sindh|PK|67.01|24.86|11624|W|Karaci;Karachy;Karacsi,Karaj|alborz province|IR|50.99|35.83|1448|W|Karej;Karadj;karaji,Karbala|karbala|IQ|44.02|32.62|1218|W|Karbalo;Karbila;karpala,Kathmandu|bagmati province|NP|85.32|27.7|1442|W|Katmandu;Katemandu;Kathmandau,Katsina|katsina state|NG|7.6|12.99|670|W|katsyna;katasina;katisina,Kawaguchi|saitama|JP|139.71|35.81|607|W|Kauaguchi;Kavaguchi;Kawagutsi,Kawasaki|kanagawa|JP|139.72|35.52|1538|W|Kauasaki;Kavasaki;kawasaky,Kayseri|kayseri|TR|35.49|38.73|1452|W|Kaiseri;Kajseri;kayaseri,Kaysville|UT|US|-111.94|41.04|30|N|,Kazan|tatarstan republic|RU|49.12|55.79|1243|W|Kazana;Kazane;Kazani,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|Kermon;Kermano;kermani,Kermanshah|kermanshah province|IR|47.06|34.31|621|W|Kermansah;Kermanschah;Kermanshakh,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|,Khabarovsk|khabarovsk|RU|135.1|48.46|618|W|Khbarovsk;Khabarovs'k;khabarovska,Kharkiv|kharkiv|UA|36.25|49.98|1421|W|Kharkov;kharkwf;Khar'kov,Khartoum|khartoum|SD|32.53|15.55|1974|W|Khartum;Khartoem;Khartoun,Khartoum North|khartoum|SD|32.53|15.65|1012|W|Khartoum Nord;Khartum Nord,Khulna|khulna division|BD|89.56|22.81|1500|W|khwlna;khulana;khwlnh,Kigali|kigali|RW|30.06|-1.95|1132|W|Kigale;Kigalo;Kigaly,Kikolo|luanda|AO|13.33|-8.78|728|W|,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|Kingstono;kingusuton;Kin'nkston,Kingston|ON|CA|-76.48|44.23|132|N|,Kingsville|TX|US|-97.86|27.52|26|N|,Kinshasa|kinshasa|CD|15.31|-4.33|16000|W|Kinsasa;Kinchasa;Kinshase,Kirkland|WA|US|-122.21|47.68|87|N|,Kirkuk|kirkuk|IQ|44.39|35.47|1031|W|Kirkouk;Kirkoek;Kirkukas,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|Kisanganis;kisanigani;kisang-gani,Kissimmee|FL|US|-81.42|28.3|69|N|,Kitakyushu|fukuoka|JP|130.85|33.85|940|W|Kitaky\xFC\u015F\xFC;Kitakjushu;Kitakyusyu,Kitchener|ON|CA|-80.51|43.43|256|N|Kichener;Kitchehner;Kicenero,Kitsilano|BC|CA|-123.17|49.27|43|N|,Kitwe|copperbelt|ZM|28.21|-12.8|665|W|Kitue;Kitve;Kitoue,Knoxville|TN|US|-83.92|35.96|190|N|,Kobe|hyogo|JP|135.18|34.69|1525|W|Kobeh;Kobeo;Kobe-shi,Kochi|kerala|IN|76.26|9.94|633|W|koci;kocci;Kochin,Koeln|north rhine westphalia|DE|6.95|50.93|1024|W|K\xF6ln;K\xF6lle;Kol'n,Kokomo|IN|US|-86.13|40.49|57|N|,Kolkata|west bengal|IN|88.36|22.56|4631|W|Kolkat;Kolkate;Kolkato,Kolwezi|lualaba|CD|25.47|-10.71|790|W|Kolvezi,Konya|konya|TR|32.48|37.87|1433|W|Konia;Konja;kon'ya,Koreatown|CA|US|-118.3|34.06|124|N|,Kota|rajasthan|IN|75.84|25.18|1001|W|Kotah;kotta;Kotah City,Kowloon||HK|114.18|22.32|2232|W|Koulun,Krakow|lesser poland|PL|19.94|50.06|816|W|krako;krakw;Krakoo,Krasnodar|krasnodar krai|RU|38.98|45.05|899|W|krasnwdar;Krasnodara;krasanodara,Krasnoyarsk|krasnoyarsk krai|RU|92.93|56.04|1090|W|Krasnoiarsk;Krasnojarsk;krasnwyarsk,Kryvyy Rih|dnipropetrovsk|UA|33.39|47.91|603|W|Kr\xFCv\xFCy Rih;Kryvy Rih;Kryvyi Rih,Kuala Lumpur|kuala lumpur|MY|101.69|3.14|1453|W|Kuala Lumpor;Kuala-Lumpuro;Kualae-Lumpur,Kuecuekcekmece|istanbul|TR|28.77|40.99|792|W|K\xFC\xE7\xFCk\xE7ekmece;Kuchuk Chekmejeh,Kumamoto|kumamoto|JP|130.69|32.81|738|W|kumamotoshi;Kumamoto-shi,Kumasi|ashanti|GH|-1.62|6.69|2544|W|Kumase;Kumaso;Kumasy,Kunming|yunnan|CN|102.72|25.04|3855|W|Kunmin;Kunmina;Kunminq,Kunshan|jiangsu|CN|120.95|31.38|2092|W|Kunsan;Kun'shan';Kunsanas,Kyiv|kyiv city|UA|30.52|50.45|2952|W|Kyiw;Kyiiv;Kyjiv,Kyle|TX|US|-97.88|29.99|35|N|,Kyoto|kyoto|JP|135.75|35.02|1463|W|Kyotu;kyouto;Kyotum,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|lapaz;La Pas;La-Pazo,La Paz|MX03|MX|-110.31|24.14|250|N|lapaz;La-Pas;la baz,La Piedad de Cabadas|MX16|MX|-102.02|20.34|83|N|,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|Lagas;Laqos;lagws,Lagos de Moreno|MX14|MX|-101.93|21.36|98|N|,LaGrange|GA|US|-85.03|33.04|29|N|,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|Lahor;Lahora;Lahoro,Laibin|guangxi|CN|109.22|23.75|910|W|Lajbin';lai bin;laybn,Laiwu|shandong|CN|117.66|36.19|989|W|lai wu;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|,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|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|lang fang;Lanfan;lang fang shi,Langford|BC|CA|-123.5|48.45|46|N|,Langley|BC|CA|-122.66|49.1|132|N|,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'zhou;Landzhou;lanjhu,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|larydw;Laredum;la lei duo,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|Las-Veqas;las vekas;las veygas,LaSalle|ON|CA|-83.06|42.24|32|N|,Latakia|latakia|SY|35.79|35.53|709|W|Lataqi\xE4;Latakio;Latakija,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|Lavalo;Lavalis,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 de los Aldamas;Leon Guanajuato;Leon,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|Lehshan';le shan;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|,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|Leksington;Lexintonia;Leksingtona,Lexington|MA|US|-71.22|42.45|31|N|,Lexington-Fayette|KY|US|-84.46|38.05|314|N|Lexington,Lianyungang|jiangsu|CN|119.22|34.6|2001|W|lian yun gang;lian yun gang shi,Liaocheng|shandong|CN|116|36.45|1229|W|Liaoceng;liao cheng;Liao-ccheng,Liaoyang|liaoning|CN|123.17|41.27|687|W|liao yang;Liao-jang;Liaojangas,Liberty|MO|US|-94.42|39.25|30|N|,Libreville|estuaire|GA|9.45|0.39|846|W|Librefille;Librevil;Librevila,Likasi|haut katanga|CD|26.74|-10.98|635|W|likaci;Likasis;li ka xi,Lilongwe|central region|MW|33.79|-13.97|1115|W|Lilong\xFCe;Lilongve;lilonve,Lima|lima province|PE|-77.03|-12.04|7737|W|Lim;Lime;Limo,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|Linkoln;Linkuln;Lin'koln,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;Lin'fyn';Lin'fehn',Linton Hall|VA|US|-77.57|38.76|35|N|,Linyi|shandong|CN|118.34|35.06|2743|W|Lin'i;Linji;lin yi,Little Elm|TX|US|-96.94|33.16|38|N|,Little Havana|FL|US|-80.23|25.77|53|N|,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|liu pan shui;liu pan shui shi;Liou-pchan-suej,Liuzhou|guangxi|CN|109.41|24.32|1436|W|Linzhou;liu zhou;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|\u0142odz voivodeship|PL|19.47|51.77|639|W|Lodza;Lodze;Lodzo,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|Lomee;Lomeo,Lompoc|CA|US|-120.46|34.64|44|N|,London|england|GB|-0.13|51.51|8961|W|Londn;Londan;Londen,London|ON|CA|-81.23|42.98|422|N|Londono;londoni;Londonas,Londrina|parana|BR|-51.16|-23.31|581|W|londeulina;long de li na,Long Beach|CA|US|-118.19|33.77|474|N|Long Bich;Long Bijch;long-bichi,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|,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 yan;Long Nham;Longyan Shi,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|Los Anjeles;Los Anzeles;Los-Anceles,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 Mocis;los-mochisi;loseumochiseu,Los Reyes Acaquilpan|MX15|MX|-98.98|19.36|85|N|,Los Reyes de Salgado|MX16|MX|-102.47|19.59|39|N|,Louisville|KY|US|-85.76|38.25|624|NW|Louisvil,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|Luan';Lu'an Shi,Luancheng|hebei|CN|114.65|37.88|597|W|luan cheng;Luan'chen;Luan-ch'eng-hsien,Luanda|luanda|AO|13.23|-8.84|2776|W|Luand;Luando;Luandae,Lubango|huila|AO|13.49|-14.92|600|W|lubanigo;Lubangas;lu ban ge,Lubbock|TX|US|-101.86|33.58|249|N|,Lubumbashi|haut katanga|CD|27.48|-11.66|2221|W|Lubumbasi;Lubumbashy;Lumumbashi,Lucknow|uttar pradesh|IN|80.92|26.84|2472|W|Luknow;Lucknow City,Ludhiana|punjab|IN|75.85|30.91|1618|W|Ludhijana;Ludkhiana;ludhi'ana,Lueliang|shanxi|CN|111.14|37.52|3346|W|L\xFCliang;lu liang shi,Lufkin|TX|US|-94.73|31.34|36|N|,Luohe|henan|CN|114.03|33.57|1294|W|Luokhe;luo he;Luo-che,Luohu District|guangdong|CN|114.13|22.55|1143|W|,Luoyang|henan|CN|112.44|34.67|1390|W|Luojang;luo yang;Luojan,Lusaka|lusaka province|ZM|28.29|-15.41|2212|W|Lusak;Lusaca;Lusako,Luzhou|sichuan|CN|105.43|28.89|998|W|Ludzhou;lu zhou;Ludzou,Lviv|lviv|UA|24.02|49.84|717|W|Lvivo;lvovi,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|ma an shan;Mang-shan;Ma'anshan Shi,Mableton|GA|US|-84.58|33.82|37|N|,Macau||MO|113.55|22.2|649|W|Macao;Macaum,Maceio|alagoas|BR|-35.74|-9.67|1031|W|Macejo;Macelo;maseio,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|Madina;Madinat;matina,Madinat an Nasr|cairo|EG|31.3|30.07|668|W|Madinet el-Nasr,Madison|WI|US|-89.4|43.07|280|N|Madisun;madisan;Madisons,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|,Madrid|madrid|ES|-3.7|40.42|3255|W|madri;Madril;Madrit,Madurai|tamil nadu|IN|78.12|9.92|1465|W|Madura;Maduraj;madulai,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|Maidiguri;Maidugari;Majduguri,Makakilo / Kapolei / Honokai Hale|HI|US|-158.1|21.34|46|N|,Makassar|south sulawesi|ID|119.43|-5.15|1474|W|Makasar;Macassar;Makasser,Makhachkala|dagestan|RU|47.5|42.98|596|W|makhacakala;Makhatchkala;Mahackala,Makiki / Lower Punchbowl / Tantalus|HI|US|-157.83|21.32|31|N|,Makkah|mecca region|SA|39.83|21.43|1578|W|Makka;mak kah;maka,Malacca|melaka|MY|102.24|2.2|579|W|Malaca;Malaka;Malakka,Malaga|andalusia|ES|-4.42|36.72|592|W|malga;Malaca;Malago,Malang|east java|ID|112.63|-7.98|889|W|malng;Maland;ma lang,Malatya|malatya|TR|38.32|38.35|750|W|Malatia;Malatja;Malat'ja,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|Managva;Manaqua;managwa,Manassas|VA|US|-77.48|38.75|41|N|,Manaus|amazonas|BR|-60.02|-3.1|2219|W|Manaos;manaws;Manauso,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|mandaly;Mandalaj;Mandale,Manhattan|NY|US|-73.97|40.78|1487|NW|manhatn;Manhatano;Mannahattan,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|Manilo;manira;manyla,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|Maomin;Mao-ming;mawmng,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|Mabuto;Maputu;Mapouto,Mar del Plata|buenos aires|AR|-57.56|-38|593|W|Mar Del Plat;Mar de Plata;mar dl plata,Maracaibo|zulia|VE|-71.61|10.64|1752|W|Marakaibo;Marakajbo;Marakaybo,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|Markam;Markhamo;Markem,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|Marakesh;Marrakes;Marrakech,Marrero|LA|US|-90.1|29.9|33|N|,Marseille|provence alpes cote d azur|FR|5.38|43.3|877|W|mar s\xE6y;Marseilla;Marseilles,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|Mashad;Masyhad;Maschhad,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|matora;matwla,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|matulin;matourin;maturini,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|Macatlan;Masatlan;Masatlanas,Mbuji-Mayi|east kasai|CD|23.59|-6.14|2101|W|mbwjy may;Mbuzhi-Mai;mbwjy mayy,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|metan;Medana;Medano,Medellin|antioquia|CO|-75.57|6.25|1999|W|Medelin;Medel'in;medellina,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|Meratkh;meluteu;meratha,Mehlville|MO|US|-90.32|38.51|28|N|,Meishan|sichuan|CN|103.84|30.04|1107|W|Meyshan';mei shan;Mehjshan',Meizhou|guangdong|CN|116.12|24.29|992|W|mei zhou;Mei;Meixian,Melbourne|victoria|AU|144.96|-37.81|5435|W|Melburn;Melborns;Melburna,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|memphisa;Memfis;memhpis,Mengzi|yunnan|CN|103.38|23.37|595|W|meng zi shi,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|,Mercier-Hochelaga-Maisonneuve|QC|CA|-73.55|45.57|142|N|,Merida|MX31|MX|-89.62|20.97|1201|NW|Meryda;melida;mei li da,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|,Merritt Island|FL|US|-80.69|28.36|34|N|,Mesa|AZ|US|-111.82|33.42|471|N|Mejsa;me sa;mei sa,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|,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|Mexicalo;Mexikali;Mexihcali,Mexico City|MX09|MX|-99.13|19.43|12294|NW|Mexico by;Mexico DF;Mexico D.F.,Miami|FL|US|-80.19|25.77|487|N|Miamo;Miamia;miyami,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|mian yang;Mien-yang;Mien-jang,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|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|,Milan|lombardy|IT|9.19|45.46|1371|W|Mila;Milao;Milaan,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|Milwaukie;Milwahkie;Milwacky,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|Ming-hang;min xing;Min-hang-chen,Minneapolis|MN|US|-93.26|44.98|410|N|Mineapolis;Mineapoli;Mineapalis,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|Minsc;Mins'k;Minska,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|Mississoga;Misisaga;Missisoga,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|Mogadish;Mogadisu;Mogadisho,Moline|IL|US|-90.52|41.51|42|N|,Mombasa|mombasa county|KE|39.66|-4.05|1208|W|Mombaca;Mombaso;Mompasa,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|Monrovi;Monrobia;Monrofia,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|,Monterey Park|CA|US|-118.12|34.06|61|N|,Monterrey|MX19|MX|-100.32|25.68|1135|NW|Monterey;Monterrei;Monterrej,Montevideo|montevideo department|UY|-56.19|-34.9|1270|W|Montebideo;Montevideu;montevide'o,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|Monreal;Mont-real;Montreali,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|moreria;Morelija;moreli'a,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|Mosco\u01BF;Mosco;Moscou,Moscow|ID|US|-117|46.73|25|N|,Mosul|nineveh|IQ|43.12|36.34|1683|W|Mosel;mocul;Mossul,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|,Mount Pleasant|DC|US|-77.04|38.93|35|N|,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|,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 dan jiang;Mudancjan;Mudandzjan,Mukalla|muhafazat hadramaout|YE|49.12|14.54|594|W|Mukala;Mukella;Mukolla,Mulenvos|luanda|AO|13.33|-8.87|882|W|,Multan|punjab|PK|71.48|30.2|2169|W|Multano;multana;murutan,Mumbai|maharashtra|IN|72.88|19.07|12691|W|Mumbaj;Mumbay;mumpai,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|M\xFCnegh;Munic;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|Muskat;museukateu,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|Muzafarabad;Musaffarabad;muzaffarabada,Mwanza|mwanza|TZ|32.9|-2.52|1104|W|Mwamza;Mwansa,Myrtle Beach|SC|US|-78.89|33.69|31|N|,Mysuru|karnataka|IN|76.64|12.3|920|W|myswr;Mysore;Mysooru,N'Djamena|n djamena|TD|15.04|12.11|1359|W|N\u2019Dj\xB7am\xE8na,Nacogdoches|TX|US|-94.66|31.6|33|N|,Nagoya|aichi|JP|136.91|35.18|2332|W|Nagoia;Nagoja;Naqoya,Nagpur|maharashtra|IN|79.08|21.15|2405|W|nagpwr;nakpur;Nagpura,Nairobi|nairobi county|KE|36.82|-1.28|4397|W|Nairoba;Nairoby;Nairovi,Najafgarh|delhi|IN|76.98|28.61|1365|W|Najafgarli;najafugaru;najapkar,Namangan|namangan|UZ|71.67|41|713|W|Namanga;Namangano;namangana,Nampa|ID|US|-116.56|43.54|89|N|,Nampula|nampula|MZ|39.27|-15.12|770|W|nampwla;Nampoula;namapula,Nanaimo|BC|CA|-123.94|49.17|90|N|,Nanchang|jiangxi|CN|115.85|28.68|2357|W|Nancang;Nanchan;Nancsang,Nanchital de Lazaro Cardenas del Rio|MX30|MX|-94.41|18.07|25|N|,Nanchong|sichuan|CN|106.08|30.8|1858|W|Nanchung;nanchwng;nan chong,Nanjing|jiangsu|CN|118.78|32.06|9314|W|nanjng;Nanking;nanjina,Nanning|guangxi|CN|108.32|22.82|3839|W|Naning;Nannin;Nannina,Nantong|jiangsu|CN|120.87|32.03|2273|W|Nantung;nantang;nantwng,Nanyang|henan|CN|112.55|33.01|1811|W|Nanyan;Nanjang;nan yang,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|N\xE0pu\u0142i;Napoles;napl,Narela|delhi|IN|77.09|28.85|800|W|,Nashik|maharashtra|IN|73.79|20|1486|W|Nasik;nashk;Naszik,Nashua|NH|US|-71.47|42.77|87|N|,Nashville|TN|US|-86.78|36.17|689|NW|Nashvill;Nachville;Nashvil,Natal|rio grande do norte|BR|-35.21|-5.79|896|W|Natalo;natala;nataru,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|Naukalpan de Khuarez;Nauhcalpan Juarez;Naukal'pan-de-Khuares,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|Navi Mumbaj;navi mumpai;navi mumba'i,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|Naypyitaw;Naypyidaw,Ndola|copperbelt|ZM|28.64|-12.96|627|W|ndora;ndwla,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|Neikiang;nei jiang;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|,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|,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|Neu Orleans;Nea Orleani;Neuva Orleans,New Rochelle|NY|US|-73.78|40.91|79|N|,New South Memphis|TN|US|-90.06|35.09|641|NW|,New Taipei City|taipei|TW|121.46|25.06|4004|W|New Taipei;Nea 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 York City|NY|US|-74.01|40.71|8804|NW|New York Stad;New York borg;New York kenti,Newark|NJ|US|-74.17|40.74|281|N|nevark;New Worke,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|,Newton|MA|US|-71.21|42.34|88|N|,Nha Trang|khanh hoa|VN|109.19|12.25|579|W|nha trng;nha tranj;nha tranga,Niagara|ON|CA|-79.41|43.64|31|N|,Niagara Falls|ON|CA|-79.07|43.1|99|N|,Niagara Falls|NY|US|-79.06|43.09|48|N|,Niamey|niamey|NE|2.11|13.51|1323|W|Niame;Niamei;Niamej,Nicholasville|KY|US|-84.57|37.88|29|N|,Nicolas Romero|MX15|MX|-99.31|19.64|281|N|ni gu la si luo mei luo,Niigata|niigata|JP|139.04|37.92|797|W|Nigita;niigatashi;nigata si,Niles|IL|US|-87.8|42.02|29|N|,Ningbo|zhejiang|CN|121.55|29.88|3731|W|Ninbo;Ningpo;ning bo,Nizhniy Novgorod|nizhny novgorod oblast|RU|44|56.33|1259|W|Nizhni Novgorod;Nizhny Novgorod;Nizhnii Novgorod,Noblesville|IN|US|-86.01|40.05|59|N|,Nogales|MX26|MX|-110.94|31.31|264|N|,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|,North Fort Myers|FL|US|-81.88|26.67|39|N|,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|,North Kingstown|RI|US|-71.47|41.55|28|N|,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|,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|,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|,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|Nouakchot;Nouakchat;Nouaksot,Nova Iguacu|rio de janeiro|BR|-43.45|-22.76|843|W|Nova Iguasu;Nova Iguassu;novha igvasu,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|Novasibirsk;Nowosibirsk;Novosibirs'k,Nowrangapur|odisha|IN|82.55|19.23|1220|W|Nowrangpur,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|Nuehvo-Laredo;Nuevo Laredas;nuebolaledo,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|,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 i California,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 by;Oaxaca City;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|,Odenton|MD|US|-76.7|39.08|37|N|,Odesa|odesa|UA|30.74|46.49|1010|W|Odess;Odessa;Odesse,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;Okayamashi;okayama si,Oklahoma City|OK|US|-97.52|35.47|681|NW|Oklahoma Siti;Oklahoma Ceety;Oklachoma Siti,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|,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|Omacha;Omakha,Omdurman|khartoum|SD|32.48|15.64|1849|W|Omdourman;Omdurmana;omdurmani,Omsk|omsk oblast|RU|73.37|54.99|1172|W|Omsc;Oms'k;Omska,Onitsha|anambra|NG|6.79|6.15|1553|W|Onicha;Onicjo,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|Ora;Orana;Orano,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|Ordos khot;orudosu shi,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|orando;Orlanto;Orlandas,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|Orumieh,Osaka|osaka|JP|135.5|34.69|2753|W|Osaca;Osako;Oszaka,Osasco|sao paulo|BR|-46.79|-23.53|728|W|Osasku,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|Osla;Oslu;osalo,Osogbo|osun state|NG|4.56|7.77|645|W|Oshogbo;osogabo;osogubo,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;Ota City,Ottawa|ON|CA|-75.7|45.41|1017|NW|Otawa;Ottaba;Ottava,Ottawa South|ON|CA|-75.69|45.39|125|N|,Ouagadougou|centre|BF|-1.53|12.37|2415|W|Ougadougou;Ouagadouga;Ouankantounkou,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|,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|Pachuka de Soto;pacuka de soto;pachwka dy swtw,Pacifica|CA|US|-122.49|37.61|39|N|,Padang|west sumatra|ID|100.35|-0.95|942|W|padan;Padango;pa dang,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|palmbang;Palembanq;palymbang,Palenque|MX05|MX|-91.98|17.51|42|N|,Palermo|sicily|IT|13.36|38.12|648|W|Pa\u0142ermo;Palerm;Palerma,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|pan jin shi,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|pan zhi hua;pan zhi hua shi,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|Paranaque,Parc-Extension|QC|CA|-73.63|45.53|33|N|,Paris|ile de france|FR|2.35|48.85|2138|W|Par\xE4is;Pari;Paras,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|,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|Patnao;pat na;patana,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|pekanbalu;Pekanbaroe,Pekin|IL|US|-89.64|40.57|33|N|,Pelentong|johor|MY|103.82|1.52|583|W|Pelentung,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|,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|Perem;Perma;Perme,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|Per\xFE;Pert;Perta,Perth Amboy|NJ|US|-74.27|40.51|52|N|,Peshawar|khyber pakhtunkhwa|PK|71.58|34.01|4758|W|Peshavar;Pesjawar;Peszawar,Pest|budapest|HU|19.08|47.5|1001|W|Pesht;Pesta;Peste,Petaling Jaya|selangor|MY|101.61|3.11|807|W|petalin jeya;peutallingjaya;Petaling Dzhaja,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|Philadelphie;Philadelpheia;philadelphiya,Phnom Penh|phnom penh|KH|104.92|11.56|1573|W|Phnom Pen;Phnompenh;Phnum Penh,Phoenix|AZ|US|-112.07|33.45|1650|NW|Phenix;Phoeniks,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|,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|Pietermaritsburg;Pietermaricburg;Pitermaricburg,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|Pikin,Pimpri|maharashtra|IN|73.81|18.62|1284|W|pimpari;pimpiri,Pimpri-Chinchwad|maharashtra|IN|73.8|18.62|1727|W|Pimpri-Chinchvad;Pimpri-Cincvad;Pimpri-Csincsvad,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|Pingdingsjan;Pindinshan;Pingdingsano,Pingxiang|jiangxi|CN|113.85|27.62|893|W|Pingsiang;ping xiang;Pingsjang,Pinotepa Nacional|MX20|MX|-98.05|16.34|29|N|,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|Pittsburg;Pitsburg;Pitsburga,Pittsfield|MA|US|-73.25|42.45|43|N|,Piura|piura|PE|-80.66|-5.18|630|W|Piwra;piula;pi'ura,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|planw;pleno;Planom,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 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|po'inta-noyara;poyenta-noyara,Pokhara|gandaki pradesh|NP|83.97|28.27|600|W|Pokara;Pokhar;Pokhra,Polanco|MX09|MX|-99.2|19.43|50|N|,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|pontianag;Pontijanak;Pontianakas,Port Arthur|TX|US|-93.94|29.89|55|N|,Port-au-Prince|ouest|HT|-72.34|18.54|1234|W|porta-au-prinsa;Port-o-Prins;porta-a-prinsa,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 Xarcourt;Port Harkurt;Port Kharkurt,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|,Port Said|port said|EG|32.3|31.27|780|W|Porto Said;Port Saidas;PORTSAINT,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|Portlant;Portlend;Portlando,Portland|ME|US|-70.26|43.66|66|N|,Porto Alegre|rio grande do sul|BR|-51.23|-30.03|1488|W|Porto Alegri;Porto-Alegro;Portu-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|,Prague|prague|CZ|14.42|50.09|1165|W|Pragae;Prag;Praga,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|Prayag,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|Pretori;Pretorie;Pretorii,Prince Albert|SK|CA|-105.77|53.2|35|N|,Prince Edward|ON|CA|-77.25|44|25|N|,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|,Prior Lake|MN|US|-93.42|44.71|25|N|,Progreso|MX31|MX|-89.66|21.28|37|N|,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|pu dong;Pudun;pu dong xin qu,Puducherry|puducherry|IN|79.83|11.93|657|W|Puducherri;Puduchcheri;Puduvai,Puebla|MX21|MX|-98.21|19.05|1692|NW|Puebl;Pueblo;Puehbla,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|,Pullman|WA|US|-117.18|46.73|32|N|,Pune|maharashtra|IN|73.86|18.52|3124|W|Pun;Puna;Puni,Puning|guangdong|CN|116.17|23.31|874|W|pu ning;puning si;pu ning shi,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|Putjan';pu tian;Putjen,Putuo|shanghai|CN|121.39|31.25|1239|W|pu tuo,Puxi|shanghai|CN|121.47|31.24|6683|W|pu xi,Puyallup|WA|US|-122.29|47.19|39|N|,Puyang|zhejiang|CN|119.89|29.46|3590|W|pu yang;Pujiang;Pukiang,Puyang|henan|CN|115.04|35.76|655|W|Pujang;pu yang;Pujan,Pyongyang|pyongyang|KP|125.75|39.03|3222|W|pywngyang;Pyeongyang;Pyoengyang,Qingdao|shandong|CN|120.38|36.06|7172|W|qing dao;Qingdao Shi;qing dao shi,Qingpu|shanghai|CN|121.11|31.15|1271|W|qing pu,Qingyang|gansu|CN|107.64|35.71|2125|W|qing yang;qing yang shi,Qingyuan|guangdong|CN|113.03|23.7|1738|W|qing yuan;Qingcheng;qing yuan shi,Qinhuangdao|hebei|CN|119.59|39.94|759|W|qin huang dao;qin huang dao shi,Qinzhou|guangxi|CN|108.65|21.98|1296|W|qin zhou;qin zhou shi,Qiqihar|heilongjiang|CN|123.96|47.34|882|W|Qiqihaer;Qiqiha'er;Qiqihar Shi,Qom|qom province|IR|50.88|34.64|900|W|,Quanzhou|fujian|CN|118.59|24.91|1469|W|quan zhou;Quantsjou;quan zhou shi,Quebec|QC|CA|-71.21|46.81|531|N|Quebec-su;Quebecborg;Quebecstad,Queen Creek|AZ|US|-111.63|33.25|34|N|,Queens|NY|US|-73.84|40.68|2316|NW|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|,Quezon City|national capital region|PH|121.05|14.65|3084|W|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|Quitu;Quitum,Qujing|yunnan|CN|103.78|25.48|1408|W|qu jing;qu jing shi;Qujing Hiria,Quzhou|zhejiang|CN|118.87|28.96|902|W|qu zhou;qu zhou shi,Ra's Bayrut|beirut|LB|35.48|33.9|1251|W|,Rabat|rabat sale kenitra|MA|-6.83|34.01|1655|W|Raba;Rabot;Rabata,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|Rajpur;Raypur;Raipura,Rajkot|gujarat|IN|70.79|22.29|1390|W|Radzkot;Radzhkot;rajikotto,Rajshahi|rajshahi division|BD|88.6|24.37|763|W|rajshahy;rajishahi;rajasahi,Raleigh|NC|US|-78.64|35.77|482|N|Ralei;Rali;rale,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;Rancsi;ranchy,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|,Rangpur|rangpur division|BD|89.25|25.75|1031|W|ranpuru;Rangpuras;rangapura,Rapid City|SD|US|-103.23|44.08|73|N|,Rasapudipalem|andhra pradesh|IN|83.32|17.73|1728|W|Raspari Palao,Rasht|gilan province|IR|49.59|37.28|594|W|Rast;Rasjt;Raszt,Rawalpindi|punjab|PK|73.05|33.6|3357|W|Ralalpindi;Ravalpindi;Ravalpindis,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|Recifo;Resife;Resifi,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|Rehno;Reno-Stead,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|Reinosa;Rejnosa,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|Ribejrao Preto;ribe'ira'o preto;Ribejran-Pretu,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|Rige;Rigo;Riia,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 d Janeiro;Rio de Janero;Rio de Janeiru,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|Riversaida;riversaidi;Riversajd,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|Riyad;riyada;riyado,Rizhao|shandong|CN|119.53|35.41|661|W|ri zhao;Rizhao Shi;ri zhao shi,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|,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;Romo,Rome|GA|US|-85.16|34.26|36|N|,Rome|NY|US|-75.46|43.21|32|N|,Romeoville|IL|US|-88.09|41.65|39|N|,Rosario|santa fe|AR|-60.64|-32.95|948|W|rosari'o;rosariyo;Rozariyo,Rosarito|MX02|MX|-117.05|32.36|100|N|,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 Doni \xE4\xE4res;Rostov tr\xEAn s\xF4ng \u0110\xF4ng;Rostov-an-Don,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|Roterdam;Roterdan;Roterdao,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|,Sacramento|CA|US|-121.49|38.58|524|N|Sakramento;Sakramenta;Sakraments,Sadr City|baghdad|IQ|44.46|33.39|1211|W|Sadr,Sagamihara|kanagawa|JP|139.24|35.57|720|W|saghamyhara,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|,Saint Charles|MD|US|-76.94|38.6|36|N|,Saint Clair Shores|MI|US|-82.89|42.5|59|N|,Saint Cloud|MN|US|-94.16|45.56|65|N|,Saint Cloud|FL|US|-81.28|28.25|35|N|,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|,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|,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 Joseph|MO|US|-94.85|39.77|76|N|,Saint-Laurent|QC|CA|-73.67|45.5|98|N|,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|,Saint-Michel|QC|CA|-73.62|45.57|56|N|,Saint Paul|MN|US|-93.09|44.94|303|N|saint pal;Saint Pol;santa pala,Saint Peters|MO|US|-90.63|38.8|52|N|,Saint Petersburg|st petersburg|RU|30.31|59.94|5351|W|Sant Petersburg;Saint Petersbourg;Sankt Petersburg,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|saytama,Sakai|osaka|JP|135.47|34.58|826|W|sakai si,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;Sali;Sallee,Salem|tamil nadu|IN|78.16|11.65|917|W|salm;salema;sallem,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|,Saltillo|MX07|MX|-100.98|25.43|709|NW|Saltilo;Saltil'o;saltiyo,Salvador|bahia|BR|-38.49|-12.98|2711|W|Sal'vador;Salvadora;Salvadoro,Salvatierra|MX11|MX|-100.88|20.22|37|N|,Samara|samara oblast|RU|50.14|53.21|1163|W|Samar;Samare;Samaro,Samarinda|east kalimantan|ID|117.15|-0.49|865|W|Samarynda;samalinda;sa ma rin da,Samarkand|samarqand region|UZ|66.96|39.65|595|W|Samarqand;Samarkanda;Samarkando,Sammamish|WA|US|-122.08|47.64|52|N|,San Agustin|MX14|MX|-103.47|20.55|30|N|,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|Sanantonio;San-Antonia;San Antoniyo,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 Diego|CA|US|-117.16|32.72|1404|NW|sandiego;San Diegu;San-Dieqo,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|San Franciscu;San Francisko;San Fransisco,San Francisco Acuautla|MX15|MX|-98.86|19.35|27|N|,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|,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 ose;San Xose;San-Joseo,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 Louis Potosi;San-Luis-Patasi;sanlu-iseupotosi,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 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 Nikolas de los Garza;San Nicolas de los Garzas;San Nikolas de los Garsa,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 Pedro|CA|US|-118.29|33.74|83|N|,San Pedro|MX07|MX|-102.98|25.76|48|N|,San Pedro Garza Garcia|MX19|MX|-100.4|25.66|132|N|,San Pedro Sula|cortes department|HN|-88.03|15.51|801|W|San-Pedra-Sula;san bydrw swla;San Pedro Zollan,San Rafael|CA|US|-122.53|37.97|59|N|,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|Sana;San'a;Sanao,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 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|Sangla,Sanhe|hebei|CN|117.07|39.98|965|W|san he;San-ho;San-ho-hsien,Sanmenxia|henan|CN|111.19|34.78|669|W|Sanmensja;san men xia;San-men-sia,Sanming|fujian|CN|117.62|26.25|602|W|sanmng;sanmyng;San-ming,Santa Ana|CA|US|-117.87|33.75|310|N|santaana;Santanna;saentaaena,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|,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-Krus-de-la-Sierra;Santa Kruz de la Sijera;Santa-Krus-de-la-S'erra,Santa Cruz Xoxocotlan|MX20|MX|-96.74|17.03|67|N|,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 du Ch\xB7ili;Santjago;santiyago,Santiago|MX19|MX|-100.15|25.43|36|N|,Santiago de los Caballeros|santiago province|DO|-70.69|19.45|1200|W|santyagw dls kabalyrws;Santiago,Santiago de Queretaro|MX22|MX|-100.39|20.59|1594|NW|Santiagu di Queretaro;Santjago de Keretaro;Santijago de Keretaro,Santiago Papasquiaro|MX10|MX|-105.42|25.04|26|N|,Santiago Teyahualco|MX15|MX|-99.12|19.66|53|N|,Santo Andre|sao paulo|BR|-46.54|-23.66|662|W|Santu-Andre,Santo Domingo|nacional|DO|-69.89|18.47|2201|W|Santo-Dominqo;Santa-Daminga;santodoming-go,Santo Domingo Este|santo domingo province|DO|-69.85|18.49|700|W|Santo-Domingo-Ehste;santo domingo esate;santodomingoesute,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 ya;Sanj;San'ja,Sao Bernardo do Campo|sao paulo|BR|-46.56|-23.69|840|W|San-Bernardo-du-Kampu;Sao Bernardo,Sao Jose dos Campos|sao paulo|BR|-45.89|-23.18|727|W|Sao Zhose dos Kampos;Sao Zhoze dos Kampos;sa'o jose dosa kamposa,Sao Luis|maranhao|BR|-44.3|-2.53|917|W|San Luis;Sao Luiz;Sao Louis,Sao Paulo|sao paulo|BR|-46.64|-23.55|12400|W|San Paulo;Sao Paolo;sa'o paulo,Sapporo|hokkaido|JP|141.35|43.07|1973|W|Saporo;Sapporum;Sapara,Sarajevo|federation of b h|BA|18.36|43.85|696|W|Saraevo;Sarajeva;Sarajevs,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 Springs|UT|US|-111.9|40.35|25|N|,Saratov|saratov oblast|RU|45.99|51.54|844|W|Saratof;Saratow;Saratova,Sargodha|punjab|PK|72.67|32.09|975|W|Sargoda;Sargodkha;saragodha,Sarnia|ON|CA|-82.4|42.98|72|N|,Saskatoon|SK|CA|-106.67|52.13|266|N|Saskatoun;Saskatun;saskatwn,Saugus|MA|US|-71.01|42.46|26|N|,Sault Ste. Marie|ON|CA|-84.33|46.52|72|N|,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|Seatl;Seatlo;Seattlum,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|Semaranq;semarangi;seumalang,Sendai|miyagi|JP|140.87|38.27|1096|W|Sendaj;Sendaishi;Sendai-shi,Seongnam-si|gyeonggi do|KR|127.14|37.44|914|W|seongnamsi;Seongnam,Seoul|seoul|KR|126.98|37.57|10349|W|Seol;Seul;Seoel,Sept-Iles|QC|CA|-66.38|50.2|28|N|,Serang|banten|ID|106.15|-6.12|735|W|,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|Sevila;Sebilla;Sevilha,Sewell|NJ|US|-75.14|39.77|37|N|,Shah Alam|selangor|MY|101.53|3.09|740|W|Shakh Alam;shah-alami;sha a nan,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|Shangai;shanhai;shanghay,Shangqiu|henan|CN|115.66|34.41|1859|W|Shangkiu;shang qiu;Shang-ch'iu,Shangrao|jiangxi|CN|117.94|28.45|1116|W|shangraw;shang rao;Shanzhao,Shangyu|zhejiang|CN|120.87|30.02|770|W|shang yu;shang yu qu;shang yu shi,Shantou|guangdong|CN|116.68|23.35|3838|W|Shantow;Shan'tou;shantw,Shaoguan|guangdong|CN|113.58|24.8|1028|W|shao guan;Shaokwan;shawgwan,Shaoxing|zhejiang|CN|120.58|30|2300|W|Shaohing;Shaosing;shao xing,Shaoyang|hunan|CN|111.46|27.24|753|W|Shaojang;shawyang;shao yang,Sharjah|sharjah|AE|55.41|25.33|1800|W|Sharja;sharjh;Sharijah,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|Sheikhupura;Shekkhupura;Sheikhu Pura,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|Shenyan;shnyang;Shenjang,Shenzhen|guangdong|CN|114.07|22.55|17494|W|Shenzen;shen zhen;Shendzen,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|Shihjiazhuang;shi jia zhuang;Shizhjazhuan,Shiraz|fars|IR|52.53|29.61|1249|W|Shyraz;shirazi;shirazu,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|Shijan';shyyan;shi yan,Shizuishan|ningxia|CN|106.39|38.98|739|W|shi zui shan shi,Shizuoka|shizuoka|JP|138.38|34.98|693|W|Shidzuoka;Shizuokashi;Shizuoka-shi,Sholapur|maharashtra|IN|75.91|17.67|997|W|,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|Shuangjashan;shwangyashan;Shuanujashan',Shubra al Khaymah|qalyubia|EG|31.25|30.13|1240|W|Shubra al-Khayma;Shubra el-Kheima;shbra alkhymt,Shymkent|shymkent|KZ|69.6|42.31|1200|W|Sh\u0131mkent;shymknt;Shimkent,Sialkot|punjab|PK|74.53|32.49|911|W|Sialkote;Sijalkot;Sialkotas,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|,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|Singapur;Singapour;Singapura,Sioux City|IA|US|-96.4|42.5|82|N|,Sioux Falls|SD|US|-96.73|43.54|171|N|,Situbondo|east java|ID|114.01|-7.71|685|W|Situbando;Sitoebondo;Sitoebanda,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|Soachu,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|Sofi;Sofie;Sofii,Sokoto|sokoto|NG|5.24|13.06|1040|W|Sokotas;sokweto;Sokoto stad,Soledad|CA|US|-121.33|36.42|25|N|,Soledad de Graciano Sanchez|MX24|MX|-100.94|22.19|332|N|Soledad Diez Gutierrez;Soledad de Diez Gutierrez;Soledad Diaz Gutierrez,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|song jiang;Songjiang Qu;song jiang qu,Sorel-Tracy|QC|CA|-73.11|46.04|41|N|,Sorocaba|sao paulo|BR|-47.46|-23.5|762|W|Sorokaba,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|,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|South Tangerang City,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|,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|Soueto;Soveto;soyeto,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|Srinigar;Srynagar;Srinagaro,St. Albert|AB|CA|-113.64|53.63|57|N|,St. Catharines|ON|CA|-79.24|43.17|136|N|,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|,St. Johns|FL|US|-81.55|30.08|40|N|,St. Louis|MO|US|-90.2|38.63|279|N|,St. Petersburg|FL|US|-82.68|27.77|257|N|,St. Thomas|ON|CA|-81.18|42.77|38|N|,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|,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|Stockolm;Stokholm;Stoccholm,Stockton|CA|US|-121.29|37.96|305|N|Stokton;Stoktn;Stoktono,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|Stuggart;Stutqart;Stutgarte,Subang Jaya|selangor|MY|101.58|3.04|708|W|subangjaya;Subang Dzhaja,Suez|suez|EG|32.53|29.97|699|W|Suec;Sues;Suezi,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|sui ning;Sujnin;Suynin,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|,Suizhou|hubei|CN|113.36|31.71|618|W|sui zhou;Suichow;Sui-ciu,Sulaymaniyah|sulaymaniyah|IQ|45.43|35.56|878|W|S\xFCleymaniye;Sulaimaniya;Sulaymaniyya,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|su qian shi,Surabaya|east java|ID|112.75|-7.25|3018|W|Surabaia;Surabaja;sulabaya,Surat|gujarat|IN|72.83|21.2|4591|W|Surate;Surato;surata,Surprise|AZ|US|-112.33|33.63|143|N|,Surrey|BC|CA|-122.83|49.11|568|N|Surrej;Suri,Surrey City Centre|BC|CA|-122.85|49.19|33|N|,Suwon|gyeonggi do|KR|127.01|37.29|1234|W|Suvon;suwxn;suwoni,Suzhou|jiangsu|CN|120.6|31.3|6715|W|Sudzhou;su zhou;suzu,Suzhou|anhui|CN|116.98|33.64|1647|W|Suchzhou;su zhou shi,Sydney|new south wales|AU|151.21|-33.87|5638|W|sydny;Syd;Sydneium,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|,Syracuse|UT|US|-112.06|41.09|27|N|,Ta'if|mecca region|SA|40.42|21.27|688|W|Taif;Tayif;ta'ifa,Tabriz|east azerbaijan|IR|46.29|38.08|1424|W|Tabrez;Tabris;Tabrizo,Tabuk|tabuk region|SA|36.57|28.4|667|W|Tabouk;Tabuuk;Taebuk,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|Tagig,Tai'an|shandong|CN|117.12|36.19|1735|W|Taianfu;tai an shi,Taicang|jiangsu|CN|121.09|31.45|831|W|tai cang;Taicang Shi;tai cang shi,Taichung|taiwan|TW|120.68|24.15|2850|W|Taychun;Taizhong;Taicungas,Tainan|taiwan|TW|120.21|22.99|1856|W|tai nan;Tainanas;tainan si,Taipei|taiwan|TW|121.53|25.05|7871|W|Taipe;Taipeh;taibei,Taiyuan|shanxi|CN|112.56|37.87|4303|W|Taijuan;Tayyuan;tai yuan,Taiz|ta izz|YE|44.02|13.58|940|W|Taizi;Taizz;taizu,Taizhou|jiangsu|CN|119.91|32.49|1607|W|tai zhou;Taichow;Tajdzhou,Taizhou|zhejiang|CN|121.43|28.66|1485|W|tai zhou;Taitsjou;Tajchzhou,Takeo|takeo|KH|104.78|10.99|843|W|Takev;take'o;takeyo,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|Tampo;tamba;taempa,Tampico|MX28|MX|-97.88|22.29|309|N|Tampiko;Tampika;tampykw,Tangerang|banten|ID|106.63|-6.18|1927|W|tangeran;tangrang;Tangarang,Tangier|tanger tetouan al hoceima|MA|-5.8|35.77|1035|W|Tanger;Tangiers;Tanjer,Tangshan|hebei|CN|118.18|39.64|3372|W|Tangsan;Tanshan;tang shan,Tanta|gharbia|EG|31|30.79|576|W|Tanda,Tantoyuca|MX30|MX|-98.23|21.35|30|N|,Tapachula|MX05|MX|-92.26|14.91|353|N|Tapacula;Tapachule;tapachwla,Tashkent|tashkent|UZ|69.22|41.26|1978|W|Tashken;Taskent;Tachkent,Tasikmalaya|west java|ID|108.22|-7.33|770|W|Tasikmalaja;Tasikmalaya kutha,Taunton|MA|US|-71.09|41.9|56|N|,Taxco de Alarcon|MX12|MX|-99.61|18.55|50|N|,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|Tbilis;Tbilsi;Tblisi,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|,Tecoman|MX08|MX|-103.88|18.92|85|N|,Tegucigalpa|francisco morazan department|HN|-87.21|14.08|850|W|Tegucigalpo;Tegusigalpa;Teguzigalpa,Tehran|tehran|IR|51.42|35.69|7153|W|Teheran;Tehrano;teharan,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|,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|,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|Tepik;tepig;tepika,Tepotzotlan|MX15|MX|-99.22|19.72|38|N|,Tequila|MX14|MX|-103.84|20.88|29|N|,Tequisquiapan|MX22|MX|-99.89|20.52|29|N|,Teresina|piaui|BR|-42.8|-5.09|871|W|Terezina;terejina;Tehrehzina,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|,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|Than Hoa;thanha ho'a;thantha hoya,The Acreage|FL|US|-80.27|26.79|38|N|,The Bronx|NY|US|-73.87|40.85|1385|NW|,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|,Thetford-Mines|QC|CA|-71.31|46.09|25|N|,Thiruvananthapuram|kerala|IN|76.95|8.49|788|W|,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|Tianjing;tian jin;tiyanjin,Tianshui|gansu|CN|105.74|34.58|1212|W|tian shui;tian shui shi,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|Tihuana;Tijuano;Tixuana,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|Tiruchirappal\xB7li;Tiruchirapalli;Tiruccirappalli,Tirunelveli|tamil nadu|IN|77.68|8.73|1435|W|Tirunelweli;tirunelaveli;tirunalaveli,Tiruppur|tamil nadu|IN|77.35|11.12|963|W|Tirupur;tiruppura;tiruppuru,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|,Tlajomulco de Zuniga|MX14|MX|-103.45|20.47|30|N|,Tlalnepantla|MX15|MX|-99.2|19.54|653|NW|tlal ni ph\xE6n tla;Tlalnepantla de baz;Tlanepantla de baz,Tlalpan|MX09|MX|-99.16|19.3|574|N|Tlalpam,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|Tlakepake;tlakwpakw,Tlaxcala|MX29|MX|-98.24|19.32|84|N|,Tokyo|tokyo|JP|139.69|35.69|9733|W|Tokio;toki'o;tokkiyo,Toledo|OH|US|-83.56|41.66|265|N|Tolido;toredo,Toluca|MX15|MX|-99.65|19.29|489|N|Toluka;Tolouka;tolluka,Tolyatti|samara oblast|RU|49.35|53.53|702|W|Tolyati;Toliatti;Toljatti,Toms River|NJ|US|-74.2|39.95|88|N|,Tonala|MX14|MX|-103.24|20.62|408|N|Tonallan,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|Torontu;toranto;toronito,Torrance|CA|US|-118.34|33.84|143|N|,Torreon|MX07|MX|-103.42|25.54|735|NW|Toreon;Toreonas,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|Tripo\u0142i;Tripol;Triboli,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|trujilo;Troxillo;Truhillu,Trumbull|CT|US|-73.2|41.24|36|N|,Tshikapa|kasai|CD|20.8|-6.42|634|W|tsuikapa;tshykaba,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|Tuson;Tuczon;Tugson,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|,Tulare|CA|US|-119.35|36.21|62|N|,Tulsa|OK|US|-95.99|36.15|413|N|tu er sa,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|Tunes;Tuniz;Tunus,Tupelo|MS|US|-88.7|34.26|35|N|,Turin|piedmont|IT|7.69|45.07|847|W|T\xFCr\xEC;Turen;Turim,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|,Tuxpan|MX14|MX|-103.38|19.56|27|N|,Tuxtepec|MX20|MX|-96.13|18.09|159|N|,Tuxtla|MX05|MX|-93.12|16.75|604|NW|Tustla;Tuxtla Gtz;tukisitila,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|Tyoumen;Tyumeny;tyumena,Uberlandia|minas gerais|BR|-48.28|-18.92|754|W|Uberlandija;uberlandiya;uberuranjia,UEruemqi|xinjiang|CN|87.6|43.8|3029|W|UEruemci;UEruemcsi;UEruemchi-su,Ufa|bashkortostan republic|RU|55.97|54.74|1120|W|Uffa,Ulan Bator|ulaanbaatar|MN|106.88|47.91|844|W|Ula Bator;Ulanbator;Ulan Batur,Ulsan|ulsan|KR|129.32|35.54|1098|W|Ul'san;Ulsano;ulasana,Ulyanovsk|ulyanovsk|RU|48.39|54.33|626|W|Ulanovsk;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|,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|Vadadara;Vadodaro;varodara,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|Valencio;Valensia;Valentia,Valencia|valencia|ES|-0.38|39.47|824|W|Valencie;Valencio;Valensia,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;Vankuver;Vanguve,Vancouver|WA|US|-122.66|45.64|196|N|,Varanasi|uttar pradesh|IN|83.01|25.32|1164|W|varanaci;Varanasio;Varanasis,Vaudreuil-Dorion|QC|CA|-74.03|45.4|25|N|,Vaughan|ON|CA|-79.5|43.84|323|N|Vauno,Venice|CA|US|-118.46|33.99|40|N|,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|Verakruz;Verakrus;Verakrusas,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 City,Victoria|BC|CA|-123.35|48.44|289|N|Viktoria;Viktori;Viktorija,Victoria|TX|US|-97|28.81|67|N|,Victoria de Durango|MX10|MX|-104.66|24.02|518|N|Viktorija de Durango,Victoria-Downtown|BC|CA|-123.36|48.43|46|N|,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;Vienne;Vien,Vientiane|vientiane prefecture|LA|102.6|17.97|840|W|Vieng-C\xE6n;Vientane;Vientian,Vijayawada|andhra pradesh|IN|80.65|16.51|1143|W|Vijayavada;Vijajauada;vijaiavada,Villa Nueva|guatemala|GT|-90.59|14.53|618|W|Vilja Nueva;Viljanueva;Vil'ja-Nuehva,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|Viljahermosa;Villa Hermosa;Vilaermosa,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|Vin;vina;vinha,Virar|maharashtra|IN|72.81|19.46|1222|W|,Virginia Beach|VA|US|-75.98|36.85|454|N|Vijini Beach;Virginian Bch;Virginija-Bich,Visakhapatnam|andhra pradesh|IN|83.2|17.68|1063|W|Vishakhapatnam;Vishakapatnam;Visakhapatnamas,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;Vladivostoka;vladivastak,Volgograd|volgograd oblast|RU|44.5|48.71|1013|W|Volgograda;Volgogrado;volgogradi,Voronezh|voronezh oblast|RU|39.19|51.67|1047|W|Voronez;Voroneza;Voronezj,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|Wanshien;Wan;Wan-Hsien,Wanzhou|chongqing|CN|108.4|30.76|1545|W|wan zhou qu,Warangal|telangana|IN|79.58|18|704|W|warangl;warangala;warangaru,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|wari;wary,Warsaw|mazovia|PL|21.01|52.23|1702|W|warsw;Warsawa;Warszaw,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|Waszyngton;Washington DC;Washington D. C.,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|wei fang;Wej-fang;Wei,Weihai|shandong|CN|122.11|37.51|844|W|wei hai;weihai si;Wej-chaj,Weinan|shaanxi|CN|109.51|34.5|1199|W|wei nan;Wej-nan;weinan si,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 zhou;Wen-cou;Wenchow,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 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|,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|,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|,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|,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 Vancouver|BC|CA|-123.16|49.33|45|N|,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|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|,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|wichito;wi chi thx,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|winipeg;win ni phek;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|Wroc\u0142aw;Wroc\u0142ow;Wros\u0142aw,Wuhan|hubei|CN|114.27|30.58|10392|W|wu han;Wu-chan;Wuhan Shi,Wuhu|anhui|CN|118.43|31.35|1598|W|wu hu;Wu-chu;Wuhu Shi,Wuwei|gansu|CN|102.63|37.93|1010|W|wu wei;Wuwei Shi;wu wei shi,Wuxi|jiangsu|CN|120.29|31.57|4396|W|wu xi;Wuxi Shi;wu xi shi,Wuzhong|ningxia|CN|106.2|37.99|7202|W|wu zhong;Wuzhong Xian;Wuzhong Zhen,Wuzhou|guangxi|CN|111.29|23.48|761|W|wu zhou;Wuchow;Wu-chou,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-Enriquez;Xalapa,Xalisco|MX18|MX|-104.9|21.44|35|N|,Xenia|OH|US|-83.93|39.68|25|N|,Xi'an|shaanxi|CN|108.93|34.26|9600|W|Xian;Xi'an Shi;Xi'an - xi an,Xiamen|fujian|CN|118.08|24.48|4617|W|Xiamen Shi;Xiamen City;Xiamen - sha men,Xiangtan|hunan|CN|112.9|27.85|959|W|xiang tan;Xiangtan Shi;xiang tan shi,Xiangyang|hubei|CN|112.14|32.04|1294|W|xiang yang;Xiangfan;Xiangyangfu,Xianyang|shaanxi|CN|108.7|34.34|1034|W|xian yang;Xianyang Shi;xian yang shi,Xiaogan|hubei|CN|113.92|30.93|908|W|xiao gan;xiao gan shi,Xico|MX15|MX|-98.95|19.27|384|N|,Xicotepec de Juarez|MX21|MX|-97.96|20.28|39|N|,Xingtai|hebei|CN|114.49|37.06|798|W|xing tai;xing tai shi,Xining|qinghai|CN|101.76|36.63|1677|W|xi ning;Xining Shi;xi ning shi,Xinxiang|henan|CN|113.8|35.19|1047|W|xin xiang shi,Xinyang|henan|CN|114.07|32.12|1230|W|xin yang;xin yang shi,Xinyu|jiangxi|CN|114.93|27.8|839|W|xin yu;Xinyu Shi;xin yu shi,Xochimilco|MX09|MX|-99.1|19.25|442|N|,Xuancheng|anhui|CN|118.76|30.95|774|W|Xuanzhou;xuan cheng shi,Xuchang|henan|CN|113.86|34.03|1265|W|xu chang shi,Xuhui|shanghai|CN|121.45|31.2|1109|W|xu hui,Xuzhou|jiangsu|CN|117.28|34.2|1253|W|xu zhou;xu zhou shi,Ya'an|sichuan|CN|103|29.99|612|W|Ya-chou;ya an shi;Ya-an-shih,Yakima|WA|US|-120.51|46.6|93|N|,Yancheng|jiangsu|CN|120.16|33.36|1615|W|yanchng;yan cheng;Yancheng City,Yangjiang|guangdong|CN|111.96|21.86|1292|W|yang jiang;yang jyang;yangzhyang,Yangon|yangon|MM|96.16|16.81|4477|W|Yanqon;yangwn;yankon,Yangpu|shanghai|CN|121.52|31.26|1210|W|yang pu,Yangquan|shanxi|CN|113.56|37.86|731|W|yang quan;yangkwan;yangchwan,Yangzhou|jiangsu|CN|119.44|32.4|1584|W|yang zhou;yangzhw;Yangchow,Yantai|shandong|CN|121.44|37.48|2227|W|yantay;yan tai;yantayy,Yaounde|centre|CM|11.52|3.87|1299|W|Yaunde;Yawunde;ya'unde,Yarmouth|MA|US|-70.23|41.71|25|N|,Yaroslavl|yaroslavl oblast|RU|39.87|57.63|608|W|yaroslava;yarwslafl;yarwslawl,Yautepec|MX17|MX|-99.07|18.88|105|N|,Yekaterinburg|sverdlovsk oblast|RU|60.62|56.86|1495|W|Yekaterinburq;yekaterinabarga;yekaterinabaraga,Yerevan|yerevan|AM|44.51|40.18|1144|W|yerevana;yere wan;yerevhana,Yibin|sichuan|CN|104.64|28.76|836|W|yi bin;Yibin Shi;yi bin shi,Yichang|hubei|CN|111.28|30.71|1350|W|yi chang;yi chang shi,Yichun|jiangxi|CN|114.4|27.83|1045|W|yi chun;Yichun Shi;yi chun shi,Yinchuan|ningxia|CN|106.27|38.47|1487|W|yin chuan;yinacu'ana;yinicuwani,Yingkou|liaoning|CN|122.23|40.66|591|W|Yingkow;ying kou;Yingkou Shi,Yiwu|zhejiang|CN|120.08|29.32|1481|W|yi wu;Yiwuhsien;yi wu xian,Yixing|jiangsu|CN|119.82|31.36|1285|W|Yicheng;yi cheng;Yixing Shi,Yokohama|kanagawa|JP|139.65|35.43|3777|W|Yokohamashi;yokohama si;Yokohama-shi,Yongzhou|hunan|CN|111.61|26.42|1020|W|yong zhou;yong zhou shi,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|,Yucaipa|CA|US|-117.04|34.03|53|N|,Yueyang|hunan|CN|113.09|29.37|991|W|yue yang shi,Yukon|OK|US|-97.76|35.51|25|N|,Yulin|guangxi|CN|110.15|22.63|1056|W|yu lin;yu lin shi;Yu-lin-chen,Yuma|AZ|US|-114.62|32.73|95|N|,Yuncheng|shanxi|CN|110.99|35.02|680|W|yun cheng;Yun'chen;Yuncheng Shi,Yunfu|guangdong|CN|112.04|22.93|2612|W|yun fu;Yun-fou;yun fu shi,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|,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|zagrb;Zagrab;Zagrep,Zamboanga|zamboanga peninsula|PH|122.07|6.91|1018|W|Zamboanga City;Zamboanga Lakanbalen,Zamora de Hidalgo|MX16|MX|-102.29|19.98|186|N|,Zanesville|OH|US|-82.01|39.94|25|N|,Zanzibar|zanzibar urban west|TZ|39.2|-6.16|709|W|Zanjibar;Zanzibaro;zanzibari,Zaozhuang|shandong|CN|117.55|34.86|899|W|zao zhuang;zawzhwang;zao zhuang shi,Zapopan|MX14|MX|-103.39|20.72|1476|NW|zapwpan khalyskw,Zaporizhzhya|zaporizhzhia|UA|35.12|47.85|710|W|Zaporizhzhia;Zaporizza;Zaporizhja,Zapotlanejo|MX14|MX|-103.07|20.62|32|N|,Zaragoza|aragon|ES|-0.88|41.66|686|W|Zargoza;Zaragosa,Zaria|kaduna state|NG|7.72|11.11|980|W|Zarja;zarya;Zarija,Zarqa|zarqa|JO|36.09|32.07|792|W|Zarka;zaruka,Zhabei|shanghai|CN|121.46|31.26|840|W|zha bei,Zhangjiagang|jiangsu|CN|120.54|31.86|1432|W|zhang jia gang;Zhangjiagang Shi;zhang jia gang shi,Zhangjiakou|hebei|CN|114.87|40.78|692|W|zhang jia kou;zhangjyakww;zhang jia kou shi,Zhangzhou|fujian|CN|117.66|24.51|589|W|zhang zhou;zhangzhw;Zhangtsjou,Zhanjiang|guangdong|CN|110.39|21.23|1400|W|zhan jiang;Zhanjiang Shi;zhan jiang shi,Zhaoqing|guangdong|CN|112.46|23.05|1553|W|zhao qing;zhawchng;zhawkyng,Zhaotong|yunnan|CN|103.72|27.32|787|W|zhao tong;zhawtwng;zhao tong shi,Zhengzhou|henan|CN|113.65|34.76|4253|W|zheng zhou;zhngzhw;Zhengtsjou,Zhenjiang|jiangsu|CN|119.46|32.21|950|W|zhen jiang;Zhenjiang Shi;zhen jiang shi,Zhongshan|guangdong|CN|113.38|22.52|3841|W|zhong shan;Zhongshan Shi;zhong shan shi,Zhongwei|ningxia|CN|105.19|37.51|1174|W|zhong wei;zhwngwyy;Zhongwei Shi,Zhoushan|zhejiang|CN|122.2|29.99|882|W|zhou shan;Zhoushan Shi;zhou shan shi,Zhu Cheng City|shandong|CN|119.4|36|1000|W|,Zhuhai|guangdong|CN|113.57|22.28|2207|W|zhu hai;zhu hai shi,Zhumadian|henan|CN|114.03|32.98|721|W|zhu ma dian;zhu ma dian shi,Zhuzhou|hunan|CN|113.15|27.83|1129|W|zhu zhou;Zhutsjou;Zhuzhou Shi,Zibo|shandong|CN|118.06|36.79|3129|W|zi bo;zi bo shi,Zigong|sichuan|CN|104.78|29.34|1262|W|zi gong;zi gong shi,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|zi yang shi,Zumpango|MX15|MX|-99.1|19.8|280|N|Zumpango de Ocampo;Zumpango-de-Okampo,Zunyi|guizhou|CN|106.91|27.69|2037|W|Zunji;zun yi;zun yi shi";
|
|
166
|
+
var w = "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 R = "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 v = "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
|
+
function S(a) {
|
|
170
|
+
return a.normalize("NFD").replace(/\p{Diacritic}/gu, "").toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
171
|
+
}
|
|
172
|
+
var K = "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";
|
|
173
|
+
var A = (() => {
|
|
174
|
+
let a = /* @__PURE__ */ new Map();
|
|
175
|
+
for (let e of K.split(",")) {
|
|
176
|
+
let [n, i] = e.split(" ");
|
|
177
|
+
n && i && a.set(n, i);
|
|
178
|
+
}
|
|
179
|
+
return a;
|
|
180
|
+
})();
|
|
181
|
+
var f = new Set(A.keys());
|
|
182
|
+
var F = new Set(A.values());
|
|
183
|
+
var E = ["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"];
|
|
184
|
+
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" };
|
|
185
|
+
var m = null;
|
|
186
|
+
function Y() {
|
|
187
|
+
if (m) return m;
|
|
188
|
+
let a = /* @__PURE__ */ new Map(), e = ["en", ...E.filter((n) => n !== "en")];
|
|
189
|
+
for (let n of e) {
|
|
190
|
+
let i = null;
|
|
191
|
+
try {
|
|
192
|
+
i = new Intl.DisplayNames([n], { type: "region" });
|
|
193
|
+
} catch {
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
for (let [o, l] of A) {
|
|
197
|
+
let N;
|
|
198
|
+
try {
|
|
199
|
+
N = i.of(o);
|
|
200
|
+
} catch {
|
|
201
|
+
N = void 0;
|
|
202
|
+
}
|
|
203
|
+
if (!N || N === o) continue;
|
|
204
|
+
let r = S(N);
|
|
205
|
+
r && !a.has(r) && a.set(r, l);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
for (let [n, i] of Object.entries(V)) {
|
|
209
|
+
let o = S(n);
|
|
210
|
+
o && a.set(o, i);
|
|
211
|
+
}
|
|
212
|
+
return m = a, a;
|
|
213
|
+
}
|
|
214
|
+
function y(a) {
|
|
215
|
+
return A.get(String(a || "").trim().toUpperCase()) ?? null;
|
|
216
|
+
}
|
|
217
|
+
function O(a) {
|
|
218
|
+
if (a == null) return null;
|
|
219
|
+
let e = String(a).trim();
|
|
220
|
+
if (!e) return null;
|
|
221
|
+
let n = e.toUpperCase();
|
|
222
|
+
return n.length === 3 && F.has(n) ? n : n.length === 2 && f.has(n) ? A.get(n) ?? null : Y().get(S(e)) ?? null;
|
|
223
|
+
}
|
|
224
|
+
var j = { "north-america": "N", world: "W" };
|
|
225
|
+
var X = null;
|
|
226
|
+
function T() {
|
|
227
|
+
if (X) return X;
|
|
228
|
+
let a = /* @__PURE__ */ new Map(), e = (n, i) => {
|
|
229
|
+
if (!n) return;
|
|
230
|
+
let o = a.get(n);
|
|
231
|
+
o ? o.includes(i) || o.push(i) : a.set(n, [i]);
|
|
232
|
+
};
|
|
233
|
+
for (let n of I.split(",")) {
|
|
234
|
+
let i = n.split("|");
|
|
235
|
+
if (i.length < 7) continue;
|
|
236
|
+
let o = { a1: i[1], cc: i[2], lon: +i[3], lat: +i[4], pop: +i[5], kinds: i[6] || "N" };
|
|
237
|
+
if (e(S(i[0]), o), i.length > 7 && i[7]) for (let l of i[7].split(";")) e(S(l), o);
|
|
238
|
+
}
|
|
239
|
+
for (let n of a.values()) n.sort((i, o) => o.pop - i.pop);
|
|
240
|
+
return X = a, a;
|
|
241
|
+
}
|
|
242
|
+
var J = 200;
|
|
243
|
+
var k = null;
|
|
244
|
+
function x() {
|
|
245
|
+
if (k) return k;
|
|
246
|
+
let a = /* @__PURE__ */ new Map();
|
|
247
|
+
for (let [e, n] of T()) {
|
|
248
|
+
if (!e.endsWith(" city")) continue;
|
|
249
|
+
let i = e.slice(0, -5);
|
|
250
|
+
!i || T().has(i) || n[0].pop < J || a.set(i, n);
|
|
251
|
+
}
|
|
252
|
+
return k = a, a;
|
|
253
|
+
}
|
|
254
|
+
function G(a) {
|
|
255
|
+
if (a) return T().get(a) ?? x().get(a);
|
|
256
|
+
}
|
|
257
|
+
var b = null;
|
|
258
|
+
function Z() {
|
|
259
|
+
if (b) return b;
|
|
260
|
+
let a = /* @__PURE__ */ new Map();
|
|
261
|
+
for (let e of v.split(",")) {
|
|
262
|
+
let n = e.split("|");
|
|
263
|
+
n.length < 3 || a.set(n[0], { lon: +n[1], lat: +n[2] });
|
|
264
|
+
}
|
|
265
|
+
return b = a, a;
|
|
266
|
+
}
|
|
267
|
+
var p = null;
|
|
268
|
+
function P() {
|
|
269
|
+
if (p) return p;
|
|
270
|
+
let a = /* @__PURE__ */ new Map();
|
|
271
|
+
for (let e of w.split(",")) {
|
|
272
|
+
let n = e.split("|");
|
|
273
|
+
if (n.length < 5) continue;
|
|
274
|
+
let i = { key: n[0], cc: n[1], name: n[2], lon: +n[3], lat: +n[4] };
|
|
275
|
+
a.set(S(i.key), i);
|
|
276
|
+
let o = S(i.name);
|
|
277
|
+
o === "mexico" && i.cc === "MX" ? (a.set("estado de mexico", i), a.set("edomex", i)) : a.set(o, i);
|
|
278
|
+
}
|
|
279
|
+
return p = a, a;
|
|
280
|
+
}
|
|
281
|
+
var L = null;
|
|
282
|
+
function Q() {
|
|
283
|
+
if (L) return L;
|
|
284
|
+
let a = /* @__PURE__ */ new Map();
|
|
285
|
+
for (let e of R.split(",")) {
|
|
286
|
+
let n = e.split("|");
|
|
287
|
+
n.length < 3 || a.set(n[0], { lon: +n[1], lat: +n[2] });
|
|
288
|
+
}
|
|
289
|
+
return L = a, a;
|
|
290
|
+
}
|
|
291
|
+
function z(a) {
|
|
292
|
+
if (a == null) return null;
|
|
293
|
+
let e = S(String(a));
|
|
294
|
+
return e ? P().get(e)?.key ?? null : null;
|
|
295
|
+
}
|
|
296
|
+
function _(a) {
|
|
297
|
+
return P().get(S(a))?.cc ?? null;
|
|
298
|
+
}
|
|
299
|
+
function $(a) {
|
|
300
|
+
let e = _(a);
|
|
301
|
+
return e ? y(e) : null;
|
|
302
|
+
}
|
|
303
|
+
function D(a) {
|
|
304
|
+
if (a == null) return [];
|
|
305
|
+
let e = String(a).trim().replace(/\.0+$/, "");
|
|
306
|
+
if (!e) return [];
|
|
307
|
+
let n = /^(\d{5})(-\d{4})?$/.exec(e);
|
|
308
|
+
if (n) return [n[1].slice(0, 3)];
|
|
309
|
+
if (/^\d{4}$/.test(e)) return [e.padStart(5, "0").slice(0, 3)];
|
|
310
|
+
if (/^\d{3}$/.test(e)) {
|
|
311
|
+
let i = e.padStart(5, "0").slice(0, 3);
|
|
312
|
+
return i === e ? [e] : [e, i];
|
|
313
|
+
}
|
|
314
|
+
return [];
|
|
315
|
+
}
|
|
316
|
+
function aa(a) {
|
|
317
|
+
return !!a && a.ambiguous === true && !("precision" in a);
|
|
318
|
+
}
|
|
319
|
+
function na(a) {
|
|
320
|
+
let e = null, n = typeof a.lat == "string" ? a.lat.trim() : a.lat, i = typeof a.lon == "string" ? a.lon.trim() : a.lon;
|
|
321
|
+
if (n != null && n !== "" && i !== void 0 && i !== null && i !== "") {
|
|
322
|
+
let N = +n, r = +i;
|
|
323
|
+
if (isFinite(N) && isFinite(r) && N >= -90 && N <= 90 && r >= -180 && r <= 180) if (N === 0 && r === 0) e = { lat: 0, lon: 0, precision: "latlon" };
|
|
324
|
+
else return { lat: N, lon: r, precision: "latlon" };
|
|
325
|
+
}
|
|
326
|
+
let o = O(a.country), l = z(a.state);
|
|
327
|
+
if (l && o && $(l) !== o && (l = null), a.city !== void 0 && a.city !== null) {
|
|
328
|
+
let N = S(String(a.city)), r = j[a.mapKind || "north-america"] ?? "N", M2 = G(N);
|
|
329
|
+
if (M2) {
|
|
330
|
+
let U = a.state === void 0 || a.state === null ? "" : String(a.state).trim(), c = U ? S(U) : "", d2 = U ? z(U) : null, g = [], C2 = -1;
|
|
331
|
+
for (let t of M2) {
|
|
332
|
+
if (!t.kinds.includes(r)) continue;
|
|
333
|
+
let u = 0;
|
|
334
|
+
if (U && t.a1 !== "") if (d2 && t.a1 === d2 || S(t.a1) === c) u++;
|
|
335
|
+
else continue;
|
|
336
|
+
if (o) if (y(t.cc) === o) u++;
|
|
337
|
+
else continue;
|
|
338
|
+
u > C2 ? (C2 = u, g = [t]) : u === C2 && g.push(t);
|
|
339
|
+
}
|
|
340
|
+
let s = /* @__PURE__ */ new Map();
|
|
341
|
+
for (let t of g) s.set(t.lon.toFixed(2) + "," + t.lat.toFixed(2), t);
|
|
342
|
+
if (s.size === 1) {
|
|
343
|
+
let t = g[0];
|
|
344
|
+
return { lat: t.lat, lon: t.lon, precision: "city" };
|
|
345
|
+
}
|
|
346
|
+
if (s.size > 1) return { ambiguous: true, matches: s.size };
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
for (let N of D(a.zip)) {
|
|
350
|
+
let r = Q().get(N);
|
|
351
|
+
if (r) return { lat: r.lat, lon: r.lon, precision: "zip3" };
|
|
352
|
+
}
|
|
353
|
+
if (l) {
|
|
354
|
+
let N = P().get(S(l));
|
|
355
|
+
if (N) return { lat: N.lat, lon: N.lon, precision: "state" };
|
|
356
|
+
}
|
|
357
|
+
if (o) {
|
|
358
|
+
let N = Z().get(o);
|
|
359
|
+
if (N) return { lat: N.lat, lon: N.lon, precision: "country" };
|
|
360
|
+
}
|
|
361
|
+
return e;
|
|
362
|
+
}
|
|
363
|
+
var W = { latlon: 0, city: 1, zip3: 2, state: 3, country: 4 };
|
|
364
|
+
var H = 8;
|
|
365
|
+
function sa(a, e) {
|
|
366
|
+
let n = new Array(a.length), i = new Array(a.length), o = /* @__PURE__ */ new Set(), l = [], N = /* @__PURE__ */ new Set(), r = [], M2 = /* @__PURE__ */ new Set(), U = [], c = { latlon: 0, city: 0, zip3: 0, state: 0, country: 0 }, d2 = 0, g = 0, C2 = null;
|
|
367
|
+
for (let s = 0; s < a.length; ++s) {
|
|
368
|
+
let t = a[s], u = na({ ...t, mapKind: e });
|
|
369
|
+
if (aa(u)) {
|
|
370
|
+
n[s] = null, i[s] = null, g++;
|
|
371
|
+
let h = B(t);
|
|
372
|
+
h && !M2.has(h.toLowerCase()) && (M2.add(h.toLowerCase()), U.length < H && U.push(h));
|
|
373
|
+
} else if (u) {
|
|
374
|
+
if (n[s] = u.lat, i[s] = u.lon, d2++, c[u.precision]++, (C2 === null || W[u.precision] > W[C2]) && (C2 = u.precision), W[u.precision] > W.city) {
|
|
375
|
+
let h = B(t);
|
|
376
|
+
h && !N.has(h.toLowerCase()) && (N.add(h.toLowerCase()), r.length < H && r.push(h));
|
|
377
|
+
}
|
|
378
|
+
} else {
|
|
379
|
+
n[s] = null, i[s] = null;
|
|
380
|
+
let h = B(t);
|
|
381
|
+
h && !o.has(h.toLowerCase()) && (o.add(h.toLowerCase()), l.push(h));
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
return { lat: n, lon: i, precision: C2, precisionCounts: c, coarseExamples: r, unmatched: l, ambiguousRows: g, ambiguousExamples: U, matchedRows: d2, totalRows: a.length };
|
|
385
|
+
}
|
|
386
|
+
function B(a) {
|
|
387
|
+
return [a.city, a.state, a.zip, a.country].filter((e) => e != null && String(e).trim() !== "").map((e) => String(e).trim()).join(", ");
|
|
388
|
+
}
|
|
389
|
+
function ia(a, e) {
|
|
390
|
+
if (!a) return false;
|
|
391
|
+
let n = G(a);
|
|
392
|
+
if (!n) return false;
|
|
393
|
+
let i = j[e || "north-america"] ?? "N";
|
|
394
|
+
return n.some((o) => o.kinds.includes(i));
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
// ../shape-core/dist/chunk-IFOJMDYY.mjs
|
|
398
|
+
/*! @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. */
|
|
399
|
+
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"]];
|
|
400
|
+
var j2 = new Set(v2.map((n) => n[0]));
|
|
401
|
+
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" };
|
|
402
|
+
var B2 = (() => {
|
|
403
|
+
let n = /* @__PURE__ */ new Map();
|
|
404
|
+
for (let [i, s] of v2) n.set(d(s), i);
|
|
405
|
+
n.set(d("Washington DC"), "DC"), n.set(d("Washington D.C."), "DC"), n.set(d("US Virgin Islands"), "VI");
|
|
406
|
+
for (let [i, s] of Object.entries(en)) {
|
|
407
|
+
let o = d(i);
|
|
408
|
+
o && !n.has(o) && n.set(o, s);
|
|
409
|
+
}
|
|
410
|
+
return n;
|
|
411
|
+
})();
|
|
412
|
+
var q = /* @__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"]);
|
|
413
|
+
function E2(n) {
|
|
414
|
+
return n.trim().toUpperCase();
|
|
415
|
+
}
|
|
416
|
+
function d(n) {
|
|
417
|
+
return S(n);
|
|
418
|
+
}
|
|
419
|
+
function ln(n, i) {
|
|
420
|
+
if (n == null) return null;
|
|
421
|
+
let s = String(n).trim();
|
|
422
|
+
if (s.length === 0) return null;
|
|
423
|
+
switch (i) {
|
|
424
|
+
case "country-iso3": {
|
|
425
|
+
let o = E2(s);
|
|
426
|
+
return F.has(o) ? o : null;
|
|
427
|
+
}
|
|
428
|
+
case "country-iso2":
|
|
429
|
+
return A.get(E2(s)) ?? null;
|
|
430
|
+
case "country-name":
|
|
431
|
+
return Y().get(d(s)) ?? null;
|
|
432
|
+
case "us-state-code":
|
|
433
|
+
case "us-state-name": {
|
|
434
|
+
let o = E2(s);
|
|
435
|
+
return j2.has(o) ? o : B2.get(d(s)) ?? null;
|
|
436
|
+
}
|
|
437
|
+
case "us-zip5": {
|
|
438
|
+
let o = /^(\d{5})(-\d{4})?$/.exec(s);
|
|
439
|
+
return o ? o[1] : /^\d{3,4}$/.test(s) ? s.padStart(5, "0") : null;
|
|
440
|
+
}
|
|
441
|
+
case "us-county-fips":
|
|
442
|
+
return /^\d{5}$/.test(s) && q.has(s.slice(0, 2)) ? s : null;
|
|
443
|
+
default:
|
|
444
|
+
return null;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
function hn(n) {
|
|
448
|
+
switch (n) {
|
|
449
|
+
case "country-iso3":
|
|
450
|
+
case "country-iso2":
|
|
451
|
+
case "country-name":
|
|
452
|
+
case "us-state-code":
|
|
453
|
+
case "us-state-name":
|
|
454
|
+
case "us-zip5":
|
|
455
|
+
case "us-county-fips":
|
|
456
|
+
return true;
|
|
457
|
+
default:
|
|
458
|
+
return false;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
function An(n, i) {
|
|
462
|
+
let s = new Array(n.length), o = /* @__PURE__ */ new Set(), h = [], p3 = 0;
|
|
463
|
+
for (let S3 = 0; S3 < n.length; ++S3) {
|
|
464
|
+
let T3 = ln(n[S3], i);
|
|
465
|
+
if (s[S3] = T3, T3 !== null) p3++;
|
|
466
|
+
else {
|
|
467
|
+
let A3 = n[S3];
|
|
468
|
+
if (A3 != null) {
|
|
469
|
+
let N = String(A3).trim();
|
|
470
|
+
if (N.length > 0) {
|
|
471
|
+
let m2 = N.toLowerCase();
|
|
472
|
+
o.has(m2) || (o.add(m2), h.push(N));
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
return { iso: s, unmatched: h, matchedRows: p3, totalRows: n.length };
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
// ../shape-core/dist/index.mjs
|
|
481
|
+
/*! @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. */
|
|
482
|
+
var M = 85;
|
|
483
|
+
var S2 = 2;
|
|
484
|
+
var at = 100;
|
|
485
|
+
var L2 = 400;
|
|
486
|
+
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"]);
|
|
487
|
+
function p2(o) {
|
|
488
|
+
let e = /* @__PURE__ */ new Set();
|
|
489
|
+
for (let n of o) {
|
|
490
|
+
if (n == null) continue;
|
|
491
|
+
let i = S(String(n));
|
|
492
|
+
if (i && !e.has(i) && (e.add(i), e.size >= L2)) break;
|
|
493
|
+
}
|
|
494
|
+
return Array.from(e);
|
|
495
|
+
}
|
|
496
|
+
function x2(o) {
|
|
497
|
+
let e = p2(o);
|
|
498
|
+
return e.length === 0 || !e.every((n) => T2.has(n)) ? false : e.some((n) => !z(n));
|
|
499
|
+
}
|
|
500
|
+
function G2(o) {
|
|
501
|
+
return T2.has(o) && !!z(o);
|
|
502
|
+
}
|
|
503
|
+
function C(o) {
|
|
504
|
+
let e = p2(o);
|
|
505
|
+
if (e.length === 0) return 0;
|
|
506
|
+
let n = 0;
|
|
507
|
+
for (let i of e) z(i) && n++;
|
|
508
|
+
return Math.round(n / e.length * 1e3) / 10;
|
|
509
|
+
}
|
|
510
|
+
function I2(o) {
|
|
511
|
+
let e = /* @__PURE__ */ new Set();
|
|
512
|
+
for (let n of o) {
|
|
513
|
+
if (n == null) continue;
|
|
514
|
+
let i = String(n).trim();
|
|
515
|
+
if (i && !e.has(i) && (e.add(i), e.size >= L2)) break;
|
|
516
|
+
}
|
|
517
|
+
return Array.from(e);
|
|
518
|
+
}
|
|
519
|
+
function w2(o) {
|
|
520
|
+
let e = I2(o);
|
|
521
|
+
if (e.length === 0) return 0;
|
|
522
|
+
let n = 0;
|
|
523
|
+
for (let i of e) D(i).length > 0 && n++;
|
|
524
|
+
return Math.round(n / e.length * 1e3) / 10;
|
|
525
|
+
}
|
|
526
|
+
function ct(o, e) {
|
|
527
|
+
let n = p2(o);
|
|
528
|
+
if (n.length === 0) return 0;
|
|
529
|
+
let i = 0;
|
|
530
|
+
for (let l of n) ia(l, e) && i++;
|
|
531
|
+
return Math.round(i / n.length * 1e3) / 10;
|
|
532
|
+
}
|
|
533
|
+
function A2(o, e) {
|
|
534
|
+
let n = 0;
|
|
535
|
+
for (let i of p2(o)) e(i) && n++;
|
|
536
|
+
return n;
|
|
537
|
+
}
|
|
538
|
+
function ut(o, e) {
|
|
539
|
+
let n = 0;
|
|
540
|
+
for (let i of I2(o)) e(i) && n++;
|
|
541
|
+
return n;
|
|
542
|
+
}
|
|
543
|
+
function lt(o, e, n, i) {
|
|
544
|
+
let l = [], y2 = [], s = {}, k2 = new Set(o), m2 = (t) => e.map((r) => r[t]);
|
|
545
|
+
for (let t of ["city", "zip", "lat", "lon", "country"]) {
|
|
546
|
+
let r = n?.[t];
|
|
547
|
+
r && k2.has(r) && (s[t] = r);
|
|
548
|
+
}
|
|
549
|
+
let u = n?.state;
|
|
550
|
+
if (u && k2.has(u)) {
|
|
551
|
+
let t = m2(u), r = p2(t);
|
|
552
|
+
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) < M ? y2.push(`state=${u} (only ${C(t)}% of values are states/provinces)`) : s.state = u;
|
|
553
|
+
}
|
|
554
|
+
let f2 = new Set(Object.values(s).filter(Boolean)), g = o.filter((t) => !f2.has(t) && !t.startsWith("__"));
|
|
555
|
+
if (!s.state) {
|
|
556
|
+
let t = null;
|
|
557
|
+
for (let r of g) {
|
|
558
|
+
let a = m2(r);
|
|
559
|
+
if (x2(a)) continue;
|
|
560
|
+
let c = C(a);
|
|
561
|
+
if (c < M) continue;
|
|
562
|
+
let v3 = A2(a, (h) => !!z(h)), z2 = A2(a, (h) => !!z(h) && !G2(h));
|
|
563
|
+
v3 < S2 && z2 < 1 || (!t || c > t.pct) && (t = { name: r, pct: c });
|
|
564
|
+
}
|
|
565
|
+
t && (s.state = t.name, f2.add(t.name), l.push(`state=${t.name} (${t.pct}% states/provinces)`));
|
|
566
|
+
}
|
|
567
|
+
if (!s.zip) for (let t of g) {
|
|
568
|
+
if (f2.has(t)) continue;
|
|
569
|
+
let r = m2(t), a = w2(r);
|
|
570
|
+
if (!(a < at) && !(ut(r, (c) => D(c).length > 0) < S2)) {
|
|
571
|
+
s.zip = t, f2.add(t), l.push(`zip=${t} (${a}% ZIP codes)`);
|
|
572
|
+
break;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
if (!s.country) {
|
|
576
|
+
for (let t of g) if (!f2.has(t) && x2(m2(t))) {
|
|
577
|
+
s.country = t, f2.add(t), l.push(`country=${t}`);
|
|
578
|
+
break;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
if (!s.city) {
|
|
582
|
+
let t = null;
|
|
583
|
+
for (let r of g) {
|
|
584
|
+
if (f2.has(r)) continue;
|
|
585
|
+
let a = m2(r), c = ct(a, i);
|
|
586
|
+
c < M || A2(a, (v3) => ia(v3, i)) < S2 || (!t || c > t.pct) && (t = { name: r, pct: c });
|
|
587
|
+
}
|
|
588
|
+
t && (s.city = t.name, l.push(`city=${t.name} (${t.pct}% known cities)`));
|
|
589
|
+
}
|
|
590
|
+
return { bind: !!(s.city || s.state || s.zip || s.lat && s.lon) ? s : null, backfilled: l, refused: y2 };
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
// src/payload.ts
|
|
594
|
+
function buildRenderPayload(cols, rowObjs, geo, point) {
|
|
595
|
+
const colNames = cols.map((c) => c.name);
|
|
596
|
+
let pLat = null;
|
|
597
|
+
let pLon = null;
|
|
598
|
+
let geoPoint;
|
|
599
|
+
let bind = point ?? null;
|
|
600
|
+
let rolesBackfilled = [];
|
|
601
|
+
let rolesRefused = [];
|
|
602
|
+
if (bind) {
|
|
603
|
+
const dims = cols.filter((c) => !c.isMeasure).map((c) => c.name);
|
|
604
|
+
const res = lt(dims, rowObjs, bind, point?.mapKind);
|
|
605
|
+
bind = res.bind;
|
|
606
|
+
rolesBackfilled = res.backfilled;
|
|
607
|
+
rolesRefused = res.refused;
|
|
608
|
+
}
|
|
609
|
+
const hasPointBind = !!bind && !!(bind.city || bind.state || bind.zip || bind.lat && bind.lon);
|
|
610
|
+
if (hasPointBind) {
|
|
611
|
+
const p3 = bind;
|
|
612
|
+
const built = sa(rowObjs.map((r) => ({
|
|
613
|
+
lat: p3.lat ? r[p3.lat] : null,
|
|
614
|
+
lon: p3.lon ? r[p3.lon] : null,
|
|
615
|
+
city: p3.city ? r[p3.city] : null,
|
|
616
|
+
state: p3.state ? r[p3.state] : null,
|
|
617
|
+
zip: p3.zip ? r[p3.zip] : null,
|
|
618
|
+
country: p3.country ? r[p3.country] : null
|
|
619
|
+
})), point?.mapKind);
|
|
620
|
+
pLat = built.lat;
|
|
621
|
+
pLon = built.lon;
|
|
622
|
+
geoPoint = {
|
|
623
|
+
precision: built.precision,
|
|
624
|
+
precisionCounts: built.precisionCounts,
|
|
625
|
+
coarseExamples: built.coarseExamples,
|
|
626
|
+
// STRICTLY no-match. Ambiguous rows are deliberately NOT in here: new charts
|
|
627
|
+
// report them from ambiguousRows/ambiguousExamples, while OLD generated code
|
|
628
|
+
// still shows them — it computes its own off-map count from null coordinates
|
|
629
|
+
// and takes max(offMap, unplaced), so the not-shown total stays right without
|
|
630
|
+
// double-counting on either side of the upgrade.
|
|
631
|
+
unplaced: built.totalRows - built.matchedRows - built.ambiguousRows,
|
|
632
|
+
unplacedExamples: built.unmatched.slice(0, 8),
|
|
633
|
+
ambiguousRows: built.ambiguousRows,
|
|
634
|
+
...built.ambiguousExamples.length ? { ambiguousExamples: built.ambiguousExamples } : {},
|
|
635
|
+
// Omitted entirely when nothing was adjusted, so the common case adds no bytes
|
|
636
|
+
// and a chart can treat presence as "something about this binding is worth
|
|
637
|
+
// saying".
|
|
638
|
+
...rolesBackfilled.length ? { rolesBackfilled } : {},
|
|
639
|
+
...rolesRefused.length ? { rolesRefused } : {}
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
let geoIso = null;
|
|
643
|
+
let geoUnmatched;
|
|
644
|
+
let geoUnmatchedDistinct;
|
|
645
|
+
if (geo && geo.column && geo.kind && hn(geo.kind)) {
|
|
646
|
+
const built = An(rowObjs.map((r) => r[geo.column]), geo.kind);
|
|
647
|
+
geoIso = built.iso;
|
|
648
|
+
geoUnmatched = { count: built.totalRows - built.matchedRows, examples: built.unmatched.slice(0, 8) };
|
|
649
|
+
geoUnmatchedDistinct = built.unmatched.length;
|
|
650
|
+
}
|
|
651
|
+
const extra = 1 + (geoIso ? 1 : 0) + (pLat ? 2 : 0);
|
|
652
|
+
const out = new Array(rowObjs.length);
|
|
653
|
+
for (let r = 0; r < rowObjs.length; r++) {
|
|
654
|
+
const row = rowObjs[r];
|
|
655
|
+
const a = new Array(cols.length + extra);
|
|
656
|
+
for (let c = 0; c < cols.length; c++) {
|
|
657
|
+
const v3 = row[colNames[c]];
|
|
658
|
+
if (v3 instanceof Date) {
|
|
659
|
+
a[c] = v3.toISOString();
|
|
660
|
+
} else {
|
|
661
|
+
a[c] = v3 ?? null;
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
let k2 = cols.length;
|
|
665
|
+
a[k2++] = r;
|
|
666
|
+
if (geoIso) a[k2++] = geoIso[r];
|
|
667
|
+
if (pLat && pLon) {
|
|
668
|
+
a[k2++] = pLat[r];
|
|
669
|
+
a[k2++] = pLon[r];
|
|
670
|
+
}
|
|
671
|
+
out[r] = a;
|
|
672
|
+
}
|
|
673
|
+
const colsOut = [...cols, { name: "__rowIdx__", dataType: "Integer", isMeasure: false, modelDesc: "" }];
|
|
674
|
+
if (geoIso) colsOut.push({ name: "__geoIso__", dataType: "String", isMeasure: false, modelDesc: "" });
|
|
675
|
+
if (pLat) colsOut.push(
|
|
676
|
+
{ name: "__geoLat__", dataType: "Double", isMeasure: false, modelDesc: "" },
|
|
677
|
+
{ name: "__geoLon__", dataType: "Double", isMeasure: false, modelDesc: "" }
|
|
678
|
+
);
|
|
679
|
+
return { columns: colsOut, rows: out, geoUnmatched, geoUnmatchedDistinct, geoPoint };
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
// src/selection.ts
|
|
683
|
+
function createMarkResolver(env) {
|
|
684
|
+
const { root, doc, log } = env;
|
|
685
|
+
const isElement = (t) => {
|
|
686
|
+
const E3 = doc?.defaultView?.Element ?? globalThis.Element;
|
|
687
|
+
if (E3 && t instanceof E3) return true;
|
|
688
|
+
return !!t && typeof t.closest === "function" && typeof t.getAttribute === "function";
|
|
689
|
+
};
|
|
690
|
+
const viewStyle = (n) => {
|
|
691
|
+
try {
|
|
692
|
+
const gcs = doc?.defaultView?.getComputedStyle ?? (typeof getComputedStyle === "function" ? getComputedStyle : null);
|
|
693
|
+
return gcs ? gcs(n).pointerEvents : "";
|
|
694
|
+
} catch {
|
|
695
|
+
return "";
|
|
696
|
+
}
|
|
697
|
+
};
|
|
698
|
+
const isInvisibleStrokePath = (el) => {
|
|
699
|
+
if (el.tagName.toLowerCase() !== "path") return false;
|
|
700
|
+
const f2 = el.getAttribute("fill");
|
|
701
|
+
if (f2 !== null && f2 !== "" && f2 !== "none" && f2 !== "transparent") return false;
|
|
702
|
+
const s = (el.getAttribute("stroke") || "").trim().toLowerCase();
|
|
703
|
+
const so = parseFloat(el.getAttribute("stroke-opacity") || "1");
|
|
704
|
+
return s === "transparent" || s === "none" || so <= 0.01;
|
|
705
|
+
};
|
|
706
|
+
const distToPathCenterline = (el, x3, y2) => {
|
|
707
|
+
const L3 = el.getTotalLength();
|
|
708
|
+
if (!(L3 > 0)) return Number.MAX_VALUE;
|
|
709
|
+
const m2 = el.getScreenCTM();
|
|
710
|
+
if (!m2) return Number.MAX_VALUE;
|
|
711
|
+
let best = Number.MAX_VALUE;
|
|
712
|
+
const N = 64;
|
|
713
|
+
for (let i = 0; i <= N; i++) {
|
|
714
|
+
const pt = el.getPointAtLength(L3 * i / N);
|
|
715
|
+
const dx = m2.a * pt.x + m2.c * pt.y + m2.e - x3;
|
|
716
|
+
const dy = m2.b * pt.x + m2.d * pt.y + m2.f - y2;
|
|
717
|
+
const d2 = dx * dx + dy * dy;
|
|
718
|
+
if (d2 < best) best = d2;
|
|
719
|
+
}
|
|
720
|
+
return Math.sqrt(best);
|
|
721
|
+
};
|
|
722
|
+
const refineHitCorridor = (mark, x3, y2, sel) => {
|
|
723
|
+
try {
|
|
724
|
+
if (!mark || !isInvisibleStrokePath(mark) || !mark.getAttribute("data-row-idx")) return mark;
|
|
725
|
+
const stack = doc.elementsFromPoint(x3, y2);
|
|
726
|
+
const candidates = [];
|
|
727
|
+
for (const el of stack) {
|
|
728
|
+
if (!root.contains(el)) continue;
|
|
729
|
+
if (!el.matches || !el.matches(sel)) continue;
|
|
730
|
+
if (!el.getAttribute("data-row-idx")) continue;
|
|
731
|
+
if (!isInvisibleStrokePath(el)) continue;
|
|
732
|
+
candidates.push(el);
|
|
733
|
+
}
|
|
734
|
+
if (candidates.indexOf(mark) < 0) candidates.push(mark);
|
|
735
|
+
if (candidates.length < 2) return mark;
|
|
736
|
+
let best = mark;
|
|
737
|
+
let bestD = Number.MAX_VALUE;
|
|
738
|
+
for (const el of candidates) {
|
|
739
|
+
const d2 = distToPathCenterline(el, x3, y2);
|
|
740
|
+
if (d2 < bestD) {
|
|
741
|
+
bestD = d2;
|
|
742
|
+
best = el;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
if (best !== mark) {
|
|
746
|
+
log("d3-hit-corridor-refined", {
|
|
747
|
+
candidates: candidates.length,
|
|
748
|
+
distPx: Math.round(bestD),
|
|
749
|
+
fromRows: (mark.getAttribute("data-row-idx") || "").slice(0, 24),
|
|
750
|
+
toRows: (best.getAttribute("data-row-idx") || "").slice(0, 24)
|
|
751
|
+
});
|
|
752
|
+
}
|
|
753
|
+
return best;
|
|
754
|
+
} catch {
|
|
755
|
+
return mark;
|
|
756
|
+
}
|
|
757
|
+
};
|
|
758
|
+
const findMark = (target, sel = ".d3-mark", ev) => {
|
|
759
|
+
if (!isElement(target)) return null;
|
|
760
|
+
const el = target;
|
|
761
|
+
const m2 = el.closest(sel);
|
|
762
|
+
if (m2 && ev) return refineHitCorridor(m2, ev.clientX, ev.clientY, sel);
|
|
763
|
+
return m2;
|
|
764
|
+
};
|
|
765
|
+
const rowIdxsFromMark = (el) => {
|
|
766
|
+
if (!el) return [];
|
|
767
|
+
const raw = el.getAttribute("data-row-idx");
|
|
768
|
+
if (!raw) return [];
|
|
769
|
+
const out = [];
|
|
770
|
+
for (const tok of raw.split(",")) {
|
|
771
|
+
const n = parseInt(tok.trim(), 10);
|
|
772
|
+
if (!isNaN(n) && n >= 0) out.push(n);
|
|
773
|
+
}
|
|
774
|
+
return out;
|
|
775
|
+
};
|
|
776
|
+
const penetrateOverlayAt = (x3, y2, sel) => {
|
|
777
|
+
try {
|
|
778
|
+
const stack = doc.elementsFromPoint(x3, y2);
|
|
779
|
+
for (const el of stack) {
|
|
780
|
+
if (!root.contains(el) || !isElement(el)) continue;
|
|
781
|
+
const cand = el.matches(sel) ? el : el.closest(sel);
|
|
782
|
+
if (!cand || !root.contains(cand) || !cand.getAttribute("data-row-idx")) continue;
|
|
783
|
+
log("d3_click-overlay-penetrated", { tag: el.tagName, cls: el.getAttribute("class"), via: el === cand ? "self" : "closest" });
|
|
784
|
+
return cand;
|
|
785
|
+
}
|
|
786
|
+
} catch {
|
|
787
|
+
}
|
|
788
|
+
return null;
|
|
789
|
+
};
|
|
790
|
+
const resolveByGeometry = (x3, y2, sel) => {
|
|
791
|
+
try {
|
|
792
|
+
const cands = root.querySelectorAll(sel);
|
|
793
|
+
let best = null, bestArea = Number.MAX_VALUE;
|
|
794
|
+
if (cands.length <= 600) {
|
|
795
|
+
for (const el of Array.from(cands)) {
|
|
796
|
+
if (!el.getAttribute("data-row-idx")) continue;
|
|
797
|
+
const r = el.getBoundingClientRect ? el.getBoundingClientRect() : null;
|
|
798
|
+
if (!r || r.width <= 0 || r.height <= 0) continue;
|
|
799
|
+
if (x3 < r.left || x3 > r.right || y2 < r.top || y2 > r.bottom) continue;
|
|
800
|
+
const area = r.width * r.height;
|
|
801
|
+
if (area < bestArea) {
|
|
802
|
+
bestArea = area;
|
|
803
|
+
best = el;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
const hasHittableShape = (node) => {
|
|
808
|
+
const SHAPE = /^(rect|circle|ellipse|path|line|polygon|polyline|text|image|use)$/;
|
|
809
|
+
const all = [node, ...Array.from(node.querySelectorAll("*"))];
|
|
810
|
+
for (const n of all) {
|
|
811
|
+
const tag = (n.tagName || "").toLowerCase();
|
|
812
|
+
if (!SHAPE.test(tag)) continue;
|
|
813
|
+
const pe = viewStyle(n);
|
|
814
|
+
if (pe && pe !== "none") return true;
|
|
815
|
+
}
|
|
816
|
+
return false;
|
|
817
|
+
};
|
|
818
|
+
if (best && !hasHittableShape(best)) {
|
|
819
|
+
log("d3_click-geom-resolved", { rows: (best.getAttribute("data-row-idx") || "").slice(0, 24) });
|
|
820
|
+
return best;
|
|
821
|
+
} else if (best) {
|
|
822
|
+
log("d3_click-geom-skip-hittable", {});
|
|
823
|
+
}
|
|
824
|
+
} catch {
|
|
825
|
+
}
|
|
826
|
+
return null;
|
|
827
|
+
};
|
|
828
|
+
return { isInvisibleStrokePath, distToPathCenterline, refineHitCorridor, findMark, rowIdxsFromMark, penetrateOverlayAt, resolveByGeometry };
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
// src/host.ts
|
|
832
|
+
var parseRowIdxs = (s) => (s || "").split(",").map((x3) => parseInt(x3, 10)).filter((n) => Number.isFinite(n));
|
|
833
|
+
var D3_PLUGIN_PACKAGES = {
|
|
834
|
+
sankey: "d3-sankey",
|
|
835
|
+
sankeyLinkHorizontal: "d3-sankey",
|
|
836
|
+
sankeyJustify: "d3-sankey",
|
|
837
|
+
sankeyCenter: "d3-sankey",
|
|
838
|
+
sankeyLeft: "d3-sankey",
|
|
839
|
+
sankeyRight: "d3-sankey",
|
|
840
|
+
hexbin: "d3-hexbin",
|
|
841
|
+
voronoiTreemap: "d3-voronoi-treemap",
|
|
842
|
+
voronoiMap: "d3-voronoi-map",
|
|
843
|
+
weightedVoronoi: "d3-weighted-voronoi"
|
|
844
|
+
};
|
|
845
|
+
function requiredD3Plugins(code) {
|
|
846
|
+
const out = /* @__PURE__ */ new Set();
|
|
847
|
+
for (const m2 of String(code || "").matchAll(/\bd3\s*\.\s*(\w+)\s*\(/g)) {
|
|
848
|
+
const pkg = D3_PLUGIN_PACKAGES[m2[1]];
|
|
849
|
+
if (pkg) out.add(pkg);
|
|
850
|
+
}
|
|
851
|
+
return [...out].sort();
|
|
852
|
+
}
|
|
853
|
+
function explainRenderFailure(err, d3) {
|
|
854
|
+
const msg = String(err?.message ?? err ?? "");
|
|
855
|
+
if (!d3) {
|
|
856
|
+
return new Error(
|
|
857
|
+
"[@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
|
|
858
|
+
);
|
|
859
|
+
}
|
|
860
|
+
const m2 = /d3\.(\w+) is not a function|(\w+) is not a function/.exec(msg);
|
|
861
|
+
const name = m2?.[1] ?? m2?.[2] ?? "";
|
|
862
|
+
const pkg = D3_PLUGIN_PACKAGES[name];
|
|
863
|
+
if (pkg) {
|
|
864
|
+
return new Error(
|
|
865
|
+
`[@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
|
|
866
|
+
);
|
|
867
|
+
}
|
|
868
|
+
return err;
|
|
869
|
+
}
|
|
870
|
+
var ESM_EXPORT_CLAUSE = /^[ \t]*export[ \t]+(?:\{[^}]*\}|default[ \t]+[A-Za-z_$][\w$]*)[ \t]*;?[ \t]*$/gm;
|
|
871
|
+
var ESM_EXPORT_DECL = /^([ \t]*)export[ \t]+(?=(?:async[ \t]+)?function\b|const\b|let\b|var\b|class\b)/gm;
|
|
872
|
+
function stripEsmExports(code) {
|
|
873
|
+
return String(code || "").replace(ESM_EXPORT_CLAUSE, "").replace(ESM_EXPORT_DECL, "$1");
|
|
874
|
+
}
|
|
875
|
+
function compileRenderFn(code, win, doc, d3) {
|
|
876
|
+
const body = stripEsmExports(code) + "\n;return (typeof render === 'function') ? render : null;";
|
|
877
|
+
let factory;
|
|
878
|
+
try {
|
|
879
|
+
factory = new Function("container", "data", "options", "window", "document", "d3", body);
|
|
880
|
+
} catch (e) {
|
|
881
|
+
const msg = String(e?.message ?? e ?? "");
|
|
882
|
+
const modular = /\bimport\b|\bexport\b/.test(String(code || ""));
|
|
883
|
+
throw new Error(
|
|
884
|
+
"[@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
|
|
885
|
+
);
|
|
886
|
+
}
|
|
887
|
+
const fn = factory.call(null, null, null, null, win, doc, d3);
|
|
888
|
+
if (typeof fn !== "function") throw new Error("generated code did not define render(container, data, options)");
|
|
889
|
+
return fn;
|
|
890
|
+
}
|
|
891
|
+
function createChartHost(container, config) {
|
|
892
|
+
const doc = container.ownerDocument;
|
|
893
|
+
const win = doc?.defaultView ?? globalThis;
|
|
894
|
+
const d3 = config.d3 ?? globalThis.d3 ?? win?.d3;
|
|
895
|
+
let data = config.data;
|
|
896
|
+
{
|
|
897
|
+
const stamped = config.data?.meta?.hostContract;
|
|
898
|
+
const major = (v3) => (v3 || "").split(".")[0];
|
|
899
|
+
if (stamped && major(stamped) !== major(HOST_CONTRACT_VERSION)) {
|
|
900
|
+
try {
|
|
901
|
+
(win?.console ?? console)?.warn(
|
|
902
|
+
`[@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.`
|
|
903
|
+
);
|
|
904
|
+
} catch {
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
let raw = { ...config.options ?? {} };
|
|
909
|
+
let resolved = resolveOptions(raw);
|
|
910
|
+
let renderFn = config.renderFn ?? null;
|
|
911
|
+
let destroyed = false;
|
|
912
|
+
let warnedGeo = false;
|
|
913
|
+
let current = null;
|
|
914
|
+
const subs = /* @__PURE__ */ new Set();
|
|
915
|
+
const ensureAffordanceStyles = () => {
|
|
916
|
+
try {
|
|
917
|
+
if (!doc || doc.getElementById("bic-chart-host-affordances")) return;
|
|
918
|
+
const st = doc.createElement("style");
|
|
919
|
+
st.id = "bic-chart-host-affordances";
|
|
920
|
+
st.textContent = `
|
|
921
|
+
/* TYPOGRAPHY FIREWALL. Generated charts set font-size but almost never line-height or
|
|
922
|
+
letter-spacing, so they INHERIT whatever the host page cascades in. A page with
|
|
923
|
+
\`:root { font: 18px/145% }\` (the stock Vite template does exactly this) hands every
|
|
924
|
+
chart an inherited 26.1px line box; an 11px label in a 14px band is then sliced through
|
|
925
|
+
the middle. The chart is not wrong and the host is not wrong \u2014 the boundary between
|
|
926
|
+
them is, so the boundary fixes it. Both properties are overridable: a chart that sets
|
|
927
|
+
its own line-height still wins. Deliberately NOT resetting font-family or color, which
|
|
928
|
+
a host SHOULD be able to theme. Found 2026-07-26 in the React demo, on a chart that
|
|
929
|
+
renders perfectly inside Power BI. */
|
|
930
|
+
.${HOST_CONTAINER_CLASS} { line-height: normal; letter-spacing: normal; }
|
|
931
|
+
.${HOST_CONTAINER_CLASS} .${MARK_CLASS} { cursor: pointer; transition: opacity 120ms ease-in-out, filter 100ms ease-in-out; }
|
|
932
|
+
.${HOST_CONTAINER_CLASS} .${MARK_CLASS}:hover { filter: brightness(1.1) drop-shadow(0 0 1.5px rgba(0,0,0,0.5)) !important; }
|
|
933
|
+
.${HOST_CONTAINER_CLASS}:has(.${MARK_CLASS}:hover) .${MARK_CLASS}:not(:hover) { opacity: 0.55; }
|
|
934
|
+
.${HOST_CONTAINER_CLASS}.${SELECTION_ACTIVE_CLASS} .${MARK_CLASS}:not(.${MARK_SELECTED_CLASS}) {
|
|
935
|
+
opacity: var(${DIM_OPACITY_VAR}, ${DIM_OPACITY_DEFAULT}) !important;
|
|
936
|
+
}
|
|
937
|
+
.${HOST_CONTAINER_CLASS} .${LEGEND_MARK_CLASS} { cursor: pointer; }`;
|
|
938
|
+
(doc.head || doc.documentElement)?.appendChild(st);
|
|
939
|
+
} catch {
|
|
940
|
+
}
|
|
941
|
+
};
|
|
942
|
+
const paintSelection = () => {
|
|
943
|
+
try {
|
|
944
|
+
const sel = current;
|
|
945
|
+
const active = !!sel && sel.length > 0;
|
|
946
|
+
container.classList?.[active ? "add" : "remove"](SELECTION_ACTIVE_CLASS);
|
|
947
|
+
const wanted = new Set(sel ?? []);
|
|
948
|
+
const marks = container.querySelectorAll(`.${MARK_CLASS}[${ROW_IDX_ATTR}], .${LEGEND_MARK_CLASS}[${ROW_IDX_ATTR}]`);
|
|
949
|
+
for (const m2 of Array.from(marks)) {
|
|
950
|
+
const rows = parseRowIdxs(m2.getAttribute(ROW_IDX_ATTR));
|
|
951
|
+
const on = active && rows.some((r) => wanted.has(r));
|
|
952
|
+
m2.classList?.[on ? "add" : "remove"](MARK_SELECTED_CLASS);
|
|
953
|
+
}
|
|
954
|
+
} catch {
|
|
955
|
+
}
|
|
956
|
+
};
|
|
957
|
+
const notify = (rowIdxs, source) => {
|
|
958
|
+
current = rowIdxs;
|
|
959
|
+
paintSelection();
|
|
960
|
+
for (const cb of subs) {
|
|
961
|
+
try {
|
|
962
|
+
cb(rowIdxs, source);
|
|
963
|
+
} catch {
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
};
|
|
967
|
+
let xfAt = 0;
|
|
968
|
+
const XF_ECHO_MS = 150;
|
|
969
|
+
const onXf = (e) => {
|
|
970
|
+
const d2 = e?.detail || {};
|
|
971
|
+
xfAt = Date.now();
|
|
972
|
+
if (d2.clear) notify([], d2.source || "chart");
|
|
973
|
+
else if (d2.mark) notify(parseRowIdxs(d2.mark.getAttribute?.(ROW_IDX_ATTR)), d2.source || "chart");
|
|
974
|
+
};
|
|
975
|
+
const resolver = createMarkResolver({
|
|
976
|
+
root: container,
|
|
977
|
+
doc,
|
|
978
|
+
log: () => {
|
|
979
|
+
}
|
|
980
|
+
});
|
|
981
|
+
const clickSel = `.${MARK_CLASS}[${ROW_IDX_ATTR}], .${LEGEND_MARK_CLASS}[${ROW_IDX_ATTR}], .${AXIS_FILTER_CLASS}[${ROW_IDX_ATTR}]`;
|
|
982
|
+
const onClick = (e) => {
|
|
983
|
+
if (Date.now() - xfAt < XF_ECHO_MS) return;
|
|
984
|
+
let el = resolver.findMark(e?.target, clickSel, e);
|
|
985
|
+
if (!el) el = resolver.penetrateOverlayAt(e?.clientX, e?.clientY, clickSel);
|
|
986
|
+
if (!el) el = resolver.resolveByGeometry(e?.clientX, e?.clientY, clickSel);
|
|
987
|
+
if (!el) {
|
|
988
|
+
if (current && current.length) notify([], "user");
|
|
989
|
+
return;
|
|
990
|
+
}
|
|
991
|
+
const rows = parseRowIdxs(el.getAttribute(ROW_IDX_ATTR));
|
|
992
|
+
if (!rows.length) return;
|
|
993
|
+
if (e?.ctrlKey || e?.metaKey || e?.shiftKey) {
|
|
994
|
+
const next = new Set(current ?? []);
|
|
995
|
+
for (const r of rows) {
|
|
996
|
+
if (next.has(r)) next.delete(r);
|
|
997
|
+
else next.add(r);
|
|
998
|
+
}
|
|
999
|
+
notify(Array.from(next), "user");
|
|
1000
|
+
return;
|
|
1001
|
+
}
|
|
1002
|
+
const same = !!current && current.length === rows.length && rows.every((r) => current.includes(r));
|
|
1003
|
+
notify(same ? [] : rows, "user");
|
|
1004
|
+
};
|
|
1005
|
+
container.addEventListener(XFILTER_REFRESH_EVENT, onXf);
|
|
1006
|
+
container.addEventListener("click", onClick);
|
|
1007
|
+
container.classList?.add(HOST_CONTAINER_CLASS);
|
|
1008
|
+
ensureAffordanceStyles();
|
|
1009
|
+
const stopAnim = () => {
|
|
1010
|
+
const s = container[CONTAINER_SLOT_ANIM_STOP];
|
|
1011
|
+
if (typeof s === "function") {
|
|
1012
|
+
try {
|
|
1013
|
+
s();
|
|
1014
|
+
} catch {
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
};
|
|
1018
|
+
const host = {
|
|
1019
|
+
render() {
|
|
1020
|
+
if (destroyed) return;
|
|
1021
|
+
stopAnim();
|
|
1022
|
+
container.innerHTML = "";
|
|
1023
|
+
if (!renderFn) {
|
|
1024
|
+
if (!config.code) throw new Error("createChartHost: provide code or renderFn");
|
|
1025
|
+
renderFn = compileRenderFn(config.code, win, doc, d3);
|
|
1026
|
+
}
|
|
1027
|
+
if (resolved.geo === void 0 && config.geoKind) {
|
|
1028
|
+
const g = config.geoProvider?.(config.geoKind) ?? geoFromCache(config.geoKind);
|
|
1029
|
+
if (g) resolved = { ...resolved, geo: g };
|
|
1030
|
+
else if (!warnedGeo) {
|
|
1031
|
+
warnedGeo = true;
|
|
1032
|
+
try {
|
|
1033
|
+
(win?.console ?? console)?.warn(
|
|
1034
|
+
`[@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.`
|
|
1035
|
+
);
|
|
1036
|
+
} catch {
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
if (resolved.geoUnmatched === void 0 && data.geoUnmatched) resolved = { ...resolved, geoUnmatched: data.geoUnmatched };
|
|
1041
|
+
if (resolved.geoPoint === void 0 && data.geoPoint) resolved = { ...resolved, geoPoint: data.geoPoint };
|
|
1042
|
+
try {
|
|
1043
|
+
renderFn(container, { columns: data.columns, rows: data.rows }, resolved);
|
|
1044
|
+
} catch (err) {
|
|
1045
|
+
throw explainRenderFailure(err, d3);
|
|
1046
|
+
}
|
|
1047
|
+
paintSelection();
|
|
1048
|
+
},
|
|
1049
|
+
setOptions(partial) {
|
|
1050
|
+
raw = { ...raw, ...partial };
|
|
1051
|
+
resolved = resolveOptions(raw);
|
|
1052
|
+
host.render();
|
|
1053
|
+
},
|
|
1054
|
+
setData(next) {
|
|
1055
|
+
data = next;
|
|
1056
|
+
host.render();
|
|
1057
|
+
},
|
|
1058
|
+
get options() {
|
|
1059
|
+
return resolved;
|
|
1060
|
+
},
|
|
1061
|
+
selection: {
|
|
1062
|
+
onChange(cb) {
|
|
1063
|
+
subs.add(cb);
|
|
1064
|
+
return () => subs.delete(cb);
|
|
1065
|
+
},
|
|
1066
|
+
clear() {
|
|
1067
|
+
const s = container[CONTAINER_SLOT_XF_CLEAR];
|
|
1068
|
+
if (typeof s === "function") {
|
|
1069
|
+
try {
|
|
1070
|
+
s();
|
|
1071
|
+
} catch {
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
notify([], "host");
|
|
1075
|
+
},
|
|
1076
|
+
highlight(rowIdxs) {
|
|
1077
|
+
notify(Array.isArray(rowIdxs) ? rowIdxs.slice() : [], "host");
|
|
1078
|
+
},
|
|
1079
|
+
get current() {
|
|
1080
|
+
return current;
|
|
1081
|
+
}
|
|
1082
|
+
},
|
|
1083
|
+
animation: { stop: stopAnim },
|
|
1084
|
+
initialMark() {
|
|
1085
|
+
return container[CONTAINER_SLOT_INITIAL_XF_MARK] ?? null;
|
|
1086
|
+
},
|
|
1087
|
+
destroy() {
|
|
1088
|
+
if (destroyed) return;
|
|
1089
|
+
destroyed = true;
|
|
1090
|
+
stopAnim();
|
|
1091
|
+
container.removeEventListener(XFILTER_REFRESH_EVENT, onXf);
|
|
1092
|
+
container.removeEventListener("click", onClick);
|
|
1093
|
+
subs.clear();
|
|
1094
|
+
container.innerHTML = "";
|
|
1095
|
+
}
|
|
1096
|
+
};
|
|
1097
|
+
return host;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
export {
|
|
1101
|
+
HOST_CONTRACT_VERSION,
|
|
1102
|
+
GEO_POINT_PRECISIONS,
|
|
1103
|
+
MARK_CLASS,
|
|
1104
|
+
LEGEND_MARK_CLASS,
|
|
1105
|
+
AXIS_FILTER_CLASS,
|
|
1106
|
+
ROW_IDX_ATTR,
|
|
1107
|
+
XFILTER_REFRESH_EVENT,
|
|
1108
|
+
CONTAINER_SLOT_ANIM_STOP,
|
|
1109
|
+
CONTAINER_SLOT_XF_CLEAR,
|
|
1110
|
+
CONTAINER_SLOT_INITIAL_XF_MARK,
|
|
1111
|
+
HOST_CONTAINER_CLASS,
|
|
1112
|
+
SELECTION_ACTIVE_CLASS,
|
|
1113
|
+
MARK_SELECTED_CLASS,
|
|
1114
|
+
DIM_OPACITY_VAR,
|
|
1115
|
+
DIM_OPACITY_DEFAULT,
|
|
1116
|
+
ANIM_PLAY_SPEED_DEFAULT,
|
|
1117
|
+
ANIM_PLAY_SPEED_MIN,
|
|
1118
|
+
ANIM_PLAY_SPEED_MAX,
|
|
1119
|
+
ANIM_MAX_IDEAL_FRAMES_DEFAULT,
|
|
1120
|
+
ANIM_MAX_IDEAL_FRAMES_MIN,
|
|
1121
|
+
ANIM_MAX_IDEAL_FRAMES_MAX,
|
|
1122
|
+
COLOR_SCALE_SELF_CLAMP_PCT_DEFAULT,
|
|
1123
|
+
COLOR_SCALE_SELF_CLAMP_PCT_MIN,
|
|
1124
|
+
COLOR_SCALE_SELF_CLAMP_PCT_MAX,
|
|
1125
|
+
resolveOptions,
|
|
1126
|
+
geoAssetFor,
|
|
1127
|
+
loadGeo,
|
|
1128
|
+
geoFromCache,
|
|
1129
|
+
registerGeo,
|
|
1130
|
+
registerGeoAsset,
|
|
1131
|
+
clearGeoCache,
|
|
1132
|
+
buildRenderPayload,
|
|
1133
|
+
createMarkResolver,
|
|
1134
|
+
requiredD3Plugins,
|
|
1135
|
+
explainRenderFailure,
|
|
1136
|
+
stripEsmExports,
|
|
1137
|
+
compileRenderFn,
|
|
1138
|
+
createChartHost
|
|
1139
|
+
};
|