输入文件格式
输出文件格式
js文件展示
js代码(坐标转换.html)如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0,user-scalable=no" />
<script type="text/javascript" src="https://unpkg.com/gcoord/dist/gcoord.js"></script>
<title>ddd
</title>
<script type="text/javascript" src="https://api.map.baidu.com/getscript?v=2.0&ak=O2lITLkpYBPGXmQ67IZo1jKb4DpNKLQY&services=&t=20190622163250"></script>
<script type="text/javascript" src="https://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924&from=1&to=5&ak=O2lITLkpYBPGXmQ67IZo1jKb4DpNKLQY"></script>
</head>
<body><div>
读取文本文件:
<input type="file" id="file1" accept="*" />
</div>
<div>
显示进度:
<progress id="pro" value="0"></progress>
</div>
<div id="result"></div>
<script type="text/javascript">
var file1 = document.getElementById('file1');//获取选择的文件路径
file1.onchange = function () {
var file = file1.files[0];
//读取为二进制
var reader = new FileReader();
reader.readAsText(file,'utf-8'); //读取文件
//显示进度
var pro = document.getElementById('pro');
pro.max = file.size;
pro.value = 0;
reader.onprogress = function (e) {
pro.value = e.loaded;
}
reader.onload = function () {
var str = reader.result;
var rows = str.split('\n'); //根据换行符分割,会多一行空值。
var clients = [];
var key_list = [];
var value_list=[];
for(var i =1; i<rows.length-1; i++){ //长度减1,是为了不取那个空值
var row =rows[i].split(',');
var geo="["+row[1].trim()+","+row[2].trim()+"]"
var geo_result=gcoord.transform(geo,gcoord.BD09,gcoord.WGS84)
var geo_dic={}
geo_dic['id']=row[0];
geo_dic['jingwei']='('+geo_result[0]+','+geo_result[1]+')';
key_list.push(row[0]);//插入 id
value_list.push('('+geo_result[0]+','+geo_result[1]+')'); //插入经纬度
/* //此方法是插入字典,解析字典内容
var client = {
id:row[0],
jingwei:geo_result,
};
clients.push(geo_dic);
//console.log(i);
//document.getElementById('result').innerHTML =geo_dic;
*/
}
var geo_list=JSON.stringify(clients[0])
//document.getElementById('result').innerHTML =value_list.length;
var result_list=[]
result_list.push("id,jingweidu"+'\n');
document.getElementById('result').innerHTML += '<li style="list-style-type:none;">'+"id,jingweidu"+'</li>';
//document.getElementById('result').innerHTML = result_list;
for(var j=0;j<value_list.length;j++){
//文本格式: 9144030089250668XL,(113.9960174614576,22.662751864636633)
result_list.push(key_list[j]+','+"\""+value_list[j]+"\""+'\n'); //csv,excel文件是按逗号进行分割的。如果需要逗号,处理方法很简单,为内容加上双引号(英文格式)就可以了
document.getElementById('result').innerHTML += '<li style="list-style-type:none;">'+key_list[j]+','+value_list[j]+'</li>';
//'<li>'+array[i]+'</li>'
}
//document.getElementById('result').innerHTML = result_list;
//var data = ["1,2,3\n","4,5,6"] // 每一行数据为一个字符串,字符串用“,”隔开,并且在每一行加上换行符
var blob = new Blob(result_list, {type:"text/csv,charset=UTF-8"})
var csvUrl = URL.createObjectURL(blob)
var aEle = document.createElement("a")
aEle.download = "坐标结果.csv" //文件名随意
aEle.href = csvUrl
aEle.click()
//由对象转为JSON字符串
//console.log(JSON.stringify(clients));
//document.getElementById('result').innerHTML = JSON.stringify(clients);
}
}
</script>
<a h2></a>
</body>
</html>
版权声明:本文为qq_42213727原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。