.net关于坐标之间一些简单操作
2018-06-22 07:50:37来源:未知 阅读 ()
function GCJ02toBD09(lng, lat) { var x_pi = 3.14159265358979324 * 3000.0 / 180.0; var z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_pi); var theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_pi); var bd_lng = z * Math.cos(theta) + 0.0065; var bd_lat = z * Math.sin(theta) + 0.006; return [bd_lng,bd_lat] }
function getDistance(lat1, lng1, lat2, lng2) { var dis = 0; var radLat1 = toRadians(lat1); var radLat2 = toRadians(lat2); var deltaLat = radLat1 - radLat2; var deltaLng = toRadians(lng1) - toRadians(lng2); var dis = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(deltaLat / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(deltaLng / 2), 2))); return dis * 6378137; function toRadians(d) { return d * Math.PI / 180; } }
/// <summary> /// /// </summary> /// <param name="distance">距离</param> /// <param name="lng">A坐标经度</param> /// <param name="lati">A坐标纬度</param> /// <param name="angle">角度 ,以正北方向顺时针开始</param> /// <returns></returns> private string ConvertDistanceToLogLat(int distance, string lng, string lati, double angle) { double juli = (float)distance / 1000; string logLat = null; double lng1 = Convert.ToDouble(lng.Trim()); double lat1 = Convert.ToDouble(lati.Trim()); //将距离转换成经度的计算公式 double lon = lng1 + (juli * Math.Sin(angle * Math.PI / 180)) / (111 * Math.Cos(lat1 * Math.PI / 180)); //将距离转换成纬度的计算公式 double lat = lat1 + (juli * Math.Cos(angle * Math.PI / 180)) / 111; logLat = lon + "," + lat; return logLat; }
private string ConvertLogLatToString(double lon) { string resut = null; string temp = lon.ToString(); string[] du = temp.Split('.'); resut += du[0] + "°"; double fen = (lon - Convert.ToDouble(du[0])) * 60; string[] fen_Arrary = fen.ToString().Split('.'); resut += fen_Arrary[0] + "′"; if (fen_Arrary.Length > 1) { double second = Math.Round((fen - Convert.ToDouble(fen_Arrary[0])) * 60, 0); resut += second.ToString() + "″"; } return resut; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:文件各种上传,离不开的表单
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash