首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >根据两点经纬坐标计算两点间的距离

根据两点经纬坐标计算两点间的距离

作者头像
OECOM
发布于 2020-07-01 09:34:08
发布于 2020-07-01 09:34:08
1.8K01
代码可运行
举报
文章被收录于专栏:OECOMOECOM
运行总次数:1
代码可运行

2015-12-30 08:47:44

在进行地图一类的开发中经常会遇到需要计算两点之间的距离,下来看以下如何通过经纬坐标来确定两点间的距离

首先,设两点分别为P1、P2,如果其值是用度分秒形式表示,则需将其转换成十进制度的形式,如P1点纬度为23度30分,则其纬度值转换成十进制度的形式为23.5度。

然后,分别将两点的经度、纬度值转换成弧度制形式,如P1纬度为23.5度,转换成弧度制则为:23.5*PI / 180。分别用 P1latInRad、P1LongInRad、P2latInRad、P2LongInRad表示。

然后再分别求取两点间的纬度差(dlat)与经度差(dlon);

接下来求取两点间的正弦与余弦值,公式如下:A=sin2(dlat/2) + cos(P1LatInRad)*cos(P2LatInRad)*Sin2(dlon/2)

接着求取两点的正切值,公式如下:C=2*Math.Atan2(Math.Sqrt(A), Math.Sqrt(1-A))

最后返回两点间的距离:公式如下:D=EarthRadiusKm * C

