打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
灵图编码
灵图编码转换方法(js实现)!
2008年03月14日 星期五 19:12
灵图编码由12位数字组成,表现为:xxxx-xxxx-xxxx.
整个12位编码的
第1位数字,每加1,就向北移动100米左右;每减1,就向南移动100米左右;
第2位数字,每减1,就向南移动100公里;
第3位数字,每减1,就向西移动1公里;
第4位数字,每减1,就向南移动10米;
第5位数字,每减1,就向南移动1公里;
第6位数字,每减1,就向西移动100米;
第7位数字,每减1,就向西移动100公里;
第8位数字,每减1,就向西移动10公里;
第9位数字,每减1,就向西移动10米;
第10位数,每减1,就向南移动1000公里;
第11位数,每减1,就向南移动10公里;
第12位数,每减1,就向西移动1000公里。

转换关系为:
经度:12,7,8,3,6,9 (表示:将灵图编码的第12位对应的数字放在经度的第一位,灵图编码的第7位对应的数字放在第二位,以此类推)
纬度:10,2,11,5,1,4

这样,一个灵图编码可以按上述转换关系转换:
例:2060-4501-5322
经度:201655
纬度:302420
但这还没完,由于中国境内的经度大致范围是(73-134)。所以这里的经度省略了首位数字1。
正确的应该为:
经度:120.1655
纬度: 30.2420

同理:
0063-4501-9322的转换为:
经度: 201659 -> 120.1659
纬度: 302403 -> 30.2403

0074-0201-8332的转换为:
经度:201728 -> 120.1728
纬度:303004 -> 30.3004

经验证,此中的经纬度信息适用于google 地图和灵图地图,但不适用于google的卫星地图。因为此经纬度与卫星地图上的经纬度有一定的差距(大概有几条街大的差距)。

以下用javascript语言来实现此转换方法:
//格式xxxx-xxxx-xxxx
function ltToDituGps(code){
    //x代表纬度 , y代表经度
    code = code.replace('-','').replace('-','');
    var yy = '' + code.charAt(11) + code.charAt(6) + code.charAt(7) + code.charAt(2) + code.charAt(5)+ code.charAt(8);
    var y = parseInt(yy)/10000;
    var xx = '' + code.charAt(9) + code.charAt(1) + code.charAt(10) + code.charAt(4) + code.charAt(0)+ code.charAt(3);
    var x = parseInt(xx)/10000;
    if(y < 40){
        y+=100;
    }

    var xy = {x:x,y:y};
    return xy;
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JavaScript Base64编码和解码
js中用gb2312编码解码
geohash的原理
js数字金额转换为大写金额
js实现基于Base64的编码及解码
Delphi中ScriptControl的高级应用(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服