百度坐标批量转换成WGS84坐标

输入文件格式

输出文件格式

 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版权协议,转载请附上原文出处链接和本声明。