下面来看一下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class distCnvter {
    private final static double PI = 3.14159265358979323; // 圆周率
    private final static double R = 6371229; // 地球的半径

    public static double getDistance(double longt1, double lat1, double longt2,double lat2) {
        double x, y, distance;
        x = (longt2 - longt1) * PI * R
                * Math.cos(((lat1 + lat2) / 2) * PI / 180) / 180;
        y = (lat2 - lat1) * PI * R / 180;
        distance = Math.hypot(x, y);
        return distance;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Java AWT 图形界面编程】经度 Longitude 、纬度 Latitude 计算 ( 经度、纬度概念 | 根据经纬度计算距离 )
经度 Longitude , 本初子午线 位置 为 0 度经线 , 相当于水平 x 轴 的坐标 , 经度的取值范围 -180 度 ~ +180 度 ;
韩曙亮
2023/03/25
9020
【Java AWT 图形界面编程】经度 Longitude 、纬度 Latitude 计算 ( 经度、纬度概念 | 根据经纬度计算距离 )
php mysql 经纬度_mysql,php和js根据经纬度计算距离
a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung2 为两点经度之差;
全栈程序员站长
2022/11/09
6K0
php mysql 经纬度_mysql,php和js根据经纬度计算距离
根据经纬度计算两点之间的距离的公式是_知道两点经纬度求距离
转自:https://blog.csdn.net/xiejm2333/article/details/73297004
全栈程序员站长
2022/09/30
1.2K0
基于GPS与经纬度距离计算
基于GPS与经纬度距离计算 # -*- coding:utf-8 -*- # /usr/bin/python import warnings warnings.filterwarnings("ignore") from math import radians, cos, sin, asin, sqrt # 方法1 def geodistance(lat1,lng1,lat2,lng2): ''''数学转换''' lng1, lat1, lng2, lat2 = map(radians,
AI拉呱
2021/04/23
1K0
利用JS实现的根据经纬度计算地球上两点之间的距离
第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距离(The Great Circle Distance)。
大江小浪
2018/07/24
3.5K0
Python 优雅地利用两点经纬度计算地理空间距离
处理地理数据时,经常需要用到两个地理位置间的距离。比如 A 点经纬度(30.553949,114.357399),B点经纬度(129.1344,25.5465),求 AB 两点之间的距离。
叶庭云
2021/12/07
12.9K0
Python 优雅地利用两点经纬度计算地理空间距离
【GIS - 地理信息系统】经纬度计算 ( 经度、纬度概念 | 地球周长计算 | 地球经线周长计算 | 经纬度相关计算 | 经纬度坐标距离计算公式 | 经纬度与实际距离换算 | 相关代码实现 )
经度 Longitude , 本初子午线 位置 为 0 度经线 , 相当于水平 x 轴 的坐标 , 经度的取值范围 -180 度 ~ +180 度 ;
韩曙亮
2023/10/11
7.9K0
【GIS - 地理信息系统】经纬度计算 ( 经度、纬度概念 | 地球周长计算 | 地球经线周长计算 | 经纬度相关计算 | 经纬度坐标距离计算公式 | 经纬度与实际距离换算 | 相关代码实现 )
自学HarmonyOS应用开发(54)- 校正定位偏差
经过一番调查,结论是gps信号使用的是WGS-84坐标系,而高德地图使用的是GCJ-02火星坐标系,只有经过坐标变换才能显示正确的位置。这方面的文章网上有很多,这里采用以下博客文章中的代码:
面向对象思考
2021/07/15
3880
地址转换为经纬度,经纬度距离计算
根据已知地址,将地址经纬度计算出来,不多说直接上代码 import org.apache.commons.lang.StringUtils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util
一觉睡到小时候
2019/07/02
2.4K0
已知两点的经度和纬度,计算两点间的距离(php,javascript)
php代码:转载  http://www.cnblogs.com/caichenghui/p/5977431.html
lin_zone
2018/08/15
1.1K0
java计算两个经纬度之间的距离
前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户。实现方式还是比较简单的,首先用户在APP上开启定位权限,将自己的经纬度都存储到数据库,然后以此经纬度为基准,以特定距离为半径,查找此半径内的所有用户。
一诺千金
2020/04/23
3.4K0
java计算两个经纬度之间的距离
Python实践 | 亿级经纬度距离计算代码实现
计算经纬度的代码网上一搜一大把,通常是单点距离的计算,无法实现批量计算,本文将利用pandas实现亿级经纬度距离代码的实现。 最短距离计算建议参考下文,mapinfo能够很好的实现。 MAPINFO 最小站间距统计
披头
2019/12/26
4.4K0
经纬度坐标距离计算
百度地图两点之间距离【传送门】 PHP版本 <?php /** * 计算两点之间直线距离 * @param float $lon1 经度 * @param float $lat1
苦咖啡
2018/04/28
6.2K3
根据经纬度、方向、距离求终点位置
假设方位角是α, 那从点1到点2的平移距离分别如下所示d*sinα, d*cosα。 这里正北为0度。基中点1经纬度(long1, lat1)和距离d是已知的。 求点2的经纬度(long2,lat2)
sunsky
2023/09/13
8820
根据经纬度、方向、距离求终点位置
java 根据两个位置的经纬度,来计算两地的距离 经纬度处理
package com.fh.util; import java.util.HashMap; import java.util.Map; /** * 说明:经纬度处理 * 作者:FH Admin * from:fhadmin.cn */ public class MapDistance { private static double EARTH_RADIUS = 6378.137; private static double rad(double d) {
FHAdmin
2021/09/26
1K0
两个坐标之间对距离计算
由于项目的需要,所以学习了两个经纬度之间的距离(单位:米) package org.choviwu.movie.test; public class DistanceUtil { private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math.PI / 180.0; } /** * 通过经纬度获取距离(单位
简单的程序员
2020/04/18
1.7K0
PHP 经纬度坐标相关计算方法
我在 九方广场,手机上的高德地图导航至 中海九号公馆 显示的距离为 3.6公里,计算结果还是很准确的
很酷的站长
2022/12/04
7800
PHP 经纬度坐标相关计算方法
PHP之根据经纬度和半径计算范围和距离
根据经纬度和半径计算经纬度范围: /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius 半径 单位:m * @return Array 范围数组 */ if (!function_exists('calc_scope')){ function calc_scope($lat, $lng, $radius) { $degree = (2490
Petrochor
2022/06/07
9731
python练习题(3)——地球数据的计算
随着科技和数据科学的迅速发展,我们可以获取到大量关于地球的数据,这些数据包含了丰富的信息,涉及地理、气候、环境等方方面面。而Python作为一门功能强大且易学的编程语言,为我们提供了处理地球数据的优秀工具和技术。在本文中,我们将探索一道关于地球数据的Python程序练习题,通过实践和应用,发现Python编程的魅力。
老虎也淘气
2024/01/30
7280
计算两个经纬度的距离
package com.bra.modules.util; /** * Created by lenovo on 2016/5/19. */ import java.text.DecimalFormat; public class BaiduAPI { /** * 计算两点之间距离 * @param * @param * @return 米 */ public static String getDistance(Double long
week
2018/08/24
1.2K0
推荐阅读
相关推荐
【Java AWT 图形界面编程】经度 Longitude 、纬度 Latitude 计算 ( 经度、纬度概念 | 根据经纬度计算距离 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档