refresh data sources close #73

This commit is contained in:
Matt Walsh
2025-04-06 09:42:58 -05:00
parent 6f260a6ac7
commit fb93ade4d2
18 changed files with 21194 additions and 26727 deletions

6
.vscode/launch.json vendored
View File

@@ -18,7 +18,7 @@
}, },
{ {
"name": "Data:stations", "name": "Data:stations",
"program": "${workspaceFolder}/datagenerators/stations.js", "program": "${workspaceFolder}/datagenerators/stations.mjs",
"request": "launch", "request": "launch",
"skipFiles": [ "skipFiles": [
"<node_internals>/**" "<node_internals>/**"
@@ -27,7 +27,7 @@
}, },
{ {
"name": "Data:regionalcities", "name": "Data:regionalcities",
"program": "${workspaceFolder}/datagenerators/regionalcities.js", "program": "${workspaceFolder}/datagenerators/regionalcities.mjs",
"request": "launch", "request": "launch",
"skipFiles": [ "skipFiles": [
"<node_internals>/**" "<node_internals>/**"
@@ -36,7 +36,7 @@
}, },
{ {
"name": "Data:travelcities", "name": "Data:travelcities",
"program": "${workspaceFolder}/datagenerators/travelcities.js", "program": "${workspaceFolder}/datagenerators/travelcities.mjs",
"request": "launch", "request": "launch",
"skipFiles": [ "skipFiles": [
"<node_internals>/**" "<node_internals>/**"

View File

@@ -22,5 +22,8 @@
}, },
"eslint.validate": [ "eslint.validate": [
"javascript" "javascript"
],
"cSpell.words": [
"Tucsan"
] ]
} }

View File

@@ -19,4 +19,4 @@ const chunk = (data, chunkSize = 10) => {
return chunks; return chunks;
}; };
module.exports = chunk; export default chunk;

View File

@@ -1,8 +1,7 @@
// async https wrapper // async https wrapper
import https from 'https';
const https = require('https'); const get = (url) => new Promise((resolve, reject) => {
module.exports = (url) => new Promise((resolve, reject) => {
const headers = {}; const headers = {};
headers['user-agent'] = '(WeatherStar 4000+ data generator, ws4000@netbymatt.com)'; headers['user-agent'] = '(WeatherStar 4000+ data generator, ws4000@netbymatt.com)';
@@ -22,3 +21,5 @@ module.exports = (url) => new Promise((resolve, reject) => {
reject(e); reject(e);
}); });
}); });
export default get;

View File

@@ -4,8 +4,8 @@
"lat": 33.749, "lat": 33.749,
"lon": -84.388, "lon": -84.388,
"point": { "point": {
"x": 50, "x": 51,
"y": 86, "y": 87,
"wfo": "FFC" "wfo": "FFC"
} }
}, },
@@ -24,8 +24,8 @@
"lat": 41.9796, "lat": 41.9796,
"lon": -87.9045, "lon": -87.9045,
"point": { "point": {
"x": 65, "x": 66,
"y": 76, "y": 77,
"wfo": "LOT" "wfo": "LOT"
} }
}, },
@@ -34,8 +34,8 @@
"lat": 41.4995, "lat": 41.4995,
"lon": -81.6954, "lon": -81.6954,
"point": { "point": {
"x": 82, "x": 83,
"y": 64, "y": 65,
"wfo": "CLE" "wfo": "CLE"
} }
}, },
@@ -44,8 +44,8 @@
"lat": 32.8959, "lat": 32.8959,
"lon": -97.0372, "lon": -97.0372,
"point": { "point": {
"x": 79, "x": 80,
"y": 108, "y": 109,
"wfo": "FWD" "wfo": "FWD"
} }
}, },
@@ -54,8 +54,8 @@
"lat": 39.7391, "lat": 39.7391,
"lon": -104.9847, "lon": -104.9847,
"point": { "point": {
"x": 62, "x": 63,
"y": 60, "y": 61,
"wfo": "BOU" "wfo": "BOU"
} }
}, },
@@ -64,8 +64,8 @@
"lat": 42.3314, "lat": 42.3314,
"lon": -83.0457, "lon": -83.0457,
"point": { "point": {
"x": 65, "x": 66,
"y": 33, "y": 34,
"wfo": "DTX" "wfo": "DTX"
} }
}, },
@@ -94,8 +94,8 @@
"lat": 39.7684, "lat": 39.7684,
"lon": -86.158, "lon": -86.158,
"point": { "point": {
"x": 57, "x": 58,
"y": 68, "y": 69,
"wfo": "IND" "wfo": "IND"
} }
}, },
@@ -104,8 +104,8 @@
"lat": 34.0522, "lat": 34.0522,
"lon": -118.2437, "lon": -118.2437,
"point": { "point": {
"x": 154, "x": 155,
"y": 44, "y": 45,
"wfo": "LOX" "wfo": "LOX"
} }
}, },
@@ -114,8 +114,8 @@
"lat": 25.7743, "lat": 25.7743,
"lon": -80.1937, "lon": -80.1937,
"point": { "point": {
"x": 109, "x": 110,
"y": 50, "y": 51,
"wfo": "MFL" "wfo": "MFL"
} }
}, },
@@ -124,8 +124,8 @@
"lat": 44.98, "lat": 44.98,
"lon": -93.2638, "lon": -93.2638,
"point": { "point": {
"x": 107, "x": 108,
"y": 71, "y": 72,
"wfo": "MPX" "wfo": "MPX"
} }
}, },
@@ -134,8 +134,8 @@
"lat": 40.78, "lat": 40.78,
"lon": -73.88, "lon": -73.88,
"point": { "point": {
"x": 36, "x": 37,
"y": 38, "y": 39,
"wfo": "OKX" "wfo": "OKX"
} }
}, },
@@ -144,8 +144,8 @@
"lat": 36.8468, "lat": 36.8468,
"lon": -76.2852, "lon": -76.2852,
"point": { "point": {
"x": 89, "x": 90,
"y": 51, "y": 52,
"wfo": "AKQ" "wfo": "AKQ"
} }
}, },
@@ -164,8 +164,8 @@
"lat": 39.9523, "lat": 39.9523,
"lon": -75.1638, "lon": -75.1638,
"point": { "point": {
"x": 49, "x": 50,
"y": 75, "y": 76,
"wfo": "PHI" "wfo": "PHI"
} }
}, },
@@ -174,8 +174,8 @@
"lat": 40.4406, "lat": 40.4406,
"lon": -79.9959, "lon": -79.9959,
"point": { "point": {
"x": 77, "x": 78,
"y": 65, "y": 66,
"wfo": "PBZ" "wfo": "PBZ"
} }
}, },
@@ -184,8 +184,8 @@
"lat": 38.6273, "lat": 38.6273,
"lon": -90.1979, "lon": -90.1979,
"point": { "point": {
"x": 94, "x": 95,
"y": 73, "y": 74,
"wfo": "LSX" "wfo": "LSX"
} }
}, },
@@ -204,8 +204,8 @@
"lat": 47.6062, "lat": 47.6062,
"lon": -122.3321, "lon": -122.3321,
"point": { "point": {
"x": 124, "x": 125,
"y": 67, "y": 68,
"wfo": "SEW" "wfo": "SEW"
} }
}, },
@@ -214,8 +214,8 @@
"lat": 43.0481, "lat": 43.0481,
"lon": -76.1474, "lon": -76.1474,
"point": { "point": {
"x": 51, "x": 52,
"y": 98, "y": 99,
"wfo": "BGM" "wfo": "BGM"
} }
}, },
@@ -224,8 +224,8 @@
"lat": 27.9756, "lat": 27.9756,
"lon": -82.5329, "lon": -82.5329,
"point": { "point": {
"x": 67, "x": 68,
"y": 97, "y": 98,
"wfo": "TBW" "wfo": "TBW"
} }
}, },
@@ -244,8 +244,8 @@
"lat": 42.6526, "lat": 42.6526,
"lon": -73.7562, "lon": -73.7562,
"point": { "point": {
"x": 58, "x": 72,
"y": 58, "y": 63,
"wfo": "ALY" "wfo": "ALY"
} }
}, },
@@ -254,8 +254,8 @@
"lat": 35.0845, "lat": 35.0845,
"lon": -106.6511, "lon": -106.6511,
"point": { "point": {
"x": 97, "x": 98,
"y": 118, "y": 121,
"wfo": "ABQ" "wfo": "ABQ"
} }
}, },
@@ -264,8 +264,8 @@
"lat": 35.222, "lat": 35.222,
"lon": -101.8313, "lon": -101.8313,
"point": { "point": {
"x": 47, "x": 48,
"y": 25, "y": 26,
"wfo": "AMA" "wfo": "AMA"
} }
}, },
@@ -284,8 +284,8 @@
"lat": 30.2671, "lat": 30.2671,
"lon": -97.7431, "lon": -97.7431,
"point": { "point": {
"x": 155, "x": 156,
"y": 90, "y": 91,
"wfo": "EWX" "wfo": "EWX"
} }
}, },
@@ -294,8 +294,8 @@
"lat": 44.7502, "lat": 44.7502,
"lon": -117.6677, "lon": -117.6677,
"point": { "point": {
"x": 93, "x": 94,
"y": 145, "y": 146,
"wfo": "BOI" "wfo": "BOI"
} }
}, },
@@ -314,7 +314,7 @@
"lat": 44.8012, "lat": 44.8012,
"lon": -68.7778, "lon": -68.7778,
"point": { "point": {
"x": 72, "x": 66,
"y": 62, "y": 62,
"wfo": "CAR" "wfo": "CAR"
} }
@@ -324,8 +324,8 @@
"lat": 33.5207, "lat": 33.5207,
"lon": -86.8025, "lon": -86.8025,
"point": { "point": {
"x": 58, "x": 59,
"y": 83, "y": 84,
"wfo": "BMX" "wfo": "BMX"
} }
}, },
@@ -334,8 +334,8 @@
"lat": 46.8083, "lat": 46.8083,
"lon": -100.7837, "lon": -100.7837,
"point": { "point": {
"x": 109, "x": 110,
"y": 46, "y": 47,
"wfo": "BIS" "wfo": "BIS"
} }
}, },
@@ -344,8 +344,8 @@
"lat": 43.6135, "lat": 43.6135,
"lon": -116.2034, "lon": -116.2034,
"point": { "point": {
"x": 132, "x": 133,
"y": 85, "y": 86,
"wfo": "BOI" "wfo": "BOI"
} }
}, },
@@ -354,8 +354,8 @@
"lat": 42.8864, "lat": 42.8864,
"lon": -78.8784, "lon": -78.8784,
"point": { "point": {
"x": 35, "x": 36,
"y": 46, "y": 47,
"wfo": "BUF" "wfo": "BUF"
} }
}, },
@@ -374,8 +374,8 @@
"lat": 32.7766, "lat": 32.7766,
"lon": -79.9309, "lon": -79.9309,
"point": { "point": {
"x": 86, "x": 87,
"y": 76, "y": 77,
"wfo": "CHS" "wfo": "CHS"
} }
}, },
@@ -384,8 +384,8 @@
"lat": 38.3498, "lat": 38.3498,
"lon": -81.6326, "lon": -81.6326,
"point": { "point": {
"x": 62, "x": 63,
"y": 66, "y": 67,
"wfo": "RLX" "wfo": "RLX"
} }
}, },
@@ -394,8 +394,8 @@
"lat": 35.2271, "lat": 35.2271,
"lon": -80.8431, "lon": -80.8431,
"point": { "point": {
"x": 118, "x": 119,
"y": 64, "y": 65,
"wfo": "GSP" "wfo": "GSP"
} }
}, },
@@ -404,8 +404,8 @@
"lat": 41.14, "lat": 41.14,
"lon": -104.8202, "lon": -104.8202,
"point": { "point": {
"x": 109, "x": 110,
"y": 13, "y": 14,
"wfo": "CYS" "wfo": "CYS"
} }
}, },
@@ -414,8 +414,8 @@
"lat": 39.162, "lat": 39.162,
"lon": -84.4569, "lon": -84.4569,
"point": { "point": {
"x": 36, "x": 37,
"y": 40, "y": 41,
"wfo": "ILN" "wfo": "ILN"
} }
}, },
@@ -434,8 +434,8 @@
"lat": 39.9612, "lat": 39.9612,
"lon": -82.9988, "lon": -82.9988,
"point": { "point": {
"x": 84, "x": 85,
"y": 80, "y": 81,
"wfo": "ILN" "wfo": "ILN"
} }
}, },
@@ -444,8 +444,8 @@
"lat": 41.6005, "lat": 41.6005,
"lon": -93.6091, "lon": -93.6091,
"point": { "point": {
"x": 73, "x": 74,
"y": 49, "y": 50,
"wfo": "DMX" "wfo": "DMX"
} }
}, },
@@ -454,8 +454,8 @@
"lat": 42.5006, "lat": 42.5006,
"lon": -90.6646, "lon": -90.6646,
"point": { "point": {
"x": 62, "x": 63,
"y": 110, "y": 111,
"wfo": "DVN" "wfo": "DVN"
} }
}, },
@@ -474,7 +474,7 @@
"lat": 44.9062, "lat": 44.9062,
"lon": -66.99, "lon": -66.99,
"point": { "point": {
"x": 129, "x": 123,
"y": 79, "y": 79,
"wfo": "CAR" "wfo": "CAR"
} }
@@ -484,8 +484,8 @@
"lat": 32.792, "lat": 32.792,
"lon": -115.563, "lon": -115.563,
"point": { "point": {
"x": 26, "x": 27,
"y": 46, "y": 47,
"wfo": "PSR" "wfo": "PSR"
} }
}, },
@@ -494,8 +494,8 @@
"lat": 31.7587, "lat": 31.7587,
"lon": -106.4869, "lon": -106.4869,
"point": { "point": {
"x": 99, "x": 100,
"y": 55, "y": 56,
"wfo": "EPZ" "wfo": "EPZ"
} }
}, },
@@ -504,8 +504,8 @@
"lat": 44.0521, "lat": 44.0521,
"lon": -123.0867, "lon": -123.0867,
"point": { "point": {
"x": 84, "x": 85,
"y": 38, "y": 39,
"wfo": "PQR" "wfo": "PQR"
} }
}, },
@@ -514,8 +514,8 @@
"lat": 46.8772, "lat": 46.8772,
"lon": -96.7898, "lon": -96.7898,
"point": { "point": {
"x": 99, "x": 100,
"y": 56, "y": 57,
"wfo": "FGF" "wfo": "FGF"
} }
}, },
@@ -524,8 +524,8 @@
"lat": 35.1981, "lat": 35.1981,
"lon": -111.6513, "lon": -111.6513,
"point": { "point": {
"x": 73, "x": 74,
"y": 88, "y": 89,
"wfo": "FGZ" "wfo": "FGZ"
} }
}, },
@@ -544,8 +544,8 @@
"lat": 39.0639, "lat": 39.0639,
"lon": -108.5506, "lon": -108.5506,
"point": { "point": {
"x": 94, "x": 95,
"y": 101, "y": 102,
"wfo": "GJT" "wfo": "GJT"
} }
}, },
@@ -554,8 +554,8 @@
"lat": 42.9634, "lat": 42.9634,
"lon": -85.6681, "lon": -85.6681,
"point": { "point": {
"x": 40, "x": 41,
"y": 46, "y": 47,
"wfo": "GRR" "wfo": "GRR"
} }
}, },
@@ -564,8 +564,8 @@
"lat": 48.55, "lat": 48.55,
"lon": -109.6841, "lon": -109.6841,
"point": { "point": {
"x": 154, "x": 155,
"y": 187, "y": 188,
"wfo": "TFX" "wfo": "TFX"
} }
}, },
@@ -574,8 +574,8 @@
"lat": 46.5927, "lat": 46.5927,
"lon": -112.0361, "lon": -112.0361,
"point": { "point": {
"x": 68, "x": 69,
"y": 103, "y": 104,
"wfo": "TFX" "wfo": "TFX"
} }
}, },
@@ -584,8 +584,8 @@
"lat": 21.3069, "lat": 21.3069,
"lon": -157.8583, "lon": -157.8583,
"point": { "point": {
"x": 153, "x": 154,
"y": 144, "y": 145,
"wfo": "HFO" "wfo": "HFO"
} }
}, },
@@ -594,8 +594,8 @@
"lat": 34.5037, "lat": 34.5037,
"lon": -93.0552, "lon": -93.0552,
"point": { "point": {
"x": 53, "x": 54,
"y": 60, "y": 61,
"wfo": "LZK" "wfo": "LZK"
} }
}, },
@@ -604,8 +604,8 @@
"lat": 43.4666, "lat": 43.4666,
"lon": -112.0341, "lon": -112.0341,
"point": { "point": {
"x": 115, "x": 124,
"y": 72, "y": 73,
"wfo": "PIH" "wfo": "PIH"
} }
}, },
@@ -614,8 +614,8 @@
"lat": 32.2988, "lat": 32.2988,
"lon": -90.1848, "lon": -90.1848,
"point": { "point": {
"x": 75, "x": 76,
"y": 62, "y": 63,
"wfo": "JAN" "wfo": "JAN"
} }
}, },
@@ -624,8 +624,8 @@
"lat": 30.3322, "lat": 30.3322,
"lon": -81.6556, "lon": -81.6556,
"point": { "point": {
"x": 65, "x": 66,
"y": 64, "y": 65,
"wfo": "JAX" "wfo": "JAX"
} }
}, },
@@ -644,8 +644,8 @@
"lat": 39.1142, "lat": 39.1142,
"lon": -94.6275, "lon": -94.6275,
"point": { "point": {
"x": 41, "x": 42,
"y": 50, "y": 51,
"wfo": "EAX" "wfo": "EAX"
} }
}, },
@@ -654,8 +654,8 @@
"lat": 24.5557, "lat": 24.5557,
"lon": -81.7826, "lon": -81.7826,
"point": { "point": {
"x": 61, "x": 62,
"y": 47, "y": 48,
"wfo": "KEY" "wfo": "KEY"
} }
}, },
@@ -684,8 +684,8 @@
"lat": 36.175, "lat": 36.175,
"lon": -115.1372, "lon": -115.1372,
"point": { "point": {
"x": 122, "x": 123,
"y": 97, "y": 98,
"wfo": "VEF" "wfo": "VEF"
} }
}, },
@@ -704,8 +704,8 @@
"lat": 40.8, "lat": 40.8,
"lon": -96.667, "lon": -96.667,
"point": { "point": {
"x": 56, "x": 57,
"y": 38, "y": 39,
"wfo": "OAX" "wfo": "OAX"
} }
}, },
@@ -714,8 +714,8 @@
"lat": 33.767, "lat": 33.767,
"lon": -118.1892, "lon": -118.1892,
"point": { "point": {
"x": 154, "x": 155,
"y": 31, "y": 32,
"wfo": "LOX" "wfo": "LOX"
} }
}, },
@@ -724,8 +724,8 @@
"lat": 38.2542, "lat": 38.2542,
"lon": -85.7594, "lon": -85.7594,
"point": { "point": {
"x": 49, "x": 50,
"y": 77, "y": 78,
"wfo": "LMK" "wfo": "LMK"
} }
}, },
@@ -734,8 +734,8 @@
"lat": 42.9956, "lat": 42.9956,
"lon": -71.4548, "lon": -71.4548,
"point": { "point": {
"x": 41, "x": 42,
"y": 20, "y": 21,
"wfo": "GYX" "wfo": "GYX"
} }
}, },
@@ -744,8 +744,8 @@
"lat": 35.1495, "lat": 35.1495,
"lon": -90.049, "lon": -90.049,
"point": { "point": {
"x": 41, "x": 42,
"y": 66, "y": 67,
"wfo": "MEG" "wfo": "MEG"
} }
}, },
@@ -754,8 +754,8 @@
"lat": 43.0389, "lat": 43.0389,
"lon": -87.9065, "lon": -87.9065,
"point": { "point": {
"x": 87, "x": 88,
"y": 64, "y": 65,
"wfo": "MKX" "wfo": "MKX"
} }
}, },
@@ -764,8 +764,8 @@
"lat": 30.6944, "lat": 30.6944,
"lon": -88.043, "lon": -88.043,
"point": { "point": {
"x": 51, "x": 52,
"y": 66, "y": 67,
"wfo": "MOB" "wfo": "MOB"
} }
}, },
@@ -774,8 +774,8 @@
"lat": 32.3668, "lat": 32.3668,
"lon": -86.3, "lon": -86.3,
"point": { "point": {
"x": 80, "x": 81,
"y": 34, "y": 35,
"wfo": "BMX" "wfo": "BMX"
} }
}, },
@@ -784,8 +784,8 @@
"lat": 44.2601, "lat": 44.2601,
"lon": -72.5754, "lon": -72.5754,
"point": { "point": {
"x": 110, "x": 111,
"y": 49, "y": 50,
"wfo": "BTV" "wfo": "BTV"
} }
}, },
@@ -794,8 +794,8 @@
"lat": 36.1659, "lat": 36.1659,
"lon": -86.7844, "lon": -86.7844,
"point": { "point": {
"x": 49, "x": 50,
"y": 56, "y": 57,
"wfo": "OHX" "wfo": "OHX"
} }
}, },
@@ -804,8 +804,8 @@
"lat": 40.7357, "lat": 40.7357,
"lon": -74.1724, "lon": -74.1724,
"point": { "point": {
"x": 26, "x": 27,
"y": 34, "y": 35,
"wfo": "OKX" "wfo": "OKX"
} }
}, },
@@ -814,8 +814,8 @@
"lat": 41.3081, "lat": 41.3081,
"lon": -72.9282, "lon": -72.9282,
"point": { "point": {
"x": 65, "x": 66,
"y": 67, "y": 68,
"wfo": "OKX" "wfo": "OKX"
} }
}, },
@@ -845,7 +845,7 @@
"lon": -97.5164, "lon": -97.5164,
"point": { "point": {
"x": 97, "x": 97,
"y": 93, "y": 94,
"wfo": "OUN" "wfo": "OUN"
} }
}, },
@@ -854,8 +854,8 @@
"lat": 41.2586, "lat": 41.2586,
"lon": -95.9378, "lon": -95.9378,
"point": { "point": {
"x": 82, "x": 83,
"y": 59, "y": 60,
"wfo": "OAX" "wfo": "OAX"
} }
}, },
@@ -864,8 +864,8 @@
"lat": 33.4484, "lat": 33.4484,
"lon": -112.074, "lon": -112.074,
"point": { "point": {
"x": 158, "x": 159,
"y": 57, "y": 58,
"wfo": "PSR" "wfo": "PSR"
} }
}, },
@@ -874,8 +874,8 @@
"lat": 44.3683, "lat": 44.3683,
"lon": -100.351, "lon": -100.351,
"point": { "point": {
"x": 54, "x": 55,
"y": 43, "y": 44,
"wfo": "ABR" "wfo": "ABR"
} }
}, },
@@ -884,8 +884,8 @@
"lat": 43.6615, "lat": 43.6615,
"lon": -70.2553, "lon": -70.2553,
"point": { "point": {
"x": 75, "x": 76,
"y": 58, "y": 59,
"wfo": "GYX" "wfo": "GYX"
} }
}, },
@@ -894,8 +894,8 @@
"lat": 45.5234, "lat": 45.5234,
"lon": -122.6762, "lon": -122.6762,
"point": { "point": {
"x": 112, "x": 113,
"y": 103, "y": 104,
"wfo": "PQR" "wfo": "PQR"
} }
}, },
@@ -914,8 +914,8 @@
"lat": 35.7721, "lat": 35.7721,
"lon": -78.6386, "lon": -78.6386,
"point": { "point": {
"x": 74, "x": 75,
"y": 56, "y": 57,
"wfo": "RAH" "wfo": "RAH"
} }
}, },
@@ -924,8 +924,8 @@
"lat": 39.4986, "lat": 39.4986,
"lon": -119.7681, "lon": -119.7681,
"point": { "point": {
"x": 45, "x": 46,
"y": 104, "y": 105,
"wfo": "REV" "wfo": "REV"
} }
}, },
@@ -934,8 +934,8 @@
"lat": 38.7725, "lat": 38.7725,
"lon": -112.0841, "lon": -112.0841,
"point": { "point": {
"x": 81, "x": 82,
"y": 86, "y": 87,
"wfo": "SLC" "wfo": "SLC"
} }
}, },
@@ -944,8 +944,8 @@
"lat": 37.5538, "lat": 37.5538,
"lon": -77.4603, "lon": -77.4603,
"point": { "point": {
"x": 44, "x": 45,
"y": 76, "y": 77,
"wfo": "AKQ" "wfo": "AKQ"
} }
}, },
@@ -954,8 +954,8 @@
"lat": 37.271, "lat": 37.271,
"lon": -79.9414, "lon": -79.9414,
"point": { "point": {
"x": 73, "x": 74,
"y": 68, "y": 69,
"wfo": "RNK" "wfo": "RNK"
} }
}, },
@@ -964,8 +964,8 @@
"lat": 38.5816, "lat": 38.5816,
"lon": -121.4944, "lon": -121.4944,
"point": { "point": {
"x": 40, "x": 41,
"y": 67, "y": 68,
"wfo": "STO" "wfo": "STO"
} }
}, },
@@ -974,8 +974,8 @@
"lat": 40.7608, "lat": 40.7608,
"lon": -111.891, "lon": -111.891,
"point": { "point": {
"x": 99, "x": 100,
"y": 174, "y": 175,
"wfo": "SLC" "wfo": "SLC"
} }
}, },
@@ -984,8 +984,8 @@
"lat": 29.4241, "lat": 29.4241,
"lon": -98.4936, "lon": -98.4936,
"point": { "point": {
"x": 125, "x": 126,
"y": 53, "y": 54,
"wfo": "EWX" "wfo": "EWX"
} }
}, },
@@ -994,8 +994,8 @@
"lat": 32.7153, "lat": 32.7153,
"lon": -117.1573, "lon": -117.1573,
"point": { "point": {
"x": 56, "x": 57,
"y": 13, "y": 14,
"wfo": "SGX" "wfo": "SGX"
} }
}, },
@@ -1014,8 +1014,8 @@
"lat": 35.687, "lat": 35.687,
"lon": -105.9378, "lon": -105.9378,
"point": { "point": {
"x": 125, "x": 126,
"y": 143, "y": 146,
"wfo": "ABQ" "wfo": "ABQ"
} }
}, },
@@ -1024,8 +1024,8 @@
"lat": 32.0835, "lat": 32.0835,
"lon": -81.0998, "lon": -81.0998,
"point": { "point": {
"x": 46, "x": 47,
"y": 40, "y": 41,
"wfo": "CHS" "wfo": "CHS"
} }
}, },
@@ -1034,7 +1034,7 @@
"lat": 32.5251, "lat": 32.5251,
"lon": -93.7502, "lon": -93.7502,
"point": { "point": {
"x": 76, "x": 74,
"y": 69, "y": 69,
"wfo": "SHV" "wfo": "SHV"
} }
@@ -1074,8 +1074,8 @@
"lat": 39.8017, "lat": 39.8017,
"lon": -89.6437, "lon": -89.6437,
"point": { "point": {
"x": 47, "x": 48,
"y": 55, "y": 56,
"wfo": "ILX" "wfo": "ILX"
} }
}, },
@@ -1094,8 +1094,8 @@
"lat": 37.2153, "lat": 37.2153,
"lon": -93.2982, "lon": -93.2982,
"point": { "point": {
"x": 66, "x": 67,
"y": 34, "y": 35,
"wfo": "SGF" "wfo": "SGF"
} }
}, },
@@ -1104,8 +1104,8 @@
"lat": 41.6639, "lat": 41.6639,
"lon": -83.5552, "lon": -83.5552,
"point": { "point": {
"x": 18, "x": 19,
"y": 66, "y": 67,
"wfo": "CLE" "wfo": "CLE"
} }
}, },
@@ -1114,8 +1114,8 @@
"lat": 36.154, "lat": 36.154,
"lon": -95.9928, "lon": -95.9928,
"point": { "point": {
"x": 40, "x": 41,
"y": 104, "y": 105,
"wfo": "TSA" "wfo": "TSA"
} }
}, },
@@ -1124,8 +1124,8 @@
"lat": 36.8529, "lat": 36.8529,
"lon": -75.978, "lon": -75.978,
"point": { "point": {
"x": 100, "x": 101,
"y": 52, "y": 53,
"wfo": "AKQ" "wfo": "AKQ"
} }
}, },
@@ -1134,8 +1134,8 @@
"lat": 37.6922, "lat": 37.6922,
"lon": -97.3375, "lon": -97.3375,
"point": { "point": {
"x": 61, "x": 62,
"y": 33, "y": 34,
"wfo": "ICT" "wfo": "ICT"
} }
}, },
@@ -1144,18 +1144,18 @@
"lat": 34.2257, "lat": 34.2257,
"lon": -77.9447, "lon": -77.9447,
"point": { "point": {
"x": 88, "x": 89,
"y": 67, "y": 68,
"wfo": "ILM" "wfo": "ILM"
} }
}, },
{ {
"city": "Tuscan", "city": "Tucsan",
"lat": 32.2216, "lat": 32.2216,
"lon": -110.9698, "lon": -110.9698,
"point": { "point": {
"x": 90, "x": 91,
"y": 48, "y": 49,
"wfo": "TWC" "wfo": "TWC"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -4,8 +4,8 @@
"Latitude": 33.749, "Latitude": 33.749,
"Longitude": -84.388, "Longitude": -84.388,
"point": { "point": {
"x": 50, "x": 51,
"y": 86, "y": 87,
"wfo": "FFC" "wfo": "FFC"
} }
}, },
@@ -24,8 +24,8 @@
"Latitude": 41.9796, "Latitude": 41.9796,
"Longitude": -87.9045, "Longitude": -87.9045,
"point": { "point": {
"x": 65, "x": 66,
"y": 76, "y": 77,
"wfo": "LOT" "wfo": "LOT"
} }
}, },
@@ -34,8 +34,8 @@
"Latitude": 41.4995, "Latitude": 41.4995,
"Longitude": -81.6954, "Longitude": -81.6954,
"point": { "point": {
"x": 82, "x": 83,
"y": 64, "y": 65,
"wfo": "CLE" "wfo": "CLE"
} }
}, },
@@ -44,8 +44,8 @@
"Latitude": 32.8959, "Latitude": 32.8959,
"Longitude": -97.0372, "Longitude": -97.0372,
"point": { "point": {
"x": 79, "x": 80,
"y": 108, "y": 109,
"wfo": "FWD" "wfo": "FWD"
} }
}, },
@@ -54,8 +54,8 @@
"Latitude": 39.7391, "Latitude": 39.7391,
"Longitude": -104.9847, "Longitude": -104.9847,
"point": { "point": {
"x": 62, "x": 63,
"y": 60, "y": 61,
"wfo": "BOU" "wfo": "BOU"
} }
}, },
@@ -64,8 +64,8 @@
"Latitude": 42.3314, "Latitude": 42.3314,
"Longitude": -83.0457, "Longitude": -83.0457,
"point": { "point": {
"x": 65, "x": 66,
"y": 33, "y": 34,
"wfo": "DTX" "wfo": "DTX"
} }
}, },
@@ -94,8 +94,8 @@
"Latitude": 39.7684, "Latitude": 39.7684,
"Longitude": -86.158, "Longitude": -86.158,
"point": { "point": {
"x": 57, "x": 58,
"y": 68, "y": 69,
"wfo": "IND" "wfo": "IND"
} }
}, },
@@ -104,8 +104,8 @@
"Latitude": 34.0522, "Latitude": 34.0522,
"Longitude": -118.2437, "Longitude": -118.2437,
"point": { "point": {
"x": 154, "x": 155,
"y": 44, "y": 45,
"wfo": "LOX" "wfo": "LOX"
} }
}, },
@@ -114,8 +114,8 @@
"Latitude": 25.7743, "Latitude": 25.7743,
"Longitude": -80.1937, "Longitude": -80.1937,
"point": { "point": {
"x": 109, "x": 110,
"y": 50, "y": 51,
"wfo": "MFL" "wfo": "MFL"
} }
}, },
@@ -124,8 +124,8 @@
"Latitude": 44.98, "Latitude": 44.98,
"Longitude": -93.2638, "Longitude": -93.2638,
"point": { "point": {
"x": 107, "x": 108,
"y": 71, "y": 72,
"wfo": "MPX" "wfo": "MPX"
} }
}, },
@@ -134,8 +134,8 @@
"Latitude": 40.7142, "Latitude": 40.7142,
"Longitude": -74.0059, "Longitude": -74.0059,
"point": { "point": {
"x": 32, "x": 33,
"y": 34, "y": 35,
"wfo": "OKX" "wfo": "OKX"
} }
}, },
@@ -144,8 +144,8 @@
"Latitude": 36.8468, "Latitude": 36.8468,
"Longitude": -76.2852, "Longitude": -76.2852,
"point": { "point": {
"x": 89, "x": 90,
"y": 51, "y": 52,
"wfo": "AKQ" "wfo": "AKQ"
} }
}, },
@@ -164,8 +164,8 @@
"Latitude": 39.9523, "Latitude": 39.9523,
"Longitude": -75.1638, "Longitude": -75.1638,
"point": { "point": {
"x": 49, "x": 50,
"y": 75, "y": 76,
"wfo": "PHI" "wfo": "PHI"
} }
}, },
@@ -174,8 +174,8 @@
"Latitude": 40.4406, "Latitude": 40.4406,
"Longitude": -79.9959, "Longitude": -79.9959,
"point": { "point": {
"x": 77, "x": 78,
"y": 65, "y": 66,
"wfo": "PBZ" "wfo": "PBZ"
} }
}, },
@@ -184,8 +184,8 @@
"Latitude": 38.6273, "Latitude": 38.6273,
"Longitude": -90.1979, "Longitude": -90.1979,
"point": { "point": {
"x": 94, "x": 95,
"y": 73, "y": 74,
"wfo": "LSX" "wfo": "LSX"
} }
}, },
@@ -204,8 +204,8 @@
"Latitude": 47.6062, "Latitude": 47.6062,
"Longitude": -122.3321, "Longitude": -122.3321,
"point": { "point": {
"x": 124, "x": 125,
"y": 67, "y": 68,
"wfo": "SEW" "wfo": "SEW"
} }
}, },
@@ -214,8 +214,8 @@
"Latitude": 43.0481, "Latitude": 43.0481,
"Longitude": -76.1474, "Longitude": -76.1474,
"point": { "point": {
"x": 51, "x": 52,
"y": 98, "y": 99,
"wfo": "BGM" "wfo": "BGM"
} }
}, },
@@ -224,8 +224,8 @@
"Latitude": 27.9475, "Latitude": 27.9475,
"Longitude": -82.4584, "Longitude": -82.4584,
"point": { "point": {
"x": 70, "x": 71,
"y": 96, "y": 97,
"wfo": "TBW" "wfo": "TBW"
} }
}, },

