先贴一段代码,是dvgis里的distance.js源码,dvgis是cesium的二次封装,可以参考参考:

 1import{Cesium}from'@dc-modules/namespace' 2import{Transform}from'@dc-modules/transform' 3
4exportdefault functiondistance(positions){ 5letdistance=0 6 if(positions&&Array.isArray(positions)){ 7 for(leti=0;i<positions.length-1;i++) {
8letc1=Transform.transformWGS84ToCartographic(positions[i]) 9letc2=Transform.transformWGS84ToCartographic(positions[i+1])
10letgeodesic=newCesium.EllipsoidGeodesic()11 geodesic.setEndPoints(c1, c2)
12lets= geodesic.surfaceDistance
13s=Math.sqrt(Math.pow(s,2)+Math.pow(c2.height-c1.height,2))
14distance+= s
15 }
16 }
17
18 returndistance.toFixed(3)
19 }

看这个文件名字,应该是计算两点间距离的,其中用到了EllipsoidGeodesic,也就是测地线。

测地线就是地球上两点间沿着椭球走的那条最短路径。

让我感到奇怪的是第13行代码

s = Math.sqrt(Math.pow(s, 2) + Math.pow(c2.height - c1.height, 2))

这样子更像是用勾股定理算长度。测地线明明是条曲线不知道为什么要平方。挺奇怪的。

 

举起

dvgis计算两点间距离的问题的更多相关文章

  1. YTU 2619: B 友元类-计算两点间距离

    2619: B 友元类-计算两点间距离 时间限制: 1 Sec  内存限制: 128 MB 提交: 469  解决: 252 题目描述 类Distance定义为类Point的友元类来实现计算两点之间距 ...

  2. c++语言的组合类的使用,用组合类的方法计算两点间距离。

    组合类的使用主要涉及到类的构造函数,类的复制构造函数. #include <iostream> #include<cmath> class Point{ public: Poi ...

  3. [MSSQL2008]Spatial Data in SQL Server 2008 - 根据经纬度计算两点间距离

    DECLARE @BJ GEOGRAPHY DECLARE @XT GEOGRAPHY /*     GET Latitude/Longitude FROM here:http://www.trave ...

  4. sql server 根据经纬度计算两点间距离

    DECLARE @BJ GEOGRAPHY DECLARE @XT GEOGRAPHY SELECT @BJ= geography::Point('39.92889', '116.38833', 43 ...

  5. iOS 地图 通过经纬度计算两点间距离

    - (double)calculateStart:(CLLocationCoordinate2D)start end:(CLLocationCoordinate2D)end { ; double st ...

  6. Java 根据两个经纬度坐标计算距离

    public class Distance{ private static final double EARTH_RADIUS = 6378137;    private static double  ...

  7. 【百度地图API】如何根据摩卡托坐标进行POI查询,和计算两点距离

    原文:[百度地图API]如何根据摩卡托坐标进行POI查询,和计算两点距离 摘要: 百度地图API有两种坐标系,一种是百度经纬度,一种是摩卡托坐标系.在本章你将学会: 1.如何相互转换这两种坐标: 2. ...

  8. 基于OpenStreetMap计算驾车距离(Java)

    最近公司有个项目需要计算6000个点之间的驾车距离,第一时间想到的是利用Google的Distance Matrix API,但是免费Key每天只能计算2500个元素(元素 = 起点数量 * 终点数量 ...

  9. 根据经纬度坐标计算距离-python

    一.两个坐标之间距离计算 参考链接: python实现 1.Python 根据地址获取经纬度及求距离 2.python利用地图两个点的经纬度计算两点间距离 LBS 球面距离公式 美团app筛选“离我最 ...

  10. Android给定坐标计算距离

    给定两点的经纬度.计算两点之间的距离.这里要注意经纬度一定要依照顺序填写 1. 利用android中的工具获得,单位是米 float[] results=new float[1]; Location. ...

随机推荐

  1. HSSFSheet XSSFWorkbook SXSSF Java读取Excel数据

    HSSF是POI工程对Excel 97(-2007)文件操作的纯Java实现 XSSF是POI工程对Excel 2007 OOXML (.xlsx)文件操作的纯Java实现 SXSSF通过一个滑动窗口 ...

  2. Execute Crond Service on openEuler

    一.Execute Crond Service on openEuler 1 crond 概述 crond就是计划任务/定时任务 常见有闹钟.PC端定时关机 shutdown -s -t 200,定时 ...

  3. 【Java并发入门】02 Java内存模型:看Java如何解决可见性和有序性问题

    如何解决其中的可见性和有序性导致的问题,这也就引出来了今天的主角--Java 内存模型. 一.什么是 Java 内存模型? 导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性.有序性最直 ...

  4. webflux延迟队列逻辑更改过程记录

    title : webflux延迟队列逻辑更改过程记录 author : simonLee date : 2022/11/22 10:26 目录 webflux延迟队列逻辑更改过程记录 一.问题背景 ...

  5. Zabbix6.0使用教程 (一)—zabbix新增功能介绍1

    使用zabbix的小伙伴应该都有关注到目前zabbix的大版本已经更新到了6.0,后面乐乐将会对如何使用zabbix6.0做一个使用教程的系列,大家可以持续关注,这篇我们主要聊聊zabbix6.0新增 ...

  6. 《HTTP权威指南》– 10.安全HTTP

    HTTPS的概念 HTTPS 是最流行的HTTP安全模式,由网景公司首创,所有主流浏览器和服务器都支持此协议.HTTPS方案 的URL以 https:// 开头,使用 HTTPS 时,所有的HTTP请 ...

  7. linux系统部署微服务项目

    **:如果使用阿里云linux服务器 1.设置容器镜像服务 在阿里云平台搜索 "容器镜像服务" 选择"CentOS" 安装/升级Docker客户端 配置镜像加速 ...

  8. uniapp input框聚焦时软键盘弹起整个页面上滑,固定页面不让上滑问题

    根据需求,软键盘弹起时,不允许页面整体向上滑动 用到的属性是:  :adjust-position="false" uni-app 软键盘顶起底部fixed定位的输入框 页面就不会 ...

  9. 2022年7月9日 第四组 周鹏 HTML的初认识

    <!DOCTYPE html> <html lang="en"> <!--      文档的根标签 --> <head>     & ...

  10. cmd/批处理常用命令

    启动新窗口执行命令 ::执行完毕以后,新开的窗口不会自动关闭 start cmd /k echo 123 ::执行完毕以后,新开的窗口会自动关闭 start cmd /C "echo 123 ...