@dxos/react-ui-geo 0.7.5-labs.35b4b42

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.
Files changed (126) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +3 -0
  3. package/data/airports.ts +52524 -0
  4. package/data/cities.ts +1211 -0
  5. package/data/countries-110m.ts +10587 -0
  6. package/data/countries-dots-3.ts +42989 -0
  7. package/data/countries-dots-4.ts +300941 -0
  8. package/data/raw/airports.json +39386 -0
  9. package/data/raw/countries-10m.json +1 -0
  10. package/data/raw/countries-110m.json +1 -0
  11. package/data/raw/countries-50m.json +1 -0
  12. package/data/raw/countries.json +1 -0
  13. package/dist/lib/browser/chunk-ENCWOTYX.mjs +9 -0
  14. package/dist/lib/browser/chunk-ENCWOTYX.mjs.map +7 -0
  15. package/dist/lib/browser/countries-110m-WI4PCLDF.mjs +37859 -0
  16. package/dist/lib/browser/countries-110m-WI4PCLDF.mjs.map +7 -0
  17. package/dist/lib/browser/data.mjs +7 -0
  18. package/dist/lib/browser/data.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +1020 -0
  20. package/dist/lib/browser/index.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -0
  22. package/dist/lib/node/chunk-LAICG6L2.cjs +40 -0
  23. package/dist/lib/node/chunk-LAICG6L2.cjs.map +7 -0
  24. package/dist/lib/node/countries-110m-KQ5WAB2O.cjs +37877 -0
  25. package/dist/lib/node/countries-110m-KQ5WAB2O.cjs.map +7 -0
  26. package/dist/lib/node/data.cjs +28 -0
  27. package/dist/lib/node/data.cjs.map +7 -0
  28. package/dist/lib/node/index.cjs +1045 -0
  29. package/dist/lib/node/index.cjs.map +7 -0
  30. package/dist/lib/node/meta.json +1 -0
  31. package/dist/lib/node-esm/chunk-PIIEDZEU.mjs +11 -0
  32. package/dist/lib/node-esm/chunk-PIIEDZEU.mjs.map +7 -0
  33. package/dist/lib/node-esm/countries-110m-DQ4XRC4B.mjs +37861 -0
  34. package/dist/lib/node-esm/countries-110m-DQ4XRC4B.mjs.map +7 -0
  35. package/dist/lib/node-esm/data.mjs +8 -0
  36. package/dist/lib/node-esm/data.mjs.map +7 -0
  37. package/dist/lib/node-esm/index.mjs +1021 -0
  38. package/dist/lib/node-esm/index.mjs.map +7 -0
  39. package/dist/lib/node-esm/meta.json +1 -0
  40. package/dist/types/data/airports.d.ts +18 -0
  41. package/dist/types/data/airports.d.ts.map +1 -0
  42. package/dist/types/data/cities.d.ts +17 -0
  43. package/dist/types/data/cities.d.ts.map +1 -0
  44. package/dist/types/data/countries-110m.d.ts +36 -0
  45. package/dist/types/data/countries-110m.d.ts.map +1 -0
  46. package/dist/types/data/countries-dots-3.d.ts +9 -0
  47. package/dist/types/data/countries-dots-3.d.ts.map +1 -0
  48. package/dist/types/data/countries-dots-4.d.ts +9 -0
  49. package/dist/types/data/countries-dots-4.d.ts.map +1 -0
  50. package/dist/types/src/components/Globe/Globe.d.ts +37 -0
  51. package/dist/types/src/components/Globe/Globe.d.ts.map +1 -0
  52. package/dist/types/src/components/Globe/Globe.stories.d.ts +15 -0
  53. package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -0
  54. package/dist/types/src/components/Globe/index.d.ts +2 -0
  55. package/dist/types/src/components/Globe/index.d.ts.map +1 -0
  56. package/dist/types/src/components/Map/Map.d.ts +34 -0
  57. package/dist/types/src/components/Map/Map.d.ts.map +1 -0
  58. package/dist/types/src/components/Map/Map.stories.d.ts +7 -0
  59. package/dist/types/src/components/Map/Map.stories.d.ts.map +1 -0
  60. package/dist/types/src/components/Map/index.d.ts +2 -0
  61. package/dist/types/src/components/Map/index.d.ts.map +1 -0
  62. package/dist/types/src/components/Toolbar/Controls.d.ts +11 -0
  63. package/dist/types/src/components/Toolbar/Controls.d.ts.map +1 -0
  64. package/dist/types/src/components/Toolbar/index.d.ts +2 -0
  65. package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
  66. package/dist/types/src/components/index.d.ts +5 -0
  67. package/dist/types/src/components/index.d.ts.map +1 -0
  68. package/dist/types/src/components/types.d.ts +14 -0
  69. package/dist/types/src/components/types.d.ts.map +1 -0
  70. package/dist/types/src/data.d.ts +3 -0
  71. package/dist/types/src/data.d.ts.map +1 -0
  72. package/dist/types/src/hooks/context.d.ts +26 -0
  73. package/dist/types/src/hooks/context.d.ts.map +1 -0
  74. package/dist/types/src/hooks/index.d.ts +7 -0
  75. package/dist/types/src/hooks/index.d.ts.map +1 -0
  76. package/dist/types/src/hooks/useDrag.d.ts +16 -0
  77. package/dist/types/src/hooks/useDrag.d.ts.map +1 -0
  78. package/dist/types/src/hooks/useGlobeZoomHandler.d.ts +3 -0
  79. package/dist/types/src/hooks/useGlobeZoomHandler.d.ts.map +1 -0
  80. package/dist/types/src/hooks/useMapZoomHandler.d.ts +3 -0
  81. package/dist/types/src/hooks/useMapZoomHandler.d.ts.map +1 -0
  82. package/dist/types/src/hooks/useSpinner.d.ts +11 -0
  83. package/dist/types/src/hooks/useSpinner.d.ts.map +1 -0
  84. package/dist/types/src/hooks/useTour.d.ts +13 -0
  85. package/dist/types/src/hooks/useTour.d.ts.map +1 -0
  86. package/dist/types/src/index.d.ts +6 -0
  87. package/dist/types/src/index.d.ts.map +1 -0
  88. package/dist/types/src/types.d.ts +7 -0
  89. package/dist/types/src/types.d.ts.map +1 -0
  90. package/dist/types/src/util/debug.d.ts +2 -0
  91. package/dist/types/src/util/debug.d.ts.map +1 -0
  92. package/dist/types/src/util/index.d.ts +5 -0
  93. package/dist/types/src/util/index.d.ts.map +1 -0
  94. package/dist/types/src/util/inertia.d.ts +16 -0
  95. package/dist/types/src/util/inertia.d.ts.map +1 -0
  96. package/dist/types/src/util/path.d.ts +15 -0
  97. package/dist/types/src/util/path.d.ts.map +1 -0
  98. package/dist/types/src/util/render.d.ts +26 -0
  99. package/dist/types/src/util/render.d.ts.map +1 -0
  100. package/dist/types/tsconfig.tsbuildinfo +1 -0
  101. package/package.json +83 -0
  102. package/src/components/Globe/Globe.stories.tsx +332 -0
  103. package/src/components/Globe/Globe.tsx +270 -0
  104. package/src/components/Globe/index.ts +5 -0
  105. package/src/components/Map/Map.stories.tsx +39 -0
  106. package/src/components/Map/Map.tsx +203 -0
  107. package/src/components/Map/index.ts +5 -0
  108. package/src/components/Toolbar/Controls.tsx +71 -0
  109. package/src/components/Toolbar/index.ts +5 -0
  110. package/src/components/index.ts +9 -0
  111. package/src/components/types.ts +18 -0
  112. package/src/data.ts +9 -0
  113. package/src/hooks/context.tsx +59 -0
  114. package/src/hooks/index.ts +10 -0
  115. package/src/hooks/useDrag.ts +55 -0
  116. package/src/hooks/useGlobeZoomHandler.ts +29 -0
  117. package/src/hooks/useMapZoomHandler.ts +29 -0
  118. package/src/hooks/useSpinner.ts +69 -0
  119. package/src/hooks/useTour.ts +114 -0
  120. package/src/index.ts +9 -0
  121. package/src/types.ts +11 -0
  122. package/src/util/debug.ts +16 -0
  123. package/src/util/index.ts +8 -0
  124. package/src/util/inertia.ts +197 -0
  125. package/src/util/path.ts +56 -0
  126. package/src/util/render.ts +149 -0
