const fs = require('fs'); const turf = require('@turf/turf'); const wkx = require('wkx'); const Database = require('../db'); const moment = require('moment'); const uuid = require('uuid'); const pool = new Database({ host: '192.168.100.30', database: 'real3d', user: 'postgres', password: 'postgis', port: 5432, }); async function importFactor(inFilePath, landTypeCode) { // 连接到数据库,设置模式 await pool.connect(); await pool.setSchema('base'); try { // 同步读取GeoJSON文件 const data = fs.readFileSync(inFilePath, 'utf8'); // 清空表 base.t_fzss_fzxz_factor_temp // const deleteSql = `delete from t_fzss_fzxz_factor_temp`; // await pool.query(deleteSql); // 解析GeoJSON数据 const dataInfos = JSON.parse(data); importItems(dataInfos, landTypeCode); console.log("插入模板成功" + inFilePath) } catch (err) { console.error('操作GeoJSON文件时出错:', err); } } async function importItems(insertItems, landTypeCode) { for (let index = 0; index < insertItems.length; index++) { const element = insertItems[index]; // 生成uuid并且去掉下划线 const id = uuid.v4().replace(/-/g, ""); const insertObj = { id: id, landTypeCode: landTypeCode, factorId: element.id, factorBsm: element.bsm, factorName: element.name, order_index: index, condition_info: JSON.stringify(element.condition_info), system: true } // 生成数据库的插入语句 const insertSql = `insert into t_fzss_fzxz_factor_temp (id,land_type_code,factor_id,factor_bsm,factor_name,order_index,condition_info,system) values('${insertObj.id}','${insertObj.landTypeCode}','${insertObj.factorId}','${insertObj.factorBsm}','${insertObj.factorName}',${insertObj.order_index},'${insertObj.condition_info}',${insertObj.system})`; console.log(insertSql); const res = await pool.query(insertSql); if (element.children && element.children.length > 0) { await importItems(element.children, id); } } } importFactor("./data/schedule/factor_temp/factor_residence.json", "0701") importFactor("./data/schedule/factor_temp/factor_residence.json", "070101") importFactor("./data/schedule/factor_temp/factor_residence.json", "070102") importFactor("./data/schedule/factor_temp/factor_residence.json", "070103") importFactor("./data/schedule/factor_temp/factor_residence.json", "08") importFactor("./data/schedule/factor_temp/factor_residence.json", "0801") importFactor("./data/schedule/factor_temp/factor_residence.json", "0802") importFactor("./data/schedule/factor_temp/factor_residence.json", "0803") importFactor("./data/schedule/factor_temp/factor_residence.json", "080301") importFactor("./data/schedule/factor_temp/factor_residence.json", "080302") importFactor("./data/schedule/factor_temp/factor_residence.json", "0804") importFactor("./data/schedule/factor_temp/factor_residence.json", "080401") importFactor("./data/schedule/factor_temp/factor_residence.json", "080402") importFactor("./data/schedule/factor_temp/factor_residence.json", "080403") importFactor("./data/schedule/factor_temp/factor_residence.json", "080404") importFactor("./data/schedule/factor_temp/factor_residence.json", "080405") importFactor("./data/schedule/factor_temp/factor_residence.json", "0805") importFactor("./data/schedule/factor_temp/factor_residence.json", "080501") importFactor("./data/schedule/factor_temp/factor_residence.json", "080502") importFactor("./data/schedule/factor_temp/factor_residence.json", "0806") importFactor("./data/schedule/factor_temp/factor_residence.json", "080601") importFactor("./data/schedule/factor_temp/factor_residence.json", "080602") importFactor("./data/schedule/factor_temp/factor_residence.json", "080603") importFactor("./data/schedule/factor_temp/factor_residence.json", "0807") importFactor("./data/schedule/factor_temp/factor_residence.json", "080701") importFactor("./data/schedule/factor_temp/factor_residence.json", "080702") importFactor("./data/schedule/factor_temp/factor_residence.json", "080703") importFactor("./data/schedule/factor_temp/factor_residence.json", "080704") importFactor("./data/schedule/factor_temp/factor_residence.json", "09") importFactor("./data/schedule/factor_temp/factor_residence.json", "0901") importFactor("./data/schedule/factor_temp/factor_residence.json", "090101") importFactor("./data/schedule/factor_temp/factor_residence.json", "090102") importFactor("./data/schedule/factor_temp/factor_residence.json", "090103") importFactor("./data/schedule/factor_temp/factor_residence.json", "090104") importFactor("./data/schedule/factor_temp/factor_residence.json", "090105") importFactor("./data/schedule/factor_temp/factor_residence.json", "0902") importFactor("./data/schedule/factor_temp/factor_residence.json", "0903") importFactor("./data/schedule/factor_temp/factor_residence.json", "090301") importFactor("./data/schedule/factor_temp/factor_residence.json", "090302") importFactor("./data/schedule/factor_temp/factor_residence.json", "0904") importFactor("./data/schedule/factor_temp/factor_residence.json", "090401")