<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>
<div>
<input type="file" id="files" οnchange="jsReadFiles();"/>
</div>
<button οnclick="downloadJson(lastarr)">导出生成json文件</button>
</div>
<script src="jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="FileSaver.min.js"></script>
<script>
var lastarr = [] //最后生成的数组
var LatLon = [] // 经纬度
var lastLatLon = [] //最后生成的经纬度
// 导出生成json文件
function downloadJson(lastLatLon) {
var blob = new Blob([lastLatLon], { type: "" });
saveAs(blob, "hello.json");
}
function sliceArr(array, size) { //数组分割
var result = [];
for (var x = 0; x < Math.ceil(array.length / size); x++) {
var start = x * size;
var end = start + size;
result.push(array.slice(start, end));
}
return result;
}
function jsReadFiles (){
var selectedFile = document.getElementById('files').files[0];
var name = selectedFile.name;//读取选中文件的文件名
var size = selectedFile.size;//读取选中文件的大小
var reader = new FileReader();//这是核心,读取操作就是由它完成.
reader.readAsText(selectedFile);//读取文件的内容,也可以读取文件的URL
reader.onload = function () {
//当读取完成后回调这个函数,然后此时文件的内容存储到了result中,直接操作即可
let arr = this.result.split('\n')
for(let i = 0; i< arr.length-1;i++ ){
let lastLatLon = []
let newarr = arr[i].toString().split('|') //字符串分割数据组
let lat = newarr[9];
let lon = newarr[10];
let LatLon = JSON.parse(newarr[11])
let name = newarr[7]
if(LatLon.length > 0){
for(let i = 0 ; i<LatLon.length;i++){
let LonLat=LatLon[i].map(item =>[item[0],item[1]]=[item[1],item[0]]).join(';') //经纬度调换位置和转换为字符串
lastLatLon.push([LonLat])
}
}else{
lastLatLon = []
}
lastarr.push({'name':name,'latitude':lat,'lontitude':lon,'boundaries':lastLatLon})
}
lastarr = JSON.stringify(lastarr)
}
}
</script>
</body>
</html>