node_3.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. let fs = require('fs');
  2. let provinceNameArr = ["Barisal", "Chittagong", "Rajshahi", "Rangpur", "Dhaka", "Sylhet", "Mymensingh", "Khulna"];
  3. let cityName = {
  4. Barisal:['Barguna','Patuakhali','Bhola','Barisal','Jhalokati','Pirojpur'],
  5. Chittagong:['Bandarban','Brahmanbaria','Chandpur','Chittagong','Khagrachhari','Lakshmipur','Noakhali','Rangamati','Comilla','Cox\'s Bazar','Feni'],
  6. Rajshahi:['Naogaon','Natore','Chapai Nawabganj','Pabna','Rajshahi','Sirajganj','Bogra','Joypurhat'],
  7. Rangpur:['Dinajpur','Gaibandha','Kurigram','Lalmonirhat','Nilphamari','Panchagarh','Rangpur','Thakurgaon'],
  8. Dhaka:[ 'Dhaka','Kishoreganj','Madaripur','Manikganj','Munshiganj','Narayanganj','Narsingdi','Rajbari','Shariatpur','Tangail','Faridpur','Gazipur','Gopalganj'],
  9. Sylhet:['Habiganj', 'Maulvibazar', 'Sunamganj', 'Sylhet'],
  10. Mymensingh:[ 'Mymensingh', 'Netrakona', 'Sherpur', 'Jamalpur'],
  11. Khulna:[ 'Bagerhat','Chuadanga','Jessore','Jhenaidah','Khulna','Kushtia','Magura','Meherpur','Narail','Satkhira']
  12. };
  13. function writeJson(paramsName){
  14. //现将json文件读出来
  15. fs.readFile('./'+paramsName+'.json',function(err,data){
  16. console.log('读取文件',paramsName)
  17. if(err){
  18. return console.error(err);
  19. }
  20. console.log('读取文件成功')
  21. let bangladesh = data.toString();//将二进制的数据转换为字符串
  22. bangladesh = JSON.parse(bangladesh);//将字符串转换为json对象
  23. let arr2 = [];
  24. console.log('开始计算')
  25. let arr3 = [];
  26. function fun(areaName){
  27. let params = {
  28. type: "FeatureCollection",
  29. totalFeatures: 544,
  30. features: [
  31. ]
  32. }
  33. for(let d of bangladesh.features){
  34. if(d.properties.Dist_name == areaName){
  35. d.properties.name = d.properties.Upaz_name
  36. params.features.push(d)
  37. console.log(d.properties.name,d.geometry.coordinates[0][0].length)
  38. }
  39. }
  40. let str = JSON.stringify(params);//因为nodejs的写入文件只认识字符串或者二进制数,所以把json对象转换成字符串重新写入json文件中
  41. // console.log(str)
  42. try{
  43. //同步写入
  44. fs.writeFileSync('./area/'+areaName+'_3.json',str,"utf8");
  45. console.log("写入成功");
  46. }catch(err){
  47. console.log(err)
  48. }
  49. // fs.writeFile('./area/'+areaName+'_3.json',str,function(err){
  50. // if(err){
  51. // console.log(err);
  52. // }
  53. // console.log('----------计算完成-------------');
  54. // })
  55. }
  56. for(let key in cityName){
  57. for(let areaName of cityName[key]){
  58. fun(areaName)
  59. }
  60. }
  61. })
  62. }
  63. writeJson('map_bf')//执行一下;