如何通过经纬度粗略计算地球两点之间的距离?直接上代码
通过两点的经纬度,就可以知道两点之间大致的夹角是多少度(相对地心来说)。这个可以通过三角函数大致求得,当然这样求出来的角度不是很准,但足够用了。
可以通过下列式子计算两点之间的夹角。x1,y1为第一个点的经纬度,x2,y2为第二个点的经纬度。(注意东经为正,西经为负,北纬为正,南纬为负,格式为小数形式,如果原始数据没有分正负,需要自己修改后才可以带入函数)。
Math.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
既然已经求出两点的夹角,就可以通过地球半径大致求出两点的直线距离。(这种方法只适合较短距离,一般500km以内较为准确)
下面是方法:
//输入 坐标1的经度和纬度 坐标2 的经度和纬度 格式 小数//返回 结果 单位米//如坐标1经度:113.1051555186082 纬度:36.166498515566445// 坐标2经度:113.1048121958543 纬度:36.16655481496116//输入://113.1051555186082//36.166498515566445//113.1048121958543//36.16655481496116//返回结果 38.6856299051866米double JingweiduToLength_m(double x1, double y1, double x2, double y2)//经纬度转距离 结果单位米{double juli = 0;juli = Math.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))/180*Math.PI*6300000;return juli;}
c#控制台程序为:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 根据经纬度计算距离csharp
{class Program{static void Main(string[] args){while(true){double x1, y1, x2, y2;Console.WriteLine("请输入两点经纬度 格式 23.0130表示23.0130°");x1 = Convert.ToDouble(Console.ReadLine());y1 = Convert.ToDouble(Console.ReadLine());x2 = Convert.ToDouble(Console.ReadLine());y2 = Convert.ToDouble(Console.ReadLine());//Console.WriteLine(x1+x2+y1+y2);Console.WriteLine("距离为:"+ JingweiduToLength_m(x1, y1, x2, y2));Console.ReadLine();}}//输入 坐标1的经度和纬度 坐标2 的经度和纬度 格式 小数//返回 结果 单位米//如坐标1经度:113.1051555186082 纬度:36.166498515566445// 坐标2经度:113.1048121958543 纬度:36.16655481496116//输入://113.1051555186082//36.166498515566445//113.1048121958543//36.16655481496116//返回结果 38.6856299051866米static double JingweiduToLength_m(double x1, double y1, double x2, double y2)//经纬度转距离 结果单位米{double juli = 0;juli = Math.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))/180*Math.PI*6300000;return juli;}}
}
如何通过经纬度粗略计算地球两点之间的距离?直接上代码相关推荐
- 根据经纬度计算地球两点之间的距离
前言 之前做过的很多项目中都有涉及到根据经纬度计算两点之间的距离,然后做排序.这个场景在很多外卖App或者小程序上经常看到,例如距离2km,<100m等等. 工具类1 public class ...
- 计算地球表面两点之间的距离
若知道地球表面两点之间的经纬度,那么便可以计算两点之间的实际距离,其数学公式推导可参考: https://download.csdn.net/download/niu_88/10759266 ...
- 用计算python两点之间的距离math_自学生信Python(第二天)|计算出两点之间的距离...
计算出两点之间的距离 日常旁白:本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪).了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言.Python. ...
- 给定经纬度计算距离_根据经纬度计算地球上两点之间的距离js实现代码
利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面 ...
- C++第一次实验-求两点之间的距离
一.问题及代码 /* 文件名称:Test4.cpp * 作 者:胡嘉威 * 完成日期: 2017 年 2 月 28 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:输入两个点的坐标,求两 ...
- php 计算两点时间距离,PHP计算地球上两点之间的距离(示例详解)
给定经度和纬度,求地球上两点之间的距离.首先我们需要了解该问题的解决思路,然后再用PHP代码来实现计算. 此问题可以用半正矢(haversine)公式求解: 大圆距离或正交距离是球面(或地球表面)上两 ...
- php 如何根据经纬度计算距离,小程序实例:如何根据经纬度计算两点之间的距离(代码)...
本篇文章给大家带来的内容是关于小程序实例:如何根据经纬度计算两点之间的距离(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.//计算两点位置距离 getDistance: fun ...
- 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度
[Google Map]怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度 根据两站点的经纬度求两站点间的距离 /**** 根据两站点的经纬度求两站点间的距离 ****/ d ...
- 通过经纬度计算两点之间的距离的公式
通过经纬度计算两点之间距离的常用公式如下: 设点 A 的纬度为 $lat_A$,经度为 $lon_A$,点 B 的纬度为 $lat_B$,经度为 $lon_B$,则两点之间的距离 $d$ 为: $d ...
最新文章
- centos7 mysql 5.6.38_centos7.4 安装mysql 5.6.38
- python中文意思k-对python中的*args与**kwgs的含义与作用详解
- php 请求转发 重定向,PHP怎么实现页面重定向?(图文+视频)
- 高校二手交易代码_@21考研er:985高校捡漏指南!这些专业去年都没招满!!
- centos7盘符 linux_linux_centos7_扩展磁盘空间
- 公司的故事之老板的平衡术
- 各种字符串合并处理示例.sql
- networkx 中心势计算_科学网—复杂网络分析库NetworkX学习笔记(2):统计指标计算 - 闫小勇的博文...
- olcd12864的u8g2库_Arduino为什么无法用u8g2驱动12864OLED屏?求找出错误
- 记录——《C Primer Plus (第五版)》第九章编程练习第六题
- php操作excel表格的导入和导出
- poj 1734 Sightseeing trip(floyd 拓展 求最小环)
- el-table 懒加载不触发合计_Angular-懒加载第三方
- new与delete函数使用方法以及注意事项
- TransE算法原理与代码解析(2021-06-22)
- python-回调函数
- 数据结构4:静态链表
- 小于n的最大素数python_求m下n个最大素数
- 牛逼,一个开源,高隐私,自架自用的聚合搜索引擎
- html盒子浮动分栏,DIV浮动定位实现CSS分栏布局