已知十个经纬度点怎么来判断其中一个经纬度点(确定)距离最近的经纬度点

已知十个经纬度点怎么来判断一个经纬度点(确定)距离这十个经纬度点最近的经纬度点
或者判断其中一个经纬度点(确定)距离这十个经纬度点连接起来的路径最近的距离

4个回答

看你在什么尺度上解决这个问题,如果是城市范围内,方圆100km,完全可以近似使用平面直角坐标系。其中两个经度的坐标换算成x坐标的时候需要乘以cos所在地的纬度得到缩放后的x
然后就用sqrt(x^2+y^2)得到距离了。
如果要在跨省或者更大尺度解决这个问题,就需要计算两个坐标的地球大圆的弧长。
公式就是 sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB) 其中a点的经纬度分别为MLonA和MLatA,b点的坐标分别是MLonB和MLatB

至于你10个点,只要分别计算以后,取最小的就可以了,计算机不在乎这点运算量。

syso_love
syso_love 这个点数是不确定的
大约一年之前 回复

楼上太专业了,其实用奥维地图可以跟简单搞定:
把你已知的经纬度点导入到奥维互动地图里,直接用奥维软件里的测距及方位角功能(功能在编辑-测绘里),就可以测量出各个点之间的距离。同样可以量算出10个点之间怎么连接距离才最近。

syso_love
syso_love 微信小程序 用的是腾讯地图
大约一年之前 回复

问题1,这需要用到球面几何的知识,两点之间,过两点的且圆心与地心重和的圆上弧段距离最短。根据两个点的经纬度计算球面上大圆弧段,完整公式有一堆,参考https://wenku.baidu.com/view/519167ef0740be1e640e9a78.html
遍历计算比较即可。
问题2,这需要立体几何,空间坐标系知识。简化为一个点到过另外两个点的大圆的最短距离,具体操作任取10个点中的两个点的空间直角坐标向量做叉乘得到,过这两个点的大圆的法向,法向向量和你已知点向量用点乘公式求夹角,夹角乘地球半径就是改点在球面上到过两点的大圆的最短距离,然后做遍历比较就行了

直接用下面的公式计算出该点离其余9个点的直线距离,就可以获取到了。

 private static final  double EARTH_RADIUS = 6378137;//赤道半径(单位m)
/** 
 * 转化为弧度(rad) 
 * */  
private static double rad(double d)  
{  
   return d * Math.PI / 180.0;  
} 

/** 
 * 基于余弦定理求两经纬度距离 
 * @param lon1 第一点的精度 
 * @param lat1 第一点的纬度 
 * @param lon2 第二点的精度 
 * @param lat3 第二点的纬度 
 * @return 返回的距离,单位km 
 * */  
