let fs = require('fs'); let provinceNameArr = ["Barisal", "Chittagong", "Rajshahi", "Rangpur", "Dhaka", "Sylhet", "Mymensingh", "Khulna"]; let cityName = { Barisal:['Barguna','Patuakhali','Bhola','Barisal','Jhalokati','Pirojpur'], Chittagong:['Bandarban','Brahmanbaria','Chandpur','Chittagong','Khagrachhari','Lakshmipur','Noakhali','Rangamati','Comilla','Cox\'s Bazar','Feni'], Rajshahi:['Naogaon','Natore','Chapai Nawabganj','Pabna','Rajshahi','Sirajganj','Bogra','Joypurhat'], Rangpur:['Dinajpur','Gaibandha','Kurigram','Lalmonirhat','Nilphamari','Panchagarh','Rangpur','Thakurgaon'], Dhaka:[ 'Dhaka','Kishoreganj','Madaripur','Manikganj','Munshiganj','Narayanganj','Narsingdi','Rajbari','Shariatpur','Tangail','Faridpur','Gazipur','Gopalganj'], Sylhet:['Habiganj', 'Maulvibazar', 'Sunamganj', 'Sylhet'], Mymensingh:[ 'Mymensingh', 'Netrakona', 'Sherpur', 'Jamalpur'], Khulna:[ 'Bagerhat','Chuadanga','Jessore','Jhenaidah','Khulna','Kushtia','Magura','Meherpur','Narail','Satkhira'] }; function writeJson(paramsName){ //现将json文件读出来 fs.readFile('./'+paramsName+'.json',function(err,data){ console.log('读取文件',paramsName) if(err){ return console.error(err); } console.log('读取文件成功') let bangladesh = data.toString();//将二进制的数据转换为字符串 bangladesh = JSON.parse(bangladesh);//将字符串转换为json对象 let arr2 = []; console.log('开始计算') let arr3 = []; function fun(areaName){ let params = { type: "FeatureCollection", totalFeatures: 544, features: [ ] } for(let d of bangladesh.features){ if(d.properties.Dist_name == areaName){ d.properties.name = d.properties.Upaz_name params.features.push(d) console.log(d.properties.name,d.geometry.coordinates[0][0].length) } } let str = JSON.stringify(params);//因为nodejs的写入文件只认识字符串或者二进制数,所以把json对象转换成字符串重新写入json文件中 // console.log(str) try{ //同步写入 fs.writeFileSync('./area/'+areaName+'_3.json',str,"utf8"); console.log("写入成功"); }catch(err){ console.log(err) } // fs.writeFile('./area/'+areaName+'_3.json',str,function(err){ // if(err){ // console.log(err); // } // console.log('----------计算完成-------------'); // }) } for(let key in cityName){ for(let areaName of cityName[key]){ fun(areaName) } } }) } writeJson('map_bf')//执行一下;