mirror of
https://github.com/netbymatt/ws4kp.git
synced 2026-04-18 17:49:31 -07:00
Allow for station data overrides #125
This commit is contained in:
File diff suppressed because it is too large
Load Diff
19
datagenerators/stations-overrides.mjs
Normal file
19
datagenerators/stations-overrides.mjs
Normal file
@@ -0,0 +1,19 @@
|
||||
// station overrides are used to change the data for a station that is provided by the api
|
||||
// the most common use is to adjust the city (station name) for formatting or to update an outdated name
|
||||
// a complete station object looks like this:
|
||||
// {
|
||||
// "id": "KMCO", // 4-letter station identifier and key for lookups
|
||||
// "city": "Orlando International Airport", // name displayed for this station
|
||||
// "state": "FL", // state
|
||||
// "lat": 28.41826, // latitude of station
|
||||
// "lon": -81.32413 // longitude of station
|
||||
// }
|
||||
// any or all of the data for a station can be overwritten, follow the existing override patterns below
|
||||
|
||||
const overrides = {
|
||||
KBJC: {
|
||||
city: 'Rocky Mountain Metro',
|
||||
},
|
||||
};
|
||||
|
||||
export default overrides;
|
||||
@@ -5,6 +5,7 @@ import { writeFileSync } from 'fs';
|
||||
import https from './https.mjs';
|
||||
import states from './stations-states.mjs';
|
||||
import chunk from './chunk.mjs';
|
||||
import overrides from './stations-overrides.mjs';
|
||||
|
||||
// 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'];
|
||||
@@ -43,12 +44,16 @@ for (let i = 0; i < chunkStates.length; i += 1) {
|
||||
console.log(`Duplicate station: ${state}-${id}`);
|
||||
return;
|
||||
}
|
||||
// get any overrides if available
|
||||
const override = overrides[id] ?? {};
|
||||
output[id] = {
|
||||
id,
|
||||
city: station.properties.name,
|
||||
state,
|
||||
lat: station.geometry.coordinates[1],
|
||||
lon: station.geometry.coordinates[0],
|
||||
// finally add the overrides
|
||||
...override,
|
||||
};
|
||||
});
|
||||
next = stations?.pagination?.next;
|
||||
@@ -59,7 +64,7 @@ for (let i = 0; i < chunkStates.length; i += 1) {
|
||||
while (next && stations.features.length > 0);
|
||||
console.log(`Complete: ${state}`);
|
||||
return true;
|
||||
} catch (e) {
|
||||
} catch {
|
||||
console.error(`Unable to get state: ${state}`);
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user