schedule_factor_id.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const fs = require('fs');
  2. const turf = require('@turf/turf');
  3. const wkx = require('wkx');
  4. const Database = require('./db');
  5. const moment = require('moment');
  6. const uuid = require('uuid');
  7. function importFactor(inFilePath, outFilePath) {
  8. try {
  9. // 同步读取GeoJSON文件
  10. const data = fs.readFileSync(inFilePath, 'utf8');
  11. // 解析GeoJSON数据
  12. const dataInfos = JSON.parse(data);
  13. setItemId(dataInfos, "");
  14. // 将数据写入文件
  15. // fs.writeFileSync(outFilePath, JSON.stringify(dataInfos), 'utf8');
  16. console.log("插入因子成功");
  17. } catch (err) {
  18. console.error('操作GeoJSON文件时出错:', err);
  19. }
  20. }
  21. function setItemId(insertItems, parentId) {
  22. for (let index = 0; index < insertItems.length; index++) {
  23. const element = insertItems[index];
  24. // 生成uuid并且去掉下划线
  25. const id = uuid.v4().replace(/-/g, "");
  26. insertItems[index]["id"] = id
  27. insertItems[index]["parent_id"] = parentId
  28. if (element.children && element.children.length > 0) {
  29. setItemId(element.children, id);
  30. }
  31. }
  32. }
  33. importFactor("./data/schedule/factor_info.json", "./data/schedule/factor_info1.json")