geojson.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 pool = new Database({
  7. host: '192.168.100.30',
  8. database: 'real3d',
  9. user: 'postgres',
  10. password: 'postgis',
  11. port: 5432,
  12. });
  13. async function readFile(input, output) {
  14. // 连接到数据库,设置模式
  15. await pool.connect();
  16. await pool.setSchema('vector');
  17. const data = fs.readFileSync(input, 'utf8');
  18. const geojson = JSON.parse(data);
  19. let insertSqlStatements = '';
  20. for (let i = 0; i < geojson.features.length; i++) {
  21. let feature = geojson.features[i];
  22. let ewktString = wkx.Geometry.parseGeoJSON(feature.geometry).toWkt();
  23. const insertSql = `INSERT INTO vector."TB_CZKFBJ_ONE" (id,geom) VALUES (${i},public.st_geomfromewkt('${ewktString}'));`;
  24. insertSqlStatements+=insertSql+`\n`
  25. // console.log(insertSql);
  26. // const res = await pool.query(insertSql);
  27. // console.log(i);
  28. }
  29. fs.writeFileSync(output, insertSqlStatements, 'utf8');
  30. console.log("1");
  31. }
  32. readFile("./data/geojson/修正id.geojson", "./data/geojson/修正.sql")