public static double LantitudeLongitudeDist(double lon1, double lat1,double lon2, double lat2) {  
    double radLat1 = rad(lat1);  
    double radLat2 = rad(lat2);  

    double radLon1 = rad(lon1);  
    double radLon2 = rad(lon2);  

    if (radLat1 < 0)  
        radLat1 = Math.PI / 2 + Math.abs(radLat1);// south  
    if (radLat1 > 0)  
        radLat1 = Math.PI / 2 - Math.abs(radLat1);// north  
    if (radLon1 < 0)  
        radLon1 = Math.PI * 2 - Math.abs(radLon1);// west  
    if (radLat2 < 0)  
        radLat2 = Math.PI / 2 + Math.abs(radLat2);// south  
    if (radLat2 > 0)  
        radLat2 = Math.PI / 2 - Math.abs(radLat2);// north  
    if (radLon2 < 0)  
        radLon2 = Math.PI * 2 - Math.abs(radLon2);// west  
    double x1 = EARTH_RADIUS * Math.cos(radLon1) * Math.sin(radLat1);  
    double y1 = EARTH_RADIUS * Math.sin(radLon1) * Math.sin(radLat1);  
    double z1 = EARTH_RADIUS * Math.cos(radLat1);  

    double x2 = EARTH_RADIUS * Math.cos(radLon2) * Math.sin(radLat2);  
    double y2 = EARTH_RADIUS * Math.sin(radLon2) * Math.sin(radLat2);  
    double z2 = EARTH_RADIUS * Math.cos(radLat2);  

    double d = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)+ (z1 - z2) * (z1 - z2));  
    //余弦定理求夹角  
    double theta = Math.acos((EARTH_RADIUS * EARTH_RADIUS + EARTH_RADIUS * EARTH_RADIUS - d * d) / (2 * EARTH_RADIUS * EARTH_RADIUS));  
    double dist = theta * EARTH_RADIUS;  
    return dist;  
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
已知A、B点经纬度jA、wA、jB、wB和分别到C点的距离弧长AC、BC,求C点经纬度jC、wC
-
open layers 3 已知多个点的经纬度,怎么画线?
-
怎么用matlab计算已知经纬度的n个点的连线之间额最短距离,并且画出tu
-
【高德地图】:已知线段两个端点的经纬度,把线段平分成三等分,求每个平分点的坐标
-
已知wifi热点的mac如何转换成经纬度?
-
android 求区域内坐标(经纬度)的问题。。。
-
如何调用百度地图API编写多个经纬度点之间的距离矩阵
-
C#如何通过经纬度定位,并在地图上显示?
-
已知某位置坐标和大量城市坐标(均用经纬度表示),有没有高效的方法判断该位置处于哪个城市?
-
求两个经纬度范围内的数据
-
已知一个gps坐标(84坐标系)和距离如10公里,求距离这个坐标的最大经纬度
-
osm地图数据,根据线路已知的起点经纬度、终点经纬度对本次(高速)路线距离计算或者在高速上花费的费用
-
如何卫星云图中找到和实际地理位置经纬度对应的横纵坐标 ?
-
如果已知经纬度,怎么显示腾讯地图全景图
-
在百度上找了一个代码,效果能达到,就是有一行代码不知道什么意思,求大佬指点
-
指定经纬度跳转到导航,出错
-
求Qt下的html文件实现根据经纬度打点连线功能
-
C++编程求两点的球面距离
-
关于用程序实现地球投影转换的方法
-
程序员实用工具网站
目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、算法 11、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。 1、搜索引擎 1.1、秘迹搜索 一款无敌有良心、无敌安全的搜索引擎,不会收...
史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时候你可能思路全无 ~中招了咩~ ,还有一些同学依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,人生苦短,来不及解释了,直接上手idea吧。这篇文章每一步搭建过程都测试过了,应该不会有什么差错。本文章还有个比较优秀的特点,就是idea的使用,基本上关于idea的操作都算是比较详细的,所以不用太担心不会撸idea!最后,本文
我的 Input框 不可能这么可爱
作者:陈大鱼头 github: KRISACHAN &lt;input /&gt; 标签是我们日常开发中非常常见的替换元素了,但是最近在刷 whattwg 跟 MDN 的时候发现 跟 &lt;input /&gt; 有很多相关的属性,选择器都没怎么用过,所以就开篇文章来整理一下一些比较有趣或者实用的知识点。 本篇文章默认大家已经知道 &lt;input /&gt; 标签的基本用法,不会做过...
LeetCode解题汇总目录
此篇为LeetCode刷题的汇总目录,方便大家查找,一起刷题,一起PK交流! 已解题目 考点 LeetCode 1. 两数之和(哈希) LeetCode 2. 两数相加(单链表反转) LeetCode 9. 回文数 LeetCode 11. 盛最多水的容器(双指针) LeetCode 15. 三数之和 LeetCode 17. 电话号码的字母组合(回溯...
动态规划入门到熟悉,看不懂来打我啊
2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3, 5, 8, 13, ...
挑战10个最难的Java面试题(附答案)【上】
这是收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。 1 为什么等待和通知是在 Object 类而不是 Thread 中声明的? 一个...
如何优雅的爬妹子网
from urllib import request import os from user_agents import ua_list import time import random import re import requests from lxml import etree class MeiziSpider(): def init(self): self.url = ‘https:/...
GitHub开源的10个超棒后台管理面板
目录 1、AdminLTE 2、vue-Element-Admin 3、tabler 4、Gentelella 5、ng2-admin 6、ant-design-pro 7、blur-admin 8、iview-admin 9、material-dashboard 10、layui 项目开发中后台管理平台必不可少,但是从零搭建一套多样化后台管理并不容易,目前有许多开源、免费、...
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
免费好用的外网映射工具
写在前面的话 ngrok就不多说了,作为一款免费又好用的映射工具,绝对是你调试程序的有力助手,话不多说,下面我来分享一下自己的心得 --------------------------------------------------------------------------------------------------------------------------------------...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
【C++ / Java】蓝桥杯 —— 基础训练
文章目录A - 蓝桥杯1061 基础练习 完美的代价B. Shooting(贪心,签到)C. White Sheet(思维)D. Swords(思维) A - 蓝桥杯1061 基础练习 完美的代价 原题链接:基础练习 完美的代价 思路: 代码如下: #include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std;...
面试官,不要再问我三次握手和四次挥手
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手 求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就...
一生必看的纪录片
下面按对自己的影响/感悟程度来排序 《人生七年》 概要:人生七年》又称作《56up》也是非常多的网友在看过之后,都让自己陷入了一些思考,对人生思考有一定影响力的纪录片之一导演从1964年开始第一部,在英国找来了不同阶级的十几个七岁的孩子,有男生和女生。有上流社会,也有农场主的儿子等等从七岁开始采访,然后每隔七年就进行一次采访谈话直到现在已经是56岁的时候,在看的时候一定会感慨万千沉思许久,会...
MySQL数据库—SQL汇总
一、准备 下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例sql: 链接: https://pan.baidu.com/s/1tb3-12MRNFjV8drFlN6wzg&amp;shfl=sharepset 密码: fc2h 为了方便查阅可从右侧目录快速索引 二、DQL(Data Query Language)数据查询语言 1、语句顺序 书写顺序...
java学习路线导航【教学视频+博客+书籍整理】
在博主认为,学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,博主将为各位保驾护航,各位赶紧冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 Java基础教学视频 Java零基础教程视频(适合Java 0基础,Java初学入门)【推荐】 JavaSE进阶入门项目实战视频教程_动力节点【推荐】 毕向东Java基础视频教程...
史上最全的mysql基础教程
启动与停止 启动mysql服务 sudo /usr/local/mysql/support-files/mysql.server start 停止mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server resta...
为什么你学不会递归?告别递归,谈谈我的经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
大学四年,我把私藏的自学「学习网站/实用工具」都贡献出来了
在分享之前,先说说初学者如何学习编程,这个话题想必非常的重要,要学好编程,给你一些学习网站也好、实用工具也好,但前提是你知道如何去学习它。 见过很多初学者,以及小鹿我刚开始学习的时候,也是自己瞎摸索,找不到路子,看什么书?看什么资料?编程的方向太多了,如果确定自己的方向?尤其是上大一、大二甚至大三还没有确定自己到底是学习前端还是后天,每天这学一点,那学一块,掌握那么多,没有一门精通的,去面试的时候...
中国麻将:世界上最早的区块链项目
中国麻将:世界上最早的区块链项目 最近区块链这个玩意又被市场搞的很是火热,相信大部分人都不太清楚这玩意到底是怎么样的一个概念,它来了,它来了,它到底是啥~ 国家都开始发文支持了,下面是一个通俗易懂的例子:中国麻将。 甲首先发起一个申请,我要打麻将,组建一个麻将局,这就相当于创建一个区块,这个区块会被广播...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
【AI产品】你我当年的老照片,如今修复了可还行?
欢迎来到《AI产品》专栏,这一个专栏是面向所有对人工智能技术感兴趣的朋友。在这个专栏里,我们会给大家推荐好玩的AI产品,剖析背后的关键技术,并推荐相关学习资料。今天要推荐...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
死磕C语言指针
兜兜转转还是逃不过 C 语言,这该死的缘分。 先看一眼我的西野七濑 学习自:https://zhuanlan.zhihu.com/p/89121683 1 指针 1.1 指针是乜嘢 指针(pointer):一个值为内存地址的变量。 char 类型变量的值是字符,int 类型变量的值是整数,指针变量的值是地址。 1.2 指针的声明 数据类型 *指针名,这里的 * 表明声明的变量是...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长 ...
2019年11月中国编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
相关热词 c#实现简单的文件管理器 c# where c# 取文件夹路径 c# 对比 当天 c#输入double值 c# fir 滤波器 c# 和站 队列 c#控制某个usb口开关 c# txt 去空格 c# list 批量修改
立即提问

相似问题

2
如何卫星云图中找到和实际地理位置经纬度对应的横纵坐标 ?
2
已知某位置坐标和大量城市坐标(均用经纬度表示),有没有高效的方法判断该位置处于哪个城市?
1
已知预测结果和标签,如何用python画roc曲线?
1
求两个扇形的重叠面积
0
在SLAM地图上再标记已知点
0
已知小车(移动机器人)的路径(由几个点的坐标确定),如何生成小车的轨迹(与时间相关)?
0
osm地图数据,根据线路已知的起点经纬度、终点经纬度对本次(高速)路线距离计算或者在高速上花费的费用
1
如何根据已知图形确定一个不规则四边形的四个顶点
1
用python对Rhino进行二次开发时,如何运用现有python库函数,参照已知点,定义出另一个点?
2
已知一个网站,在不被搜索引擎收录的情况下,如何找出类似的相关网站
1
Python/matplotlib:已知空间上一点坐标和长宽高值,如何画出立方体?
1
已知a和b,求满足条件的最小的c,这个怎么采用C语言的程序的编写的技术实现的呢
2
已知一个点到两个点的距离和这两个点的坐标,怎么求这个点的坐标,用js实现
1
在cesium中有一个船模型,船模型的甲板上有一个飞机模型,已知这两个模型的三维坐标(x,y,z)和矩阵,当船模型做出旋转操作时,保证飞机模型依旧在船的甲板上相同位置,如何计算飞机模型的矩阵
2
有一个需求,在cesium中有一个船模型,船模型的甲板上有一个飞机模型,已知这两个模型的三维坐标(x,y,z)和矩阵,当船模型做出旋转操作时,保证飞机模型依旧在船的甲板上相同位置,如何计算飞机模型的矩阵
1
python在csv中的已知列查询某个特定值
0
5G NR在已知band频率范围和带宽的情况下如何计算低中高三信道?
1
如何用python 在一个.csv和已知的列表中的数据进行匹配 并输出.csv文件中匹配成功的一项中的相关信息
0
java如何根据已知的坐标点截取坐标范围里的内容生成图片