时 间 记 忆
最 新 评 论
专 题 分 类
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接
博 客 信 息


 
 
   
 
 
基于JSP的一个小GPS程序
[ 2008-11-2 21:22:00 | By: cuteyak ]
 

前些天有网友写信给我,交流了一下GPS座标的使用问题.其中谈到一点,如何将一组WGS84系统的经纬度座标转换成GPX文件.虽然方法很多,但为了方便,还是自己写了个小程序来用.与大家分享一下.

程序目标:

A.将下列形式存放在TXT文件中的WGS84座标转换为GPX路径文件.
23.1933401,113.3710702
23.1933303,113.3710904
23.1933500,113.3711200
23.1980000,113.4000000
........

B.程序运行环境尽量简单,无须特别安装.
C.代码开放,便于共享

于是乎....

我想到最简单的方法可能就是用JSP开发个嵌入于HTML的网页脚本,以浏览器作为平台运行.代码如下,用"记事本"编辑即可,另存为htm后缀名.

<html>
<head>
<SCRIPT>
//<!--
function onDownloadDone(s) {
  var st1
  var st2
  var l
  var nstr="<gpx>\n<trk>\n<trkseg>\n"
  l=s.length
  for(i=0;i<l;i=i 24){
     st1=s.substr(i,10)
     st2=s.substr(i 11,11)
     nstr=nstr "<trkpt lat=\"" st1 "\" lon=\"" st2 "\"></trkpt>\n"
     }
  oText.value=nstr "\n</trkseg>\n</trk>\n</gpx>"

}
//-->
</SCRIPT>
<BODY>
<IE:DOWNLOAD ID="oDownload" STYLE="behavior:url(#default#download)" />
<input type="file" id="src">
<A HREF="#" onclick="if(src.value!='')oDownload.startDownload(src.value,onDownloadDone)">转换GPX</A>
<BR><BR>
<TEXTAREA ID=oText COLS=70 ROWS=10>
</TEXTAREA>
<input type="button" value="Save As" onclick="save.document.write(oText.value);save.document.execCommand('SaveAs',true,'text.gpx')">
<iframe name="save" style="display:none;"></iframe>

</body>
</html>

看明白了吗?下面是IE中运行的程序介面,注意要允许脚本程序的运行方可.

这个程序有个小问题有待改进,即目前默认转换的座标均为正数(即东经与北纬),为负数的情况这里没考虑,要修正的话源代码里改一点点就可以了.

程序本身并没什么亮点,也很简单.大家不妨试试看看如何增加更多的功能,例如算出路径的总里程.

 
 

发表评论:

    大名:
    密码: (游客无须输入密码)
    主页:
    标题:
 
     
   
     
Powered by Oblog.