dvgis计算两点间距离的问题
先贴一段代码,是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计算两点间距离的问题的更多相关文章
- YTU 2619: B 友元类-计算两点间距离
2619: B 友元类-计算两点间距离 时间限制: 1 Sec 内存限制: 128 MB 提交: 469 解决: 252 题目描述 类Distance定义为类Point的友元类来实现计算两点之间距 ...
- c++语言的组合类的使用,用组合类的方法计算两点间距离。
组合类的使用主要涉及到类的构造函数,类的复制构造函数. #include <iostream> #include<cmath> class Point{ public: Poi ...
- [MSSQL2008]Spatial Data in SQL Server 2008 - 根据经纬度计算两点间距离
DECLARE @BJ GEOGRAPHY DECLARE @XT GEOGRAPHY /* GET Latitude/Longitude FROM here:http://www.trave ...
- sql server 根据经纬度计算两点间距离
DECLARE @BJ GEOGRAPHY DECLARE @XT GEOGRAPHY SELECT @BJ= geography::Point('39.92889', '116.38833', 43 ...
- iOS 地图 通过经纬度计算两点间距离
- (double)calculateStart:(CLLocationCoordinate2D)start end:(CLLocationCoordinate2D)end { ; double st ...
- Java 根据两个经纬度坐标计算距离
public class Distance{ private static final double EARTH_RADIUS = 6378137; private static double ...
- 【百度地图API】如何根据摩卡托坐标进行POI查询,和计算两点距离
原文:[百度地图API]如何根据摩卡托坐标进行POI查询,和计算两点距离 摘要: 百度地图API有两种坐标系,一种是百度经纬度,一种是摩卡托坐标系.在本章你将学会: 1.如何相互转换这两种坐标: 2. ...
- 基于OpenStreetMap计算驾车距离(Java)
最近公司有个项目需要计算6000个点之间的驾车距离,第一时间想到的是利用Google的Distance Matrix API,但是免费Key每天只能计算2500个元素(元素 = 起点数量 * 终点数量 ...
- 根据经纬度坐标计算距离-python
一.两个坐标之间距离计算 参考链接: python实现 1.Python 根据地址获取经纬度及求距离 2.python利用地图两个点的经纬度计算两点间距离 LBS 球面距离公式 美团app筛选“离我最 ...
- Android给定坐标计算距离
给定两点的经纬度.计算两点之间的距离.这里要注意经纬度一定要依照顺序填写 1. 利用android中的工具获得,单位是米 float[] results=new float[1]; Location. ...
随机推荐
- PGL图学习之图神经网络ERNIESage、UniMP进阶模型[系列八]
PGL图学习之图神经网络ERNIESage.UniMP进阶模型[系列八] 原项目链接:fork一下即可:https://aistudio.baidu.com/aistudio/projectdetai ...
- MySQL DATE_SUB查询工龄大于35的员工信息
#(11) 查询工龄大于或等于35年的员工信息.SELECT * FROM emp e WHERE e.HIREDATE<=DATE_SUB(SYSDATE(),INTERVAL 35 YEAR ...
- 私藏!资深数据专家SQL效率优化技巧 ⛵
作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 本文地址:https://www.showmeai.tech/artic ...
- 【翻译】rocksdb调试指引
rocksdb调试指引 翻译自官方wiki:https://github.com/facebook/rocksdb/wiki/RocksDB-Tuning-Guide 转载请注明出处:https:// ...
- 比 JSON.stringify 快两倍的fast-json-stringify
前言 相信大家对JSON.stringify并不陌生,通常在很多场景下都会用到这个API,最常见的就是HTTP请求中的数据传输, 因为HTTP 协议是一个文本协议,传输的格式都是字符串,但我们在代码中 ...
- K8S的架构及工作原理
1.Master和Node 1).Master K8S中的Master是集群控制节点,负责整个集群的管理和控制 在Master上运行着以下关键进程: kube-apiserver:提供了HTTP Re ...
- MySQL基础知识(二)-超详细 Linux安装MySQL5.7完整版教程及遇到的坑
1.简介 我们经常会在Linux上安装MySQL数据库,但是安装的时候总是会这里错,那里错,不顺利,今天整理了一下安装流程,连续安装来了两遍,没有遇到什么大错误,基本上十分钟左右可以搞定,教程如下.写 ...
- 网络基础与osi七层与TCP/IP协议
一 什么是网络 网络:计算机网络是一组计算机或网络设备通过有形 的线缆或无形的媒介如无线,连接起来,按照一定的 规则,进行通信的集合. 通信,是指人与人.人与物.物与物之间通过某种媒 介和行为进行的 ...
- week_8
Andrew Ng 机器学习笔记 ---By Orangestar Week_7_Unsupervised Learning While supervised learning algorithms ...
- uniapp微信小程序内部跳转其他微信小程序
uniapp小程序内点击某个按钮跳转另外一个小程序连接,具体实现步骤如下: <view class="home-Item" @click="goNativeinde ...