package/data/cities.ts ADDED
@@ -0,0 +1,1211 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { FeatureCollection } from 'geojson';
6
+
7
+ export default {
8
+ type: 'FeatureCollection',
9
+ features: [
10
+ {
11
+ type: 'Feature',
12
+ properties: {
13
+ pop_max: 35676000,
14
+ name: 'Tokyo',
15
+ adm0name: 'Japan',
16
+ },
17
+ geometry: {
18
+ type: 'Point',
19
+ coordinates: [139.74946157054467, 35.686962764371174],
20
+ },
21
+ },
22
+ {
23
+ type: 'Feature',
24
+ properties: {
25
+ pop_max: 19040000,
26
+ name: 'New York',
27
+ adm0name: 'United States of America',
28
+ },
29
+ geometry: {
30
+ type: 'Point',
31
+ coordinates: [-73.98196278740681, 40.75192492259464],
32
+ },
33
+ },
34
+ {
35
+ type: 'Feature',
36
+ properties: {
37
+ pop_max: 19028000,
38
+ name: 'Mexico City',
39
+ adm0name: 'Mexico',
40
+ },
41
+ geometry: {
42
+ type: 'Point',
43
+ coordinates: [-99.1329340602939, 19.444388301415472],
44
+ },
45
+ },
46
+ {
47
+ type: 'Feature',
48
+ properties: {
49
+ pop_max: 18978000,
50
+ name: 'Mumbai',
51
+ adm0name: 'India',
52
+ },
53
+ geometry: {
54
+ type: 'Point',
55
+ coordinates: [72.85504343876647, 19.0189362343566],
56
+ },
57
+ },
58
+ {
59
+ type: 'Feature',
60
+ properties: {
61
+ pop_max: 18845000,
62
+ name: 'São Paulo',
63
+ adm0name: 'Brazil',
64
+ },
65
+ geometry: {
66
+ type: 'Point',
67
+ coordinates: [-46.62696583905523, -23.55673372837896],
68
+ },
69
+ },
70
+ {
71
+ type: 'Feature',
72
+ properties: {
73
+ pop_max: 15926000,
74
+ name: 'Delhi',
75
+ adm0name: 'India',
76
+ },
77
+ geometry: {
78
+ type: 'Point',
79
+ coordinates: [77.22805816860182, 28.671938757181522],
80
+ },
81
+ },
82
+ {
83
+ type: 'Feature',
84
+ properties: {
85
+ pop_max: 14987000,
86
+ name: 'Shanghai',
87
+ adm0name: 'China',
88
+ },
89
+ geometry: {
90
+ type: 'Point',
91
+ coordinates: [121.43455881982015, 31.218398311228327],
92
+ },
93
+ },
94
+ {
95
+ type: 'Feature',
96
+ properties: {
97
+ pop_max: 14787000,
98
+ name: 'Kolkata',
99
+ adm0name: 'India',
100
+ },
101
+ geometry: {
102
+ type: 'Point',
103
+ coordinates: [88.32272979950551, 22.49691515689642],
104
+ },
105
+ },
106
+ {
107
+ type: 'Feature',
108
+ properties: {
109
+ pop_max: 12797394,
110
+ name: 'Dhaka',
111
+ adm0name: 'Bangladesh',
112
+ },
113
+ geometry: {
114
+ type: 'Point',
115
+ coordinates: [90.40663360810754, 23.725005570312817],
116
+ },
117
+ },
118
+ {
119
+ type: 'Feature',
120
+ properties: {
121
+ pop_max: 12795000,
122
+ name: 'Buenos Aires',
123
+ adm0name: 'Argentina',
124
+ },
125
+ geometry: {
126
+ type: 'Point',
127
+ coordinates: [-58.399477232331435, -34.600555749907414],
128
+ },
129
+ },
130
+ {
131
+ type: 'Feature',
132
+ properties: {
133
+ pop_max: 12500000,
134
+ name: 'Los Angeles',
135
+ adm0name: 'United States of America',
136
+ },
137
+ geometry: {
138
+ type: 'Point',
139
+ coordinates: [-118.18192636994041, 33.99192410876543],
140
+ },
141
+ },
142
+ {
143
+ type: 'Feature',
144
+ properties: {
145
+ pop_max: 12130000,
146
+ name: 'Karachi',
147
+ adm0name: 'Pakistan',
148
+ },
149
+ geometry: {
150
+ type: 'Point',
151
+ coordinates: [66.98806305137339, 24.87193814681484],
152
+ },
153
+ },
154
+ {
155
+ type: 'Feature',
156
+ properties: {
157
+ pop_max: 11893000,
158
+ name: 'Cairo',
159
+ adm0name: 'Egypt',
160
+ },
161
+ geometry: {
162
+ type: 'Point',
163
+ coordinates: [31.248022361126118, 30.051906205103705],
164
+ },
165
+ },
166
+ {
167
+ type: 'Feature',
168
+ properties: {
169
+ pop_max: 11748000,
170
+ name: 'Rio de Janeiro',
171
+ adm0name: 'Brazil',
172
+ },
173
+ geometry: {
174
+ type: 'Point',
175
+ coordinates: [-43.22696665284366, -22.923077315615956],
176
+ },
177
+ },
178
+ {
179
+ type: 'Feature',
180
+ properties: {
181
+ pop_max: 11294000,
182
+ name: 'Ōsaka',
183
+ adm0name: 'Japan',
184
+ },
185
+ geometry: {
186
+ type: 'Point',
187
+ coordinates: [135.4581989565952, 34.75198107491417],
188
+ },
189
+ },
190
+ {
191
+ type: 'Feature',
192
+ properties: {
193
+ pop_max: 11106000,
194
+ name: 'Beijing',
195
+ adm0name: 'China',
196
+ },
197
+ geometry: {
198
+ type: 'Point',
199
+ coordinates: [116.38633982565943, 39.93083808990906],
200
+ },
201
+ },
202
+ {
203
+ type: 'Feature',
204
+ properties: {
205
+ pop_max: 11100000,
206
+ name: 'Manila',
207
+ adm0name: 'Philippines',
208
+ },
209
+ geometry: {
210
+ type: 'Point',
211
+ coordinates: [120.9802713035424, 14.606104813440538],
212
+ },
213
+ },
214
+ {
215
+ type: 'Feature',
216
+ properties: {
217
+ pop_max: 10452000,
218
+ name: 'Moscow',
219
+ adm0name: 'Russia',
220
+ },
221
+ geometry: {
222
+ type: 'Point',
223
+ coordinates: [37.6135769672714, 55.75410998124818],
224
+ },
225
+ },
226
+ {
227
+ type: 'Feature',
228
+ properties: {
229
+ pop_max: 10061000,
230
+ name: 'Istanbul',
231
+ adm0name: 'Turkey',
232
+ },
233
+ geometry: {
234
+ type: 'Point',
235
+ coordinates: [29.008055727002613, 41.10694201243979],
236
+ },
237
+ },
238
+ {
239
+ type: 'Feature',
240
+ properties: {
241
+ pop_max: 9904000,
242
+ name: 'Paris',
243
+ adm0name: 'France',
244
+ },
245
+ geometry: {
246
+ type: 'Point',
247
+ coordinates: [2.33138946713035, 48.86863878981461],
248
+ },
249
+ },
250
+ {
251
+ type: 'Feature',
252
+ properties: {
253
+ pop_max: 9796000,
254
+ name: 'Seoul',
255
+ adm0name: 'South Korea',
256
+ },
257
+ geometry: {
258
+ type: 'Point',
259
+ coordinates: [126.99778513820195, 37.56829495838895],
260
+ },
261
+ },
262
+ {
263
+ type: 'Feature',
264
+ properties: {
265
+ pop_max: 9466000,
266
+ name: 'Lagos',
267
+ adm0name: 'Nigeria',
268
+ },
269
+ geometry: {
270
+ type: 'Point',
271
+ coordinates: [3.3895852125984334, 6.445207512093191],
272
+ },
273
+ },
274
+ {
275
+ type: 'Feature',
276
+ properties: {
277
+ pop_max: 9125000,
278
+ name: 'Jakarta',
279
+ adm0name: 'Indonesia',
280
+ },
281
+ geometry: {
282
+ type: 'Point',
283
+ coordinates: [106.82749176247012, -6.172471846798885],
284
+ },
285
+ },
286
+ {
287
+ type: 'Feature',
288
+ properties: {
289
+ pop_max: 8990000,
290
+ name: 'Chicago',
291
+ adm0name: 'United States of America',
292
+ },
293
+ geometry: {
294
+ type: 'Point',
295
+ coordinates: [-87.75200083270931, 41.83193651927843],
296
+ },
297
+ },
298
+ {
299
+ type: 'Feature',
300
+ properties: {
301
+ pop_max: 8829000,
302
+ name: 'Guangzhou',
303
+ adm0name: 'China',
304
+ },
305
+ geometry: {
306
+ type: 'Point',
307
+ coordinates: [113.32306427226172, 23.14692716047989],
308
+ },
309
+ },
310
+ {
311
+ type: 'Feature',
312
+ properties: {
313
+ pop_max: 8567000,
314
+ name: 'London',
315
+ adm0name: 'United Kingdom',
316
+ },
317
+ geometry: {
318
+ type: 'Point',
319
+ coordinates: [-0.11866770247593195, 51.5019405883275],
320
+ },
321
+ },
322
+ {
323
+ type: 'Feature',
324
+ properties: {
325
+ pop_max: 8012000,
326
+ name: 'Lima',
327
+ adm0name: 'Peru',
328
+ },
329
+ geometry: {
330
+ type: 'Point',
331
+ coordinates: [-77.05200795343472, -12.04606681752557],
332
+ },
333
+ },
334
+ {
335
+ type: 'Feature',
336
+ properties: {
337
+ pop_max: 7873000,
338
+ name: 'Tehran',
339
+ adm0name: 'Iran',
340
+ },
341
+ geometry: {
342
+ type: 'Point',
343
+ coordinates: [51.42239817500899, 35.673888627001304],
344
+ },
345
+ },
346
+ {
347
+ type: 'Feature',
348
+ properties: {
349
+ pop_max: 7843000,
350
+ name: 'Kinshasa',
351
+ adm0name: 'Congo (Kinshasa)',
352
+ },
353
+ geometry: {
354
+ type: 'Point',
355
+ coordinates: [15.313026023171744, -4.327778243275986],
356
+ },
357
+ },
358
+ {
359
+ type: 'Feature',
360
+ properties: {
361
+ pop_max: 7772000,
362
+ name: 'Bogota',
363
+ adm0name: 'Colombia',
364
+ },
365
+ geometry: {
366
+ type: 'Point',
367
+ coordinates: [-74.08528981377441, 4.598369421147822],
368
+ },
369
+ },
370
+ {
371
+ type: 'Feature',
372
+ properties: {
373
+ pop_max: 7581000,
374
+ name: 'Shenzhen',
375
+ adm0name: 'China',
376
+ },
377
+ geometry: {
378
+ type: 'Point',
379
+ coordinates: [114.1201772298325, 22.554316369677963],
380
+ },
381
+ },
382
+ {
383
+ type: 'Feature',
384
+ properties: {
385
+ pop_max: 7243000,
386
+ name: 'Wuhan',
387
+ adm0name: 'China',
388
+ },
389
+ geometry: {
390
+ type: 'Point',
391
+ coordinates: [114.26807118958311, 30.581977209337822],
392
+ },
393
+ },
394
+ {
395
+ type: 'Feature',
396
+ properties: {
397
+ pop_max: 7206000,
398
+ name: 'Hong Kong',
399
+ adm0name: 'Hong Kong S.A.R.',
400
+ },
401
+ geometry: {
402
+ type: 'Point',
403
+ coordinates: [114.18306345846304, 22.30692675357551],
404
+ },
405
+ },
406
+ {
407
+ type: 'Feature',
408
+ properties: {
409
+ pop_max: 7180000,
410
+ name: 'Tianjin',
411
+ adm0name: 'China',
412
+ },
413
+ geometry: {
414
+ type: 'Point',
415
+ coordinates: [117.19807322410043, 39.13197212310894],
416
+ },
417
+ },
418
+ {
419
+ type: 'Feature',
420
+ properties: {
421
+ pop_max: 7163000,
422
+ name: 'Chennai',
423
+ adm0name: 'India',
424
+ },
425
+ geometry: {
426
+ type: 'Point',
427
+ coordinates: [80.27805287890033, 13.091933670856292],
428
+ },
429
+ },
430
+ {
431
+ type: 'Feature',
432
+ properties: {
433
+ pop_max: 6900273,
434
+ name: 'Taipei',
435
+ adm0name: 'Taiwan',
436
+ },
437
+ geometry: {
438
+ type: 'Point',
439
+ coordinates: [121.568333333333, 25.0358333333333],
440
+ },
441
+ },
442
+ {
443
+ type: 'Feature',
444
+ properties: {
445
+ pop_max: 6787000,
446
+ name: 'Bangalore',
447
+ adm0name: 'India',
448
+ },
449
+ geometry: {
450
+ type: 'Point',
451
+ coordinates: [77.55806386521755, 12.97194099507442],
452
+ },
453
+ },
454
+ {
455
+ type: 'Feature',
456
+ properties: {
457
+ pop_max: 6704000,
458
+ name: 'Bangkok',
459
+ adm0name: 'Thailand',
460
+ },
461
+ geometry: {
462
+ type: 'Point',
463
+ coordinates: [100.51469879369489, 13.751945064087977],
464
+ },
465
+ },
466
+ {
467
+ type: 'Feature',
468
+ properties: {
469
+ pop_max: 6577000,
470
+ name: 'Lahore',
471
+ adm0name: 'Pakistan',
472
+ },
473
+ geometry: {
474
+ type: 'Point',
475
+ coordinates: [74.34807892054346, 31.56191739488844],
476
+ },
477
+ },
478
+ {
479
+ type: 'Feature',
480
+ properties: {
481
+ pop_max: 6461000,
482
+ name: 'Chongqing',
483
+ adm0name: 'China',
484
+ },
485
+ geometry: {
486
+ type: 'Point',
487
+ coordinates: [106.59303578916195, 29.566922888044644],
488
+ },
489
+ },
490
+ {
491
+ type: 'Feature',
492
+ properties: {
493
+ pop_max: 6376000,
494
+ name: 'Hyderabad',
495
+ adm0name: 'India',
496
+ },
497
+ geometry: {
498
+ type: 'Point',
499
+ coordinates: [78.47800771287751, 17.401928991511454],
500
+ },
501
+ },
502
+ {
503
+ type: 'Feature',
504
+ properties: {
505
+ pop_max: 5720000,
506
+ name: 'Santiago',
507
+ adm0name: 'Chile',
508
+ },
509
+ geometry: {
510
+ type: 'Point',
511
+ coordinates: [-70.66898671317483, -33.448067956934096],
512
+ },
513
+ },
514
+ {
515
+ type: 'Feature',
516
+ properties: {
517
+ pop_max: 5585000,
518
+ name: 'Miami',
519
+ adm0name: 'United States of America',
520
+ },
521
+ geometry: {
522
+ type: 'Point',
523
+ coordinates: [-80.22605193945003, 25.789556555021534],
524
+ },
525
+ },
526
+ {
527
+ type: 'Feature',
528
+ properties: {
529
+ pop_max: 5575000,
530
+ name: 'Belo Horizonte',
531
+ adm0name: 'Brazil',
532
+ },
533
+ geometry: {
534
+ type: 'Point',
535
+ coordinates: [-43.916950376804834, -19.91308016391116],
536
+ },
537
+ },
538
+ {
539
+ type: 'Feature',
540
+ properties: {
541
+ pop_max: 5567000,
542
+ name: 'Madrid',
543
+ adm0name: 'Spain',
544
+ },
545
+ geometry: {
546
+ type: 'Point',
547
+ coordinates: [-3.6852975446125242, 40.40197212311381],
548
+ },
549
+ },
550
+ {
551
+ type: 'Feature',
552
+ properties: {
553
+ pop_max: 5492000,
554
+ name: 'Philadelphia',
555
+ adm0name: 'United States of America',
556
+ },
557
+ geometry: {
558
+ type: 'Point',
559
+ coordinates: [-75.17194183200792, 40.001919022526465],
560
+ },
561
+ },
562
+ {
563
+ type: 'Feature',
564
+ properties: {
565
+ pop_max: 5375000,
566
+ name: 'Ahmedabad',
567
+ adm0name: 'India',
568
+ },
569
+ geometry: {
570
+ type: 'Point',
571
+ coordinates: [72.57805776168215, 23.031998775062675],
572
+ },
573
+ },
574
+ {
575
+ type: 'Feature',
576
+ properties: {
577
+ pop_max: 5314000,
578
+ name: 'Ho Chi Minh City',
579
+ adm0name: 'Vietnam',
580
+ },
581
+ geometry: {
582
+ type: 'Point',
583
+ coordinates: [106.69308136207889, 10.781971309193409],
584
+ },
585
+ },
586
+ {
587
+ type: 'Feature',
588
+ properties: {
589
+ pop_max: 5213000,
590
+ name: 'Toronto',
591
+ adm0name: 'Canada',
592
+ },
593
+ geometry: {
594
+ type: 'Point',
595
+ coordinates: [-79.42196665298843, 43.70192573640844],
596
+ },
597
+ },
598
+ {
599
+ type: 'Feature',
600
+ properties: {
601
+ pop_max: 5183700,
602
+ name: 'Singapore',
603
+ adm0name: 'Singapore',
604
+ },
605
+ geometry: {
606
+ type: 'Point',
607
+ coordinates: [103.85387481909902, 1.2949793251059418],
608
+ },
609
+ },
610
+ {
611
+ type: 'Feature',
612
+ properties: {
613
+ pop_max: 5172900,
614
+ name: 'Luanda',
615
+ adm0name: 'Angola',
616
+ },
617
+ geometry: {
618
+ type: 'Point',
619
+ coordinates: [13.23248118266855, -8.836340255012658],
620
+ },
621
+ },
622
+ {
623
+ type: 'Feature',
624
+ properties: {
625
+ pop_max: 5054000,
626
+ name: 'Baghdad',
627
+ adm0name: 'Iraq',
628
+ },
629
+ geometry: {
630
+ type: 'Point',
631
+ coordinates: [44.391922914564134, 33.34059435615865],
632
+ },
633
+ },
634
+ {
635
+ type: 'Feature',
636
+ properties: {
637
+ pop_max: 4920000,
638
+ name: 'Barcelona',
639
+ adm0name: 'Spain',
640
+ },
641
+ geometry: {
642
+ type: 'Point',
643
+ coordinates: [2.181424460619155, 41.385245438547486],
644
+ },
645
+ },
646
+ {
647
+ type: 'Feature',
648
+ properties: {
649
+ pop_max: 4841638,
650
+ name: 'Haora',
651
+ adm0name: 'India',
652
+ },
653
+ geometry: {
654
+ type: 'Point',
655
+ coordinates: [88.32994665421205, 22.580390440861947],
656
+ },
657
+ },
658
+ {
659
+ type: 'Feature',
660
+ properties: {
661
+ pop_max: 4798000,
662
+ name: 'Dallas',
663
+ adm0name: 'United States of America',
664
+ },
665
+ geometry: {
666
+ type: 'Point',
667
+ coordinates: [-96.84196278749818, 32.82196968167733],
668
+ },
669
+ },
670
+ {
671
+ type: 'Feature',
672
+ properties: {
673
+ pop_max: 4787000,
674
+ name: 'Shenyeng',
675
+ adm0name: 'China',
676
+ },
677
+ geometry: {
678
+ type: 'Point',
679
+ coordinates: [123.44802765120869, 41.80692512604918],
680
+ },
681
+ },
682
+ {
683
+ type: 'Feature',
684
+ properties: {
685
+ pop_max: 4754000,
686
+ name: 'Khartoum',
687
+ adm0name: 'Sudan',
688
+ },
689
+ geometry: {
690
+ type: 'Point',
691
+ coordinates: [32.532233380011576, 15.590024084277673],
692
+ },
693
+ },
694
+ {
695
+ type: 'Feature',
696
+ properties: {
697
+ pop_max: 4672000,
698
+ name: 'Pune',
699
+ adm0name: 'India',
700
+ },
701
+ geometry: {
702
+ type: 'Point',
703
+ coordinates: [73.84805776168719, 18.531963374654026],
704
+ },
705
+ },
706
+ {
707
+ type: 'Feature',
708
+ properties: {
709
+ pop_max: 4630000,
710
+ name: 'Sydney',
711
+ adm0name: 'Australia',
712
+ },
713
+ geometry: {
714
+ type: 'Point',
715
+ coordinates: [151.1832339501475, -33.91806510862875],
716
+ },
717
+ },
718
+ {
719
+ type: 'Feature',
720
+ properties: {
721
+ pop_max: 4553000,
722
+ name: 'St. Petersburg',
723
+ adm0name: 'Russia',
724
+ },
725
+ geometry: {
726
+ type: 'Point',
727
+ coordinates: [30.314074200315076, 59.94096036375191],
728
+ },
729
+ },
730
+ {
731
+ type: 'Feature',
732
+ properties: {
733
+ pop_max: 4529000,
734
+ name: 'Chittagong',
735
+ adm0name: 'Bangladesh',
736
+ },
737
+ geometry: {
738
+ type: 'Point',
739
+ coordinates: [91.79802154756635, 22.33193814680459],
740
+ },
741
+ },
742
+ {
743
+ type: 'Feature',
744
+ properties: {
745
+ pop_max: 4528000,
746
+ name: 'Dongguan',
747
+ adm0name: 'China',
748
+ },
749
+ geometry: {
750
+ type: 'Point',
751
+ coordinates: [113.74277634138707, 23.050834758613007],
752
+ },
753
+ },
754
+ {
755
+ type: 'Feature',
756
+ properties: {
757
+ pop_max: 4506000,
758
+ name: 'Atlanta',
759
+ adm0name: 'United States of America',
760
+ },
761
+ geometry: {
762
+ type: 'Point',
763
+ coordinates: [-84.40189524187565, 33.83195971260585],
764
+ },
765
+ },
766
+ {
767
+ type: 'Feature',
768
+ properties: {
769
+ pop_max: 4467000,
770
+ name: 'Boston',
771
+ adm0name: 'United States of America',
772
+ },
773
+ geometry: {
774
+ type: 'Point',
775
+ coordinates: [-71.07195953218684, 42.33190600170229],
776
+ },
777
+ },
778
+ {
779
+ type: 'Feature',
780
+ properties: {
781
+ pop_max: 4465000,
782
+ name: 'Riyadh',
783
+ adm0name: 'Saudi Arabia',
784
+ },
785
+ geometry: {
786
+ type: 'Point',
787
+ coordinates: [46.770795798688255, 24.642779007816443],
788
+ },
789
+ },
790
+ {
791
+ type: 'Feature',
792
+ properties: {
793
+ pop_max: 4459000,
794
+ name: 'Houston',
795
+ adm0name: 'United States of America',
796
+ },
797
+ geometry: {
798
+ type: 'Point',
799
+ coordinates: [-95.341925149146, 29.821920243188856],
800
+ },
801
+ },
802
+ {
803
+ type: 'Feature',
804
+ properties: {
805
+ pop_max: 4378000,
806
+ name: 'Hanoi',
807
+ adm0name: 'Vietnam',
808
+ },
809
+ geometry: {
810
+ type: 'Point',
811
+ coordinates: [105.8480683412422, 21.035273107737055],
812
+ },
813
+ },
814
+ {
815
+ type: 'Feature',
816
+ properties: {
817
+ pop_max: 4338000,
818
+ name: 'Washington, D.C.',
819
+ adm0name: 'United States of America',
820
+ },
821
+ geometry: {
822
+ type: 'Point',
823
+ coordinates: [-77.01136443943716, 38.901495235087054],
824
+ },
825
+ },
826
+ {
827
+ type: 'Feature',
828
+ properties: {
829
+ pop_max: 4198000,
830
+ name: 'Guadalajara',
831
+ adm0name: 'Mexico',
832
+ },
833
+ geometry: {
834
+ type: 'Point',
835
+ coordinates: [-103.33198008081848, 20.671961950508944],
836
+ },
837
+ },
838
+ {
839
+ type: 'Feature',
840
+ properties: {
841
+ pop_max: 4170000,
842
+ name: 'Melbourne',
843
+ adm0name: 'Australia',
844
+ },
845
+ geometry: {
846
+ type: 'Point',
847
+ coordinates: [144.97307037590406, -37.81808545369631],
848
+ },
849
+ },
850
+ {
851
+ type: 'Feature',
852
+ properties: {
853
+ pop_max: 4165000,
854
+ name: 'Alexandria',
855
+ adm0name: 'Egypt',
856
+ },
857
+ geometry: {
858
+ type: 'Point',
859
+ coordinates: [29.948050030391755, 31.201965205759393],
860
+ },
861
+ },
862
+ {
863
+ type: 'Feature',
864
+ properties: {
865
+ pop_max: 4123000,
866
+ name: 'Chengdu',
867
+ adm0name: 'China',
868
+ },
869
+ geometry: {
870
+ type: 'Point',
871
+ coordinates: [104.06807363094873, 30.671945877957796],
872
+ },
873
+ },
874
+ {
875
+ type: 'Feature',
876
+ properties: {
877
+ pop_max: 4101000,
878
+ name: 'Detroit',
879
+ adm0name: 'United States of America',
880
+ },
881
+ geometry: {
882
+ type: 'Point',
883
+ coordinates: [-83.0820016464927, 42.33190600170229],
884
+ },
885
+ },
886
+ {
887
+ type: 'Feature',
888
+ properties: {
889
+ pop_max: 4088000,
890
+ name: 'Rangoon',
891
+ adm0name: 'Myanmar',
892
+ },
893
+ geometry: {
894
+ type: 'Point',
895
+ coordinates: [96.16473175266185, 16.785299963188777],
896
+ },
897
+ },
898
+ {
899
+ type: 'Feature',
900
+ properties: {
901
+ pop_max: 4009000,
902
+ name: 'Xian',
903
+ adm0name: 'China',
904
+ },
905
+ geometry: {
906
+ type: 'Point',
907
+ coordinates: [108.89305043760862, 34.27697130928732],
908
+ },
909
+ },
910
+ {
911
+ type: 'Feature',
912
+ properties: {
913
+ pop_max: 3917000,
914
+ name: 'Porto Alegre',
915
+ adm0name: 'Brazil',
916
+ },
917
+ geometry: {
918
+ type: 'Point',
919
+ coordinates: [-51.20195790450316, -30.048068770722466],
920
+ },
921
+ },
922
+ {
923
+ type: 'Feature',
924
+ properties: {
925
+ pop_max: 3893740,
926
+ name: 'New Taipei',
927
+ adm0name: 'Taiwan',
928
+ },
929
+ geometry: {
930
+ type: 'Point',
931
+ coordinates: [121.465, 25.0127777777778],
932
+ },
933
+ },
934
+ {
935
+ type: 'Feature',
936
+ properties: {
937
+ pop_max: 3842000,
938
+ name: 'Surat',
939
+ adm0name: 'India',
940
+ },
941
+ geometry: {
942
+ type: 'Point',
943
+ coordinates: [72.83809356897484, 21.20192960187819],
944
+ },
945
+ },
946
+ {
947
+ type: 'Feature',
948
+ properties: {
949
+ pop_max: 3830000,
950
+ name: 'Hechi',
951
+ adm0name: 'China',
952
+ },
953
+ geometry: {
954
+ type: 'Point',
955
+ coordinates: [109.60911291406296, 23.09653464659317],
956
+ },
957
+ },
958
+ {
959
+ type: 'Feature',
960
+ properties: {
961
+ pop_max: 3802000,
962
+ name: 'Abidjan',
963
+ adm0name: 'Ivory Coast',
964
+ },
965
+ geometry: {
966
+ type: 'Point',
967
+ coordinates: [-4.041994118507091, 5.321942826098564],
968
+ },
969
+ },
970
+ {
971
+ type: 'Feature',
972
+ properties: {
973
+ pop_max: 3716996,
974
+ name: 'Brasília',
975
+ adm0name: 'Brazil',
976
+ },
977
+ geometry: {
978
+ type: 'Point',
979
+ coordinates: [-47.91799814700306, -15.781394372878992],
980
+ },
981
+ },
982
+ {
983
+ type: 'Feature',
984
+ properties: {
985
+ pop_max: 3716000,
986
+ name: 'Ankara',
987
+ adm0name: 'Turkey',
988
+ },
989
+ geometry: {
990
+ type: 'Point',
991
+ coordinates: [32.862445782356644, 39.929184444075474],
992
+ },
993
+ },
994
+ {
995
+ type: 'Feature',
996
+ properties: {
997
+ pop_max: 3712000,
998
+ name: 'Monterrey',
999
+ adm0name: 'Mexico',
1000
+ },
1001
+ geometry: {
1002
+ type: 'Point',
1003
+ coordinates: [-100.33193064232995, 25.671940995125283],
1004
+ },
1005
+ },
1006
+ {
1007
+ type: 'Feature',
1008
+ properties: {
1009
+ pop_max: 3697894,
1010
+ name: 'Yokohama',
1011
+ adm0name: 'Japan',
1012
+ },
1013
+ geometry: {
1014
+ type: 'Point',
1015
+ coordinates: [139.60202098994017, 35.43065615270891],
1016
+ },
1017
+ },
1018
+ {
1019
+ type: 'Feature',
1020
+ properties: {
1021
+ pop_max: 3679000,
1022
+ name: 'Nanjing',
1023
+ adm0name: 'China',
1024
+ },
1025
+ geometry: {
1026
+ type: 'Point',
1027
+ coordinates: [118.77802846499208, 32.05196500231233],
1028
+ },
1029
+ },
1030
+ {
1031
+ type: 'Feature',
1032
+ properties: {
1033
+ pop_max: 3678000,
1034
+ name: 'Montréal',
1035
+ adm0name: 'Canada',
1036
+ },
1037
+ geometry: {
1038
+ type: 'Point',
1039
+ coordinates: [-73.58524281670213, 45.50194506421502],
1040
+ },
1041
+ },
1042
+ {
1043
+ type: 'Feature',
1044
+ properties: {
1045
+ pop_max: 3662000,
1046
+ name: 'Guiyang',
1047
+ adm0name: 'China',
1048
+ },
1049
+ geometry: {
1050
+ type: 'Point',
1051
+ coordinates: [106.7180927553083, 26.581988806001448],
1052
+ },
1053
+ },
1054
+ {
1055
+ type: 'Feature',
1056
+ properties: {
1057
+ pop_max: 3651000,
1058
+ name: 'Recife',
1059
+ adm0name: 'Brazil',
1060
+ },
1061
+ geometry: {
1062
+ type: 'Point',
1063
+ coordinates: [-34.91755136960728, -8.073699467249241],
1064
+ },
1065
+ },
1066
+ {
1067
+ type: 'Feature',
1068
+ properties: {
1069
+ pop_max: 3621000,
1070
+ name: 'Harbin',
1071
+ adm0name: 'China',
1072
+ },
1073
+ geometry: {
1074
+ type: 'Point',
1075
+ coordinates: [126.64803904445057, 45.75192980542715],
1076
+ },
1077
+ },
1078
+ {
1079
+ type: 'Feature',
1080
+ properties: {
1081
+ pop_max: 3602319,
1082
+ name: 'Fortaleza',
1083
+ adm0name: 'Brazil',
1084
+ },
1085
+ geometry: {
1086
+ type: 'Point',
1087
+ coordinates: [-38.58192718342411, -3.7480720258257634],
1088
+ },
1089
+ },
1090
+ {
1091
+ type: 'Feature',
1092
+ properties: {
1093
+ pop_max: 3551000,
1094
+ name: 'Phoenix',
1095
+ adm0name: 'United States of America',
1096
+ },
1097
+ geometry: {
1098
+ type: 'Point',
1099
+ coordinates: [-112.07193755969467, 33.5419257363676],
1100
+ },
1101
+ },
1102
+ {
1103
+ type: 'Feature',
1104
+ properties: {
1105
+ pop_max: 3531147,
1106
+ name: 'Zhangzhou',
1107
+ adm0name: 'China',
1108
+ },
1109
+ geometry: {
1110
+ type: 'Point',
1111
+ coordinates: [117.67001623440774, 24.520375385531167],
1112
+ },
1113
+ },
1114
+ {
1115
+ type: 'Feature',
1116
+ properties: {
1117
+ pop_max: 3484000,
1118
+ name: 'Salvador',
1119
+ adm0name: 'Brazil',
1120
+ },
1121
+ geometry: {
1122
+ type: 'Point',
1123
+ coordinates: [-38.48193328693924, -12.968026046044827],
1124
+ },
1125
+ },
1126
+ {
1127
+ type: 'Feature',
1128
+ properties: {
1129
+ pop_max: 3480000,
1130
+ name: 'Busan',
1131
+ adm0name: 'South Korea',
1132
+ },
1133
+ geometry: {
1134
+ type: 'Point',
1135
+ coordinates: [129.00810170722048, 35.09699877511093],
1136
+ },
1137
+ },
1138
+ {
1139
+ type: 'Feature',
1140
+ properties: {
1141
+ pop_max: 3450000,
1142
+ name: 'San Francisco',
1143
+ adm0name: 'United States of America',
1144
+ },
1145
+ geometry: {
1146
+ type: 'Point',
1147
+ coordinates: [-122.41716877355225, 37.76919562968743],
1148
+ },
1149
+ },
1150
+ {
1151
+ type: 'Feature',
1152
+ properties: {
1153
+ pop_max: 3435000,
1154
+ name: 'Johannesburg',
1155
+ adm0name: 'South Africa',
1156
+ },
1157
+ geometry: {
1158
+ type: 'Point',
1159
+ coordinates: [28.028063865019476, -26.16809888138414],
1160
+ },
1161
+ },
1162
+ {
1163
+ type: 'Feature',
1164
+ properties: {
1165
+ pop_max: 3406000,
1166
+ name: 'Berlin',
1167
+ adm0name: 'Germany',
1168
+ },
1169
+ geometry: {
1170
+ type: 'Point',
1171
+ coordinates: [13.399602764700546, 52.523764522251156],
1172
+ },
1173
+ },
1174
+ {
1175
+ type: 'Feature',
1176
+ properties: {
1177
+ pop_max: 3354000,
1178
+ name: 'Algiers',
1179
+ adm0name: 'Algeria',
1180
+ },
1181
+ geometry: {
1182
+ type: 'Point',
1183
+ coordinates: [3.048606670909237, 36.765010656628135],
1184
+ },
1185
+ },
1186
+ {
1187
+ type: 'Feature',
1188
+ properties: {
1189
+ pop_max: 3339000,
1190
+ name: 'Rome',
1191
+ adm0name: 'Italy',
1192
+ },
1193
+ geometry: {
1194
+ type: 'Point',
1195
+ coordinates: [12.481312562873995, 41.89790148509894],
1196
+ },
1197
+ },
1198
+ {
1199
+ type: 'Feature',
1200
+ properties: {
1201
+ pop_max: 3300000,
1202
+ name: 'Pyongyang',
1203
+ adm0name: 'North Korea',
1204
+ },
1205
+ geometry: {
1206
+ type: 'Point',
1207
+ coordinates: [125.75274485499392, 39.02138455800434],
1208
+ },
1209
+ },
1210
+ ],
1211
+ } satisfies FeatureCollection;