text-to-map
Version:
Text To Map usiluje o lepší, strojově zpracovatelné využití částí vyhlášek s výčtem ulic a dalších lokací. Jde o rozšiřitelnou sadu konceptů a nástrojů, které zajistí hladký převod výčtu ulic a jejich rozsahů v lidsky srozumitelném jazyce do strojově zpra
27 lines • 4.06 kB
JavaScript
import { readFileSync, writeFileSync } from "fs";
import { municipalitiesToPolygons } from "../street-markdown/polygons";
import { disconnectKnex } from "../db/db";
async function main() {
// take first node argument as a file name
if (process.argv.length < 3) {
console.error("Missing file name argument");
process.exit(1);
}
const fileName = process.argv[2];
const fileContent = readFileSync(fileName);
const json = JSON.parse(fileContent.toString());
const municipalityPolygons = await municipalitiesToPolygons(json);
console.log(`Processed ${json.length} municipalities`);
await disconnectKnex();
const output = JSON.stringify(municipalityPolygons);
if (process.argv.length >= 4) {
const outputFileName = process.argv[3];
console.log(`Writing polygons to ${outputFileName}`);
writeFileSync(outputFileName, output);
}
else {
console.log(JSON.stringify(output));
}
}
main();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL3BvbHlnb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHMUMsS0FBSyxVQUFVLElBQUk7SUFDakIsMENBQTBDO0lBQzFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0lBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQW1CLENBQUM7SUFFbEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxFLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLENBQUMsTUFBTSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sY0FBYyxFQUFFLENBQUM7SUFFdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3BELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1FBQzVCLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNyRCxhQUFhLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3ZDO1NBQU07UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztLQUNyQztBQUNILENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgeyBtdW5pY2lwYWxpdGllc1RvUG9seWdvbnMgfSBmcm9tIFwiLi4vc3RyZWV0LW1hcmtkb3duL3BvbHlnb25zXCI7XHJcbmltcG9ydCB7IGRpc2Nvbm5lY3RLbmV4IH0gZnJvbSBcIi4uL2RiL2RiXCI7XHJcbmltcG9ydCB7IE11bmljaXBhbGl0eSB9IGZyb20gXCIuLi9zdHJlZXQtbWFya2Rvd24vdHlwZXNcIjtcclxuXHJcbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XHJcbiAgLy8gdGFrZSBmaXJzdCBub2RlIGFyZ3VtZW50IGFzIGEgZmlsZSBuYW1lXHJcbiAgaWYgKHByb2Nlc3MuYXJndi5sZW5ndGggPCAzKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKFwiTWlzc2luZyBmaWxlIG5hbWUgYXJndW1lbnRcIik7XHJcbiAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBmaWxlTmFtZSA9IHByb2Nlc3MuYXJndlsyXTtcclxuICBjb25zdCBmaWxlQ29udGVudCA9IHJlYWRGaWxlU3luYyhmaWxlTmFtZSk7XHJcbiAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoZmlsZUNvbnRlbnQudG9TdHJpbmcoKSkgYXMgTXVuaWNpcGFsaXR5W107XHJcblxyXG4gIGNvbnN0IG11bmljaXBhbGl0eVBvbHlnb25zID0gYXdhaXQgbXVuaWNpcGFsaXRpZXNUb1BvbHlnb25zKGpzb24pO1xyXG5cclxuICBjb25zb2xlLmxvZyhgUHJvY2Vzc2VkICR7anNvbi5sZW5ndGh9IG11bmljaXBhbGl0aWVzYCk7XHJcbiAgYXdhaXQgZGlzY29ubmVjdEtuZXgoKTtcclxuXHJcbiAgY29uc3Qgb3V0cHV0ID0gSlNPTi5zdHJpbmdpZnkobXVuaWNpcGFsaXR5UG9seWdvbnMpO1xyXG4gIGlmIChwcm9jZXNzLmFyZ3YubGVuZ3RoID49IDQpIHtcclxuICAgIGNvbnN0IG91dHB1dEZpbGVOYW1lID0gcHJvY2Vzcy5hcmd2WzNdO1xyXG4gICAgY29uc29sZS5sb2coYFdyaXRpbmcgcG9seWdvbnMgdG8gJHtvdXRwdXRGaWxlTmFtZX1gKTtcclxuICAgIHdyaXRlRmlsZVN5bmMob3V0cHV0RmlsZU5hbWUsIG91dHB1dCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KG91dHB1dCkpO1xyXG4gIH1cclxufVxyXG5cclxubWFpbigpO1xyXG4iXX0=