View File

@@ -575,7 +575,7 @@
"lon": -77.9447 "lon": -77.9447
}, },
{ {
"city": "Tuscan", "city": "Tucsan",
"lat": 32.2216, "lat": 32.2216,
"lon": -110.9698 "lon": -110.9698
} }

View File

@@ -1,41 +0,0 @@
// look up points for each regional city
const fs = require('fs/promises');
const chunk = require('./chunk');
const https = require('./https');
(async () => {
// source data
const regionalCities = JSON.parse(await fs.readFile('./datagenerators/regionalcities-raw.json'));
const result = [];
const dataChunks = chunk(regionalCities, 5);
// for loop intentional for use of await
// this keeps the api from getting overwhelmed
for (let i = 0; i < dataChunks.length; i += 1) {
const cityChunk = dataChunks[i];
// eslint-disable-next-line no-await-in-loop
const chunkResult = await Promise.all(cityChunk.map(async (city) => {
try {
const data = await https(`https://api.weather.gov/points/${city.lat},${city.lon}`);
const point = JSON.parse(data);
return {
...city,
point: {
x: point.properties.gridX,
y: point.properties.gridY,
wfo: point.properties.gridId,
},
};
} catch (e) {
console.error(e);
return city;
}
}));
result.push(...chunkResult);
}
await fs.writeFile('./datagenerators/output/regionalcities.json', JSON.stringify(result, null, ' '));
})();

