24 lines
951 B
JavaScript
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 };
|