const fs = require('fs');
const turf = require('@turf/turf');

function readLineFile(inFilePath, outFilePath) {
    try {
        // 同步读取GeoJSON文件
        const data = fs.readFileSync(inFilePath, 'utf8');

        // 解析GeoJSON数据
        const geojson = JSON.parse(data);
        for (let i = 0; i < geojson.features.length; i++) {
            let feature = geojson.features[i];
            if (geojson.features[i].properties["断面尺"] !== null &&
                geojson.features[i].properties["断面尺"].includes("×")) {
                // 方管
                geojson.features[i].properties["符号风格"] = 130
                geojson.features[i].properties["符号颜色"] = "#FF0000"
                let ll = geojson.features[i].properties["断面尺"].split("×")
                geojson.features[i].properties["宽度"] = Number(ll[0]) / 1000
            } else {
                // 圆管
                geojson.features[i].properties["符号风格"] = 129
                geojson.features[i].properties["符号颜色"] = "#00FF00"
                geojson.features[i].properties["宽度"] = Number(geojson.features[i].properties["断面尺"]) / 2 / 1000
            }
        }

        // 同步写入GeoJSON文件
        fs.writeFileSync(outFilePath, JSON.stringify(geojson, null, 2));
        console.log('GeoJSON文件已成功保存');
    } catch (err) {
        console.error('操作GeoJSON文件时出错:', err);
    }
}



function readPointFile(inFilePath, outFilePath) {
    try {
        // 同步读取GeoJSON文件
        const data = fs.readFileSync(inFilePath, 'utf8');

        // 铸铁 砼 地砖 复合 大理石 沥青覆盖 玻璃钢 钢

        // 解析GeoJSON数据
        const geojson = JSON.parse(data);
        for (let i = 0; i < geojson.features.length; i++) {
            let feature = geojson.features[i]

            let gaiCai = geojson.features[i].properties["井盖材"]
            if (gaiCai !== null) {

                // if (gaiCai == "铸铁") {

                // }else if(gaiCai == "砼"){

                // }else if(gaiCai == "地砖"){

                // }else if(gaiCai == "复合"){

                // }else if(gaiCai == "大理石"){

                // }else if(gaiCai == "沥青覆盖"){

                // }else if(gaiCai == "玻璃钢"){

                // }else if(gaiCai == "钢"){

                // }


                let gui = geojson.features[i].properties["井盖规"]
                if (gui !== null) {
                    if (gui.includes("×")) {
                        let ll = gui.split("×")
                        geojson.features[i].properties["符号风格"] = 54440
                        geojson.features[i].properties["符号颜色"] = "#0000FF"
                        geojson.features[i].properties["宽度"] = Number(ll[0])
                    } else {
                        geojson.features[i].properties["符号风格"] = 54440
                        geojson.features[i].properties["符号颜色"] = "#0000FF"
                        geojson.features[i].properties["宽度"] = Number(gui) / 2
                    }
                }
            } else {
                geojson.features[i].properties["符号风格"] = 96
                geojson.features[i].properties["符号颜色"] = "#FFFFFF"
            }
        }

        // 同步写入GeoJSON文件
        fs.writeFileSync(outFilePath, JSON.stringify(geojson, null, 2));
        console.log('GeoJSON文件已成功保存');
    } catch (err) {
        console.error('操作GeoJSON文件时出错:', err);
    }
}


readLineFile("./data/guanxian/L.geojson", "./data/guanxian/L1.geojson");
readPointFile("./data/guanxian/P.geojson", "./data/guanxian/P1.geojson");