View File

@@ -0,0 +1,40 @@
// look up points for each regional city
import fs from 'fs/promises';
import chunk from './chunk.mjs';
import https from './https.mjs';
// source data
const regionalCities = JSON.parse(await fs.readFile('./datagenerators/regionalcities-raw.json'));
const result = [];
const dataChunks = chunk(regionalCities, 5);
// for loop intentional for use of await
// this keeps the api from getting overwhelmed
for (let i = 0; i < dataChunks.length; i += 1) {
const cityChunk = dataChunks[i];
// eslint-disable-next-line no-await-in-loop
const chunkResult = await Promise.all(cityChunk.map(async (city) => {
try {
const data = await https(`https://api.weather.gov/points/${city.lat},${city.lon}`);
const point = JSON.parse(data);
return {
...city,
point: {
x: point.properties.gridX,
y: point.properties.gridY,
wfo: point.properties.gridId,
},
};
} catch (e) {
console.error(e);
return city;
}
}));
result.push(...chunkResult);
}
await fs.writeFile('./datagenerators/output/regionalcities.json', JSON.stringify(result, null, ' '));

View File

@@ -1,4 +1,4 @@
module.exports = [ export default [
'AZ', 'AZ',
'AL', 'AL',
'AK', 'AK',

View File

@@ -1,11 +1,10 @@
// list all stations in a single file // list all stations in a single file
// only find stations with 4 letter codes // only find stations with 4 letter codes
const fs = require('fs'); import { writeFileSync } from 'fs';
const path = require('path'); import https from './https.mjs';
const https = require('./https'); import states from './stations-states.mjs';
const states = require('./stations-states'); import chunk from './chunk.mjs';
const chunk = require('./chunk');
// skip stations starting with these letters // skip stations starting with these letters
const skipStations = ['U', 'C', 'H', 'W', 'Y', 'T', 'S', 'M', 'O', 'L', 'A', 'F', 'B', 'N', 'V', 'R', 'D', 'E', 'I', 'G', 'J']; const skipStations = ['U', 'C', 'H', 'W', 'Y', 'T', 'S', 'M', 'O', 'L', 'A', 'F', 'B', 'N', 'V', 'R', 'D', 'E', 'I', 'G', 'J'];
@@ -53,8 +52,7 @@ const start = async () => {
}); });
next = stations?.pagination?.next; next = stations?.pagination?.next;
// write the output // write the output
// write the output writeFileSync('./datagenerators/output/stations.json', JSON.stringify(output, null, 2));
fs.writeFileSync(path.join(__dirname, 'output/stations.json'), JSON.stringify(output, null, 2));
} }
while (next && stations.features.length > 0); while (next && stations.features.length > 0);
console.log(`Complete: ${state}`); console.log(`Complete: ${state}`);
@@ -68,6 +66,4 @@ const start = async () => {
}; };
// immediately invoked function allows access to async // immediately invoked function allows access to async
(async () => {
await start(); await start();
})();

