Files
osmWorkflow/scripts/lib/traffic-signals.js

24 lines
951 B
JavaScript

"use strict";
const fs = require("fs");
const { osm: { parseOsm }, trafficSignals } = require("@osm-asset/road-compiler");
function readTrafficSignalFeatures(stopLinePath, intersectionPath, osmPath) {
const controls = parseOsm(fs.readFileSync(osmPath, "utf8")).trafficSignalControls;
return trafficSignals.buildTrafficSignalFeatures(
JSON.parse(fs.readFileSync(stopLinePath, "utf8")),
JSON.parse(fs.readFileSync(intersectionPath, "utf8")), controls,
);
}
function readTrafficSignals(editablePath, osmPath = null) {
const collection = JSON.parse(fs.readFileSync(editablePath, "utf8"));
if (osmPath) {
const controls = parseOsm(fs.readFileSync(osmPath, "utf8")).trafficSignalControls;
trafficSignals.validateTrafficSignalSourceReferences(collection, controls);
}
return trafficSignals.buildTrafficSignalsFromFeatures(collection);
}
module.exports = { ...trafficSignals, readTrafficSignalFeatures, readTrafficSignals };