根据经纬度计算图幅号
来源:互联网 发布:linux magic number 编辑:程序博客网 时间:2024/05/22 17:17
最近项目中需要一个使用经纬度计算图幅号的功能,在网上找了一个C语言版的代码,翻译成了ActionScript。
package map{public class MapSheetTool{private static const LatCharArray:Array = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'];private static const scaleArray:Array = [1000000,500000,250000,100000,50000,25000,10000,5000]; // 图幅比例尺 private static const latDArray:Array = [14400,7200,3600,1200,600,300,150,75]; // 图幅纬差,单位秒 private static const lonDArray:Array = [21600,10800,5400,1800,900,450,225,112.5]; // 图幅经差单位秒 public static const SCALE_1000000:Number= 0;public static const SCALE_500000:Number = 1;public static const SCALE_250000:Number = 2;public static const SCALE_100000:Number = 3;public static const SCALE_50000:Number = 4;public static const SCALE_25000:Number = 5;public static const SCALE_10000:Number = 6;public static const SCALE_5000:Number = 7;public function MapSheetTool(){} /** * @param lat:纬度 10进制表示 * @param lon:经度 10进制表示 * @param scaleID 比例尺编号(0-7) 可以使用 MapSheet.SCALE_1000000,MapSheet.SCALE_500000...输入 */public static function getSheetNumber(lat:Number,lon:Number,scaleID:Number):String{ var f:Number = lat*3600;//以秒表示的纬度 var r:Number = lon*3600;//以秒表示的经度var MapNo:Array = new Array(10);var numString:String = "";var a:int = f/(4*3600); //纬度序号var b:int = r/(6*3600)+31; //经度序号 var c:int = (int)(4*3600/latDArray[scaleID])-(int)((f%(4*3600))/latDArray[scaleID]); //在1:1000000万图幅中的序号 纬度 var d:int = (int)((r%(6*3600))/lonDArray[scaleID])+1; //在1:1000000万图幅中的序号 经度numString += LatCharArray[a];numString += ""+b;if(scaleID==0){ //1:1000000万return numString; } numString +=LatCharArray[scaleID];if(c<10){ numString+="00"; numString+=c; }else if(c<100) { numString +="0";numString+=c; } else if(c<1000){ numString += c; }else{ return ""; } if(d<10){ numString +="00"; numString +=d; }else if(d<100) { numString +="0"; numString+=d; }else if(d<1000){ numString +=d; }else{ return ""; } return numString; }}}
0 0
- 根据经纬度计算图幅号
- 根据经纬度计算里程
- 根据经纬度计算距离
- 根据经纬度计算当地时间
- 根据经纬度计算距离
- 根据经纬度计算距离
- 根据经纬度计算距离
- 根据经纬度和半径计算经纬度范围
- 根据经纬度和半径计算经纬度范围
- 根据经纬度和半径计算经纬度范围
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据经纬度坐标计算距离
- 根据经纬度计算球面距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- Win7 下VMware中如何让CentOS上网?
- 微信公众帐号开发教程第11篇-符号表情的发送(上)
- An internal error occurred during: "Add Deployment"完美解决办法
- iOS应用检查更新的最优方法附代码
- spring配置定时器的时间设置
- 根据经纬度计算图幅号
- ssh框架搭建,各版本选择
- 堆 和 栈的 区别(经典)
- android之JNI开发步骤总结
- Spring XML无自动提示
- c# 学习笔记 继承
- poj 2480 (积性函数+素因子和)
- sublime的快捷键
- 应用统计学-简单概念1