View File

@@ -1,41 +0,0 @@
// look up points for each travel city
const fs = require('fs/promises');
const chunk = require('./chunk');
const https = require('./https');
(async () => {
// source data
const travelCities = JSON.parse(await fs.readFile('./datagenerators/travelcities-raw.json'));
const result = [];
const dataChunks = chunk(travelCities, 5);
// for loop intentional for use of await
// this keeps the api from getting overwhelmed
for (let i = 0; i < dataChunks.length; i += 1) {
const cityChunk = dataChunks[i];
// eslint-disable-next-line no-await-in-loop
const chunkResult = await Promise.all(cityChunk.map(async (city) => {
try {
const data = await https(`https://api.weather.gov/points/${city.Latitude},${city.Longitude}`);
const point = JSON.parse(data);
return {
...city,
point: {
x: point.properties.gridX,
y: point.properties.gridY,
wfo: point.properties.gridId,
},
};
} catch (e) {
console.error(e);
return city;
}
}));
result.push(...chunkResult);
}
await fs.writeFile('./datagenerators/output/travelcities.json', JSON.stringify(result, null, ' '));
})();

View File

@@ -0,0 +1,39 @@
// look up points for each travel city
import { readFile, writeFile } from 'fs/promises';
import chunk from './chunk.mjs';
import https from './https.mjs';
// source data
const travelCities = JSON.parse(await readFile('./datagenerators/travelcities-raw.json'));
const result = [];
const dataChunks = chunk(travelCities, 5);
// for loop intentional for use of await
// this keeps the api from getting overwhelmed
for (let i = 0; i < dataChunks.length; i += 1) {
const cityChunk = dataChunks[i];
// eslint-disable-next-line no-await-in-loop
const chunkResult = await Promise.all(cityChunk.map(async (city) => {
try {
const data = await https(`https://api.weather.gov/points/${city.Latitude},${city.Longitude}`);
const point = JSON.parse(data);
return {
...city,
point: {
x: point.properties.gridX,
y: point.properties.gridY,
wfo: point.properties.gridId,
},
};
} catch (e) {
console.error(e);
return city;
}
}));
result.push(...chunkResult);
}
await writeFile('./datagenerators/output/travelcities.json', JSON.stringify(result, null, ' '));

