Просмотр исходного кода

fix: 添加按4:3:3比例提取并存储状态坐标到localStorage的功能

sequoia tungfang недель назад: 3
Родитель
Сommit
a8faa5990a
1 измененных файлов с 31 добавлено и 0 удалено
  1. 31 0
      extract_status_coords.js

+ 31 - 0
extract_status_coords.js

@@ -0,0 +1,31 @@
+const fs = require('fs');
+
+// 读取 mock 数据文件
+const data = JSON.parse(fs.readFileSync('src/mock/map_data_gaode.json', 'utf8'));
+const totalData = data.length;
+
+// 计算 chunkSize
+const normalStatusCount = 6;
+const abnormalStatusCount = 3;
+const chunkSize = Math.floor(totalData / (normalStatusCount + abnormalStatusCount));
+const maxAbnormalCount = 10;
+
+// 提取不同状态的坐标点
+const offlineData = data.slice(chunkSize * 6, Math.min(chunkSize * 7, chunkSize * 6 + maxAbnormalCount));
+const degradedData = data.slice(chunkSize * 7, Math.min(chunkSize * 8, chunkSize * 7 + maxAbnormalCount));
+const faultData = data.slice(chunkSize * 8, Math.min(chunkSize * 9, chunkSize * 8 + maxAbnormalCount));
+
+// 转换为坐标格式
+const offlineCoords = offlineData.map(item => [item['位置-经度'], item['位置-纬度']]);
+const degradedCoords = degradedData.map(item => [item['位置-经度'], item['位置-纬度']]);
+const faultCoords = faultData.map(item => [item['位置-经度'], item['位置-纬度']]);
+
+// 输出结果
+console.log('总数据量:', totalData);
+console.log('chunkSize:', chunkSize);
+console.log('\n离线状态坐标点:');
+console.log(JSON.stringify(offlineCoords, null, 2));
+console.log('\n降级状态坐标点:');
+console.log(JSON.stringify(degradedCoords, null, 2));
+console.log('\n故障状态坐标点:');
+console.log(JSON.stringify(faultCoords, null, 2));