142
package-lock.json generated
View File

@@ -258,25 +258,25 @@
} }
}, },
"node_modules/@aws-sdk/client-cloudfront": { "node_modules/@aws-sdk/client-cloudfront": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.782.0.tgz",
"integrity": "sha512-4zSVXDEi8IxrdmP/V/cyQXb50vgNMboUMQkH0y3iKS+jqFPngvYvTWv6sWCgTe+aL5SevmCQis7vjrfMw37KJQ==", "integrity": "sha512-92yI5h+9T8+hKw8oYWo9yMKCcDrQkiE8K6g9koDVQgv2E0qcfMZTu4Q9NYXGi+8se/y2W3kSaZmKwRsPnqkxIg==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0", "@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.775.0", "@aws-sdk/core": "3.775.0",
"@aws-sdk/credential-provider-node": "3.777.0", "@aws-sdk/credential-provider-node": "3.782.0",
"@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0",
"@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0",
"@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0",
"@aws-sdk/middleware-user-agent": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0",
"@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/region-config-resolver": "3.775.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@aws-sdk/util-endpoints": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0",
"@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-browser": "3.775.0",
"@aws-sdk/util-user-agent-node": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0",
"@aws-sdk/xml-builder": "3.775.0", "@aws-sdk/xml-builder": "3.775.0",
"@smithy/config-resolver": "^4.1.0", "@smithy/config-resolver": "^4.1.0",
"@smithy/core": "^3.2.0", "@smithy/core": "^3.2.0",
@@ -312,9 +312,9 @@
} }
}, },
"node_modules/@aws-sdk/client-s3": { "node_modules/@aws-sdk/client-s3": {
"version": "3.779.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.779.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.782.0.tgz",
"integrity": "sha512-Lagz+ersQaLNYkpOU9V12PYspT//lGvhPXlKU3OXDj3whDchdqUdtRKY8rmV+jli4KXe+udx/hj2yqrFRfKGvQ==", "integrity": "sha512-V6JR2JAGYQY7J8wk5un5n/ja2nfCUyyoRCF8Du8JL91NGI8i41Mdr/TzuOGwTgFl6RSXb/ge1K1jk30OH4MugQ==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -322,7 +322,7 @@
"@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0", "@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.775.0", "@aws-sdk/core": "3.775.0",
"@aws-sdk/credential-provider-node": "3.777.0", "@aws-sdk/credential-provider-node": "3.782.0",
"@aws-sdk/middleware-bucket-endpoint": "3.775.0", "@aws-sdk/middleware-bucket-endpoint": "3.775.0",
"@aws-sdk/middleware-expect-continue": "3.775.0", "@aws-sdk/middleware-expect-continue": "3.775.0",
"@aws-sdk/middleware-flexible-checksums": "3.775.0", "@aws-sdk/middleware-flexible-checksums": "3.775.0",
@@ -332,13 +332,13 @@
"@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0",
"@aws-sdk/middleware-sdk-s3": "3.775.0", "@aws-sdk/middleware-sdk-s3": "3.775.0",
"@aws-sdk/middleware-ssec": "3.775.0", "@aws-sdk/middleware-ssec": "3.775.0",
"@aws-sdk/middleware-user-agent": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0",
"@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/region-config-resolver": "3.775.0",
"@aws-sdk/signature-v4-multi-region": "3.775.0", "@aws-sdk/signature-v4-multi-region": "3.775.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@aws-sdk/util-endpoints": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0",
"@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-browser": "3.775.0",
"@aws-sdk/util-user-agent-node": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0",
"@aws-sdk/xml-builder": "3.775.0", "@aws-sdk/xml-builder": "3.775.0",
"@smithy/config-resolver": "^4.1.0", "@smithy/config-resolver": "^4.1.0",
"@smithy/core": "^3.2.0", "@smithy/core": "^3.2.0",
@@ -380,9 +380,9 @@
} }
}, },
"node_modules/@aws-sdk/client-sso": { "node_modules/@aws-sdk/client-sso": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.782.0.tgz",
"integrity": "sha512-0+z6CiAYIQa7s6FJ+dpBYPi9zr9yY5jBg/4/FGcwYbmqWPXwL9Thdtr0FearYRZgKl7bhL3m3dILCCfWqr3teQ==", "integrity": "sha512-5GlJBejo8wqMpSSEKb45WE82YxI2k73YuebjLH/eWDNQeE6VI5Bh9lA1YQ7xNkLLH8hIsb0pSfKVuwh0VEzVrg==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -392,12 +392,12 @@
"@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0",
"@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0",
"@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0",
"@aws-sdk/middleware-user-agent": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0",
"@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/region-config-resolver": "3.775.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@aws-sdk/util-endpoints": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0",
"@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-browser": "3.775.0",
"@aws-sdk/util-user-agent-node": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0",
"@smithy/config-resolver": "^4.1.0", "@smithy/config-resolver": "^4.1.0",
"@smithy/core": "^3.2.0", "@smithy/core": "^3.2.0",
"@smithy/fetch-http-handler": "^5.0.2", "@smithy/fetch-http-handler": "^5.0.2",
@@ -492,9 +492,9 @@
} }
}, },
"node_modules/@aws-sdk/credential-provider-ini": { "node_modules/@aws-sdk/credential-provider-ini": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.782.0.tgz",
"integrity": "sha512-1X9mCuM9JSQPmQ+D2TODt4THy6aJWCNiURkmKmTIPRdno7EIKgAqrr/LLN++K5mBf54DZVKpqcJutXU2jwo01A==", "integrity": "sha512-wd4KdRy2YjLsE4Y7pz00470Iip06GlRHkG4dyLW7/hFMzEO2o7ixswCWp6J2VGZVAX64acknlv2Q0z02ebjmhw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -502,9 +502,9 @@
"@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-env": "3.775.0",
"@aws-sdk/credential-provider-http": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0",
"@aws-sdk/credential-provider-process": "3.775.0", "@aws-sdk/credential-provider-process": "3.775.0",
"@aws-sdk/credential-provider-sso": "3.777.0", "@aws-sdk/credential-provider-sso": "3.782.0",
"@aws-sdk/credential-provider-web-identity": "3.777.0", "@aws-sdk/credential-provider-web-identity": "3.782.0",
"@aws-sdk/nested-clients": "3.777.0", "@aws-sdk/nested-clients": "3.782.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@smithy/credential-provider-imds": "^4.0.2", "@smithy/credential-provider-imds": "^4.0.2",
"@smithy/property-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2",
@@ -517,18 +517,18 @@
} }
}, },
"node_modules/@aws-sdk/credential-provider-node": { "node_modules/@aws-sdk/credential-provider-node": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.782.0.tgz",
"integrity": "sha512-ZD66ywx1Q0KyUSuBXZIQzBe3Q7MzX8lNwsrCU43H3Fww+Y+HB3Ncws9grhSdNhKQNeGmZ+MgKybuZYaaeLwJEQ==", "integrity": "sha512-HZiAF+TCEyKjju9dgysjiPIWgt/+VerGaeEp18mvKLNfgKz1d+/82A2USEpNKTze7v3cMFASx3CvL8yYyF7mJw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-env": "3.775.0",
"@aws-sdk/credential-provider-http": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0",
"@aws-sdk/credential-provider-ini": "3.777.0", "@aws-sdk/credential-provider-ini": "3.782.0",
"@aws-sdk/credential-provider-process": "3.775.0", "@aws-sdk/credential-provider-process": "3.775.0",
"@aws-sdk/credential-provider-sso": "3.777.0", "@aws-sdk/credential-provider-sso": "3.782.0",
"@aws-sdk/credential-provider-web-identity": "3.777.0", "@aws-sdk/credential-provider-web-identity": "3.782.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@smithy/credential-provider-imds": "^4.0.2", "@smithy/credential-provider-imds": "^4.0.2",
"@smithy/property-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2",
@@ -559,15 +559,15 @@
} }
}, },
"node_modules/@aws-sdk/credential-provider-sso": { "node_modules/@aws-sdk/credential-provider-sso": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.782.0.tgz",
"integrity": "sha512-9mPz7vk9uE4PBVprfINv4tlTkyq1OonNevx2DiXC1LY4mCUCNN3RdBwAY0BTLzj0uyc3k5KxFFNbn3/8ZDQP7w==", "integrity": "sha512-1y1ucxTtTIGDSNSNxriQY8msinilhe9gGvQpUDYW9gboyC7WQJPDw66imy258V6osdtdi+xoHzVCbCz3WhosMQ==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@aws-sdk/client-sso": "3.777.0", "@aws-sdk/client-sso": "3.782.0",
"@aws-sdk/core": "3.775.0", "@aws-sdk/core": "3.775.0",
"@aws-sdk/token-providers": "3.777.0", "@aws-sdk/token-providers": "3.782.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@smithy/property-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2",
"@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2",
@@ -579,14 +579,14 @@
} }
}, },
"node_modules/@aws-sdk/credential-provider-web-identity": { "node_modules/@aws-sdk/credential-provider-web-identity": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.782.0.tgz",
"integrity": "sha512-uGCqr47fnthkqwq5luNl2dksgcpHHjSXz2jUra7TXtFOpqvnhOW8qXjoa1ivlkq8qhqlaZwCzPdbcN0lXpmLzQ==", "integrity": "sha512-xCna0opVPaueEbJoclj5C6OpDNi0Gynj+4d7tnuXGgQhTHPyAz8ZyClkVqpi5qvHTgxROdUEDxWqEO5jqRHZHQ==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@aws-sdk/core": "3.775.0", "@aws-sdk/core": "3.775.0",
"@aws-sdk/nested-clients": "3.777.0", "@aws-sdk/nested-clients": "3.782.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@smithy/property-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2",
"@smithy/types": "^4.2.0", "@smithy/types": "^4.2.0",
@@ -760,15 +760,15 @@
} }
}, },
"node_modules/@aws-sdk/middleware-user-agent": { "node_modules/@aws-sdk/middleware-user-agent": {
"version": "3.775.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.775.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.782.0.tgz",
"integrity": "sha512-7Lffpr1ptOEDE1ZYH1T78pheEY1YmeXWBfFt/amZ6AGsKSLG+JPXvof3ltporTGR2bhH/eJPo7UHCglIuXfzYg==", "integrity": "sha512-i32H2R6IItX+bQ2p4+v2gGO2jA80jQoJO2m1xjU9rYWQW3+ErWy4I5YIuQHTBfb6hSdAHbaRfqPDgbv9J2rjEg==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@aws-sdk/core": "3.775.0", "@aws-sdk/core": "3.775.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@aws-sdk/util-endpoints": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0",
"@smithy/core": "^3.2.0", "@smithy/core": "^3.2.0",
"@smithy/protocol-http": "^5.1.0", "@smithy/protocol-http": "^5.1.0",
"@smithy/types": "^4.2.0", "@smithy/types": "^4.2.0",
@@ -779,9 +779,9 @@
} }
}, },
"node_modules/@aws-sdk/nested-clients": { "node_modules/@aws-sdk/nested-clients": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.782.0.tgz",
"integrity": "sha512-bmmVRsCjuYlStYPt06hr+f8iEyWg7+AklKCA8ZLDEJujXhXIowgUIqXmqpTkXwkVvDQ9tzU7hxaONjyaQCGybA==", "integrity": "sha512-QOYC8q7luzHFXrP0xYAqBctoPkynjfV0r9dqntFu4/IWMTyC1vlo1UTxFAjIPyclYw92XJyEkVCVg9v/nQnsUA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -791,12 +791,12 @@
"@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0",
"@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0",
"@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0",
"@aws-sdk/middleware-user-agent": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0",
"@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/region-config-resolver": "3.775.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@aws-sdk/util-endpoints": "3.775.0", "@aws-sdk/util-endpoints": "3.782.0",
"@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-browser": "3.775.0",
"@aws-sdk/util-user-agent-node": "3.775.0", "@aws-sdk/util-user-agent-node": "3.782.0",
"@smithy/config-resolver": "^4.1.0", "@smithy/config-resolver": "^4.1.0",
"@smithy/core": "^3.2.0", "@smithy/core": "^3.2.0",
"@smithy/fetch-http-handler": "^5.0.2", "@smithy/fetch-http-handler": "^5.0.2",
@@ -865,13 +865,13 @@
} }
}, },
"node_modules/@aws-sdk/token-providers": { "node_modules/@aws-sdk/token-providers": {
"version": "3.777.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.777.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.782.0.tgz",
"integrity": "sha512-Yc2cDONsHOa4dTSGOev6Ng2QgTKQUEjaUnsyKd13pc/nLLz/WLqHiQ/o7PcnKERJxXGs1g1C6l3sNXiX+kbnFQ==", "integrity": "sha512-4tPuk/3+THPrzKaXW4jE2R67UyGwHLFizZ47pcjJWbhb78IIJAy94vbeqEQ+veS84KF5TXcU7g5jGTXC0D70Wg==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@aws-sdk/nested-clients": "3.777.0", "@aws-sdk/nested-clients": "3.782.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@smithy/property-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2",
"@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2",
@@ -910,9 +910,9 @@
} }
}, },
"node_modules/@aws-sdk/util-endpoints": { "node_modules/@aws-sdk/util-endpoints": {
"version": "3.775.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.775.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.782.0.tgz",
"integrity": "sha512-yjWmUgZC9tUxAo8Uaplqmq0eUh0zrbZJdwxGRKdYxfm4RG6fMw1tj52+KkatH7o+mNZvg1GDcVp/INktxonJLw==", "integrity": "sha512-/RJOAO7o7HI6lEa4ASbFFLHGU9iPK876BhsVfnl54MvApPVYWQ9sHO0anOUim2S5lQTwd/6ghuH3rFYSq/+rdw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -952,13 +952,13 @@
} }
}, },
"node_modules/@aws-sdk/util-user-agent-node": { "node_modules/@aws-sdk/util-user-agent-node": {
"version": "3.775.0", "version": "3.782.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.775.0.tgz", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.782.0.tgz",
"integrity": "sha512-N9yhTevbizTOMo3drH7Eoy6OkJ3iVPxhV7dwb6CMAObbLneS36CSfA6xQXupmHWcRvZPTz8rd1JGG3HzFOau+g==", "integrity": "sha512-dMFkUBgh2Bxuw8fYZQoH/u3H4afQ12VSkzEi//qFiDTwbKYq+u+RYjc8GLDM6JSK1BShMu5AVR7HD4ap1TYUnA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@aws-sdk/middleware-user-agent": "3.775.0", "@aws-sdk/middleware-user-agent": "3.782.0",
"@aws-sdk/types": "3.775.0", "@aws-sdk/types": "3.775.0",
"@smithy/node-config-provider": "^4.0.2", "@smithy/node-config-provider": "^4.0.2",
"@smithy/types": "^4.2.0", "@smithy/types": "^4.2.0",
@@ -3343,9 +3343,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001709", "version": "1.0.30001712",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001709.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001712.tgz",
"integrity": "sha512-NgL3vUTnDrPCZ3zTahp4fsugQ4dc7EKTSzwQDPEel6DMoMnfH2jhry9n2Zm8onbSR+f/QtKHFOA+iAQu4kbtWA==", "integrity": "sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -3871,9 +3871,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.130", "version": "1.5.132",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.130.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.132.tgz",
"integrity": "sha512-Ou2u7L9j2XLZbhqzyX0jWDj6gA8D3jIfVzt4rikLf3cGBa0VdReuFimBKS9tQJA4+XpeCxj1NoWlfBXzbMa9IA==", "integrity": "sha512-QgX9EBvWGmvSRa74zqfnG7+Eno0Ak0vftBll0Pt2/z5b3bEGYL6OUXLgKPtvx73dn3dvwrlyVkjPKRRlhLYTEg==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"peer": true "peer": true
@@ -8189,9 +8189,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/sass": { "node_modules/sass": {
"version": "1.86.2", "version": "1.86.3",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.86.2.tgz", "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.3.tgz",
"integrity": "sha512-Rpfn0zAIDqvnSb2DihJTDFjbhqLHu91Wqac9rxontWk7R+2txcPjuujMqu1eeoezh5kAblVCS5EdFdyr0Jmu+w==", "integrity": "sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,243 +1,243 @@
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const TravelCities = [ const TravelCities = [
{ {
Name: 'Atlanta', "Name": "Atlanta",
Latitude: 33.749, "Latitude": 33.749,
Longitude: -84.388, "Longitude": -84.388,
point: { "point": {
x: 50, "x": 51,
y: 86, "y": 87,
wfo: 'FFC', "wfo": "FFC"
}, }
}, },
{ {
Name: 'Boston', "Name": "Boston",
Latitude: 42.3584, "Latitude": 42.3584,
Longitude: -71.0598, "Longitude": -71.0598,
point: { "point": {
x: 71, "x": 71,
y: 90, "y": 90,
wfo: 'BOX', "wfo": "BOX"
}, }
}, },
{ {
Name: 'Chicago', "Name": "Chicago",
Latitude: 41.9796, "Latitude": 41.9796,
Longitude: -87.9045, "Longitude": -87.9045,
point: { "point": {
x: 65, "x": 66,
y: 76, "y": 77,
wfo: 'LOT', "wfo": "LOT"
}, }
}, },
{ {
Name: 'Cleveland', "Name": "Cleveland",
Latitude: 41.4995, "Latitude": 41.4995,
Longitude: -81.6954, "Longitude": -81.6954,
point: { "point": {
x: 82, "x": 83,
y: 64, "y": 65,
wfo: 'CLE', "wfo": "CLE"
}, }
}, },
{ {
Name: 'Dallas', "Name": "Dallas",
Latitude: 32.8959, "Latitude": 32.8959,
Longitude: -97.0372, "Longitude": -97.0372,
point: { "point": {
x: 79, "x": 80,
y: 108, "y": 109,
wfo: 'FWD', "wfo": "FWD"
}, }
}, },
{ {
Name: 'Denver', "Name": "Denver",
Latitude: 39.7391, "Latitude": 39.7391,
Longitude: -104.9847, "Longitude": -104.9847,
point: { "point": {
x: 62, "x": 63,
y: 60, "y": 61,
wfo: 'BOU', "wfo": "BOU"
}, }
}, },
{ {
Name: 'Detroit', "Name": "Detroit",
Latitude: 42.3314, "Latitude": 42.3314,
Longitude: -83.0457, "Longitude": -83.0457,
point: { "point": {
x: 65, "x": 66,
y: 33, "y": 34,
wfo: 'DTX', "wfo": "DTX"
}, }
}, },
{ {
Name: 'Hartford', "Name": "Hartford",
Latitude: 41.7637, "Latitude": 41.7637,
Longitude: -72.6851, "Longitude": -72.6851,
point: { "point": {
x: 21, "x": 21,
y: 54, "y": 54,
wfo: 'BOX', "wfo": "BOX"
}, }
}, },
{ {
Name: 'Houston', "Name": "Houston",
Latitude: 29.7633, "Latitude": 29.7633,
Longitude: -95.3633, "Longitude": -95.3633,
point: { "point": {
x: 65, "x": 65,
y: 97, "y": 97,
wfo: 'HGX', "wfo": "HGX"
}, }
}, },
{ {
Name: 'Indianapolis', "Name": "Indianapolis",
Latitude: 39.7684, "Latitude": 39.7684,
Longitude: -86.158, "Longitude": -86.158,
point: { "point": {
x: 57, "x": 58,
y: 68, "y": 69,
wfo: 'IND', "wfo": "IND"
}, }
}, },
{ {
Name: 'Los Angeles', "Name": "Los Angeles",
Latitude: 34.0522, "Latitude": 34.0522,
Longitude: -118.2437, "Longitude": -118.2437,
point: { "point": {
x: 154, "x": 155,
y: 44, "y": 45,
wfo: 'LOX', "wfo": "LOX"
}, }
}, },
{ {
Name: 'Miami', "Name": "Miami",
Latitude: 25.7743, "Latitude": 25.7743,
Longitude: -80.1937, "Longitude": -80.1937,
point: { "point": {
x: 109, "x": 110,
y: 50, "y": 51,
wfo: 'MFL', "wfo": "MFL"
}, }
}, },
{ {
Name: 'Minneapolis', "Name": "Minneapolis",
Latitude: 44.98, "Latitude": 44.98,
Longitude: -93.2638, "Longitude": -93.2638,
point: { "point": {
x: 107, "x": 108,
y: 71, "y": 72,
wfo: 'MPX', "wfo": "MPX"
}, }
}, },
{ {
Name: 'New York', "Name": "New York",
Latitude: 40.7142, "Latitude": 40.7142,
Longitude: -74.0059, "Longitude": -74.0059,
point: { "point": {
x: 32, "x": 33,
y: 34, "y": 35,
wfo: 'OKX', "wfo": "OKX"
}, }
}, },
{ {
Name: 'Norfolk', "Name": "Norfolk",
Latitude: 36.8468, "Latitude": 36.8468,
Longitude: -76.2852, "Longitude": -76.2852,
point: { "point": {
x: 89, "x": 90,
y: 51, "y": 52,
wfo: 'AKQ', "wfo": "AKQ"
}, }
}, },
{ {
Name: 'Orlando', "Name": "Orlando",
Latitude: 28.5383, "Latitude": 28.5383,
Longitude: -81.3792, "Longitude": -81.3792,
point: { "point": {
x: 26, "x": 26,
y: 68, "y": 68,
wfo: 'MLB', "wfo": "MLB"
}, }
}, },
{ {
Name: 'Philadelphia', "Name": "Philadelphia",
Latitude: 39.9523, "Latitude": 39.9523,
Longitude: -75.1638, "Longitude": -75.1638,
point: { "point": {
x: 49, "x": 50,
y: 75, "y": 76,
wfo: 'PHI', "wfo": "PHI"
}, }
}, },
{ {
Name: 'Pittsburgh', "Name": "Pittsburgh",
Latitude: 40.4406, "Latitude": 40.4406,
Longitude: -79.9959, "Longitude": -79.9959,
point: { "point": {
x: 77, "x": 78,
y: 65, "y": 66,
wfo: 'PBZ', "wfo": "PBZ"
}, }
}, },
{ {
Name: 'St. Louis', "Name": "St. Louis",
Latitude: 38.6273, "Latitude": 38.6273,
Longitude: -90.1979, "Longitude": -90.1979,
point: { "point": {
x: 94, "x": 95,
y: 73, "y": 74,
wfo: 'LSX', "wfo": "LSX"
}, }
}, },
{ {
Name: 'San Francisco', "Name": "San Francisco",
Latitude: 37.7749, "Latitude": 37.7749,
Longitude: -122.4194, "Longitude": -122.4194,
point: { "point": {
x: 85, "x": 85,
y: 105, "y": 105,
wfo: 'MTR', "wfo": "MTR"
}, }
}, },
{ {
Name: 'Seattle', "Name": "Seattle",
Latitude: 47.6062, "Latitude": 47.6062,
Longitude: -122.3321, "Longitude": -122.3321,
point: { "point": {
x: 124, "x": 125,
y: 67, "y": 68,
wfo: 'SEW', "wfo": "SEW"
}, }
}, },
{ {
Name: 'Syracuse', "Name": "Syracuse",
Latitude: 43.0481, "Latitude": 43.0481,
Longitude: -76.1474, "Longitude": -76.1474,
point: { "point": {
x: 51, "x": 52,
y: 98, "y": 99,
wfo: 'BGM', "wfo": "BGM"
}, }
}, },
{ {
Name: 'Tampa', "Name": "Tampa",
Latitude: 27.9475, "Latitude": 27.9475,
Longitude: -82.4584, "Longitude": -82.4584,
point: { "point": {
x: 70, "x": 71,
y: 96, "y": 97,
wfo: 'TBW', "wfo": "TBW"
}, }
}, },
{ {
Name: 'Washington DC', "Name": "Washington DC",
Latitude: 38.8951, "Latitude": 38.8951,
Longitude: -77.0364, "Longitude": -77.0364,
point: { "point": {
x: 97, "x": 97,
y: 71, "y": 71,
wfo: 'LWX', "wfo": "LWX"
}, }
}, }
]; ]