traj_dist 笔记 源代码解析(python部分)

news2024/7/31 11:34:27

1distance.py

1.1 METRIC_DIC

不同实现方法对应的函数路径

1.2 sspd

功能:

  • 计算轨迹 traj_1traj_2 之间的对称化段路径距离。

参数:

  • traj_1:一个二维 numpy 数组,代表第一个轨迹。
  • traj_2:一个二维 numpy 数组,代表第二个轨迹。
  • type_d:字符串,指定距离的类型("euclidean" 或 "geographical")。
    • "euclidean" 表示使用欧几里得距离,适用于任何维度的轨迹。
    • "geographical" 表示使用地理距离,假设轨迹是二维的,第一维是经度,第二维是纬度。
  • implementation:字符串,指定实现方式("python"、"cython" 或 "auto")。
    • 如果轨迹是二维的,默认使用 Cython 实现;否则使用 Python 实现,除非明确指定为 "python"。

返回值:

  • 返回一个浮点数,表示两个轨迹之间的对称化段路径距离。

1.3  sowd_grid

两个轨迹之间的对称化单向距离(Symmetrized One-Way Distance)

大体逻辑和1.2 相同,这边多了两个内容

  • converted:布尔值,如果为 True,则表示轨迹已经转换为网格表示形式
  • precision:Geohash 精度,用于地理坐标的转换。
  • 'sowd_grid' 计算网格表示中轨迹之间的距离。
    • 如果坐标是地理的,可以根据 geohash 编码进行转换。如果是这样,需要 geohash 的“精度”。
    • 否则,轨迹被认为是以单元格表示编码的。

1.4 frechet

1.5 discret_frechet

1.6 hausdorff

1.7 dtw

逻辑和sspd一样(1.2节),略过

1.8 lcss

1.9 edr

逻辑和sspd一样(1.2节),只是多了一个eps(阈值),略过

1.10 erp

逻辑和sspd一样(1.2节),只是多了一个g(比较基准点),略过

1.11 pdist

用于计算轨迹列表(traj_list)中每对轨迹之间的成对距离

1.12 cdist 

用于计算两个轨迹列表(traj_list_1traj_list_2)中每对轨迹之间的距离

实现逻辑和pdist几乎一模一样,唯一的区别就是一个返回的是一维向量,一个是二维数组

2 pdist/basic_euclidean.py 欧氏距离轨迹相关基本操作

2.1 eucl_dist(x,y) 两个坐标点的差的二范数

简单的两个坐标点的差的二范数

2.2 point_to_seg 点到线段的距离

2.3 point_to_trajectory  一个点与一条轨迹的最短距离

2.4  circle_line_intersection 圆和线段的交点

 2.4.1 二次方程的推导

2.4.2  推导坐标

3 basic_geographical.py  地理空间相关的操作

3.1 great_circle_distance 两个经纬度的大圆距离

3.2 initial_bearing 一个点到另一个点的初始方位角 

3.3 cross_track_distance  点到大圆路径的距离

3.4 along_track_distance  从轨迹上点到不在轨迹上点的沿轨迹距离

3.5 point_to_path  一个点  到一条由两点 和  定义的路径的点到路径距离

4 pdist/sspd.py 一条轨迹上的点到零一条轨迹的距离

4.1 e_spd 轨迹 t1 上的所有点到轨迹 t2 的   点到轨迹的距离 

4.2 e_sspd 两个轨迹之间相互的 spd-距离的平均值

4.3   g_spd 轨迹 t1 上所有点到轨迹 t2 的  平均点到路径距离(?)

这里代码的注释是轨迹 t1 上所有点到轨迹 t2 的  平均点到路径距离,我觉得应该是t2到t1?

4.4 g_sspd 两个轨迹之间相互的 spd-距离的和

注:和欧几里得的版本不同,几何空间版本是求和,而不是取平均

5 pdist/lcss.py 最长公共子序列

5.1 e_lcss

大体上和文巾解题1143. 最长公共子序列-CSDN博客是一样的,仅有一点点区别

5.2 g_lcss

基本上都是一样的,把计算欧几里得距离换成了计算大圆距离 

6 pdist/hausdorff.py 豪斯多夫距离

6.1 e_directed_hausdorff t1到t2的豪斯多夫距离

 6.2 e_hausdorff 双向豪斯多夫

t1到t2和t2到t1的单向豪斯多夫距离中较大的那个

6.3 g_directed_hausdorff

6.4 g_hausdorff

和欧氏距离的唯一区别是,point_to_trajectory改成了point_to_path

7  pdist/erp.py

地理坐标类的就是将欧氏距离改成大圆距离

8 pdist/edr.py

8 pdist/dtw.py

 

7数学笔记/scipy 笔记:豪斯多夫距离(Hausdorff )_python 豪斯多夫距离-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1304740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

??题-结构体两个人成绩比较输出分数高的【有问题,可是不知道在那里】

#include<stdio.h>struct stu{long int num;char name[10];double score;}a[2];int main(){ int i;for(i0;i<2;i)scanf("%ld,%s,%lf",&a[i].num,&a[i].name,&a[i].score);if(a[0].score>a[1].score)printf("分数高的学号和姓名是&…

4年外包终上岸,我只能说这类公司能不去就不去......

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是4年。现在终于跳槽到了互联网公司了&#xff0c;我想说的是&#xff0c;但凡有点机会&#xff0c;千万…

【后端学前端】第一天 css动画 内凹导航栏

1、学习信息 css动画 内凹导航栏_哔哩哔哩_bilibili 随便找的的视频&#xff0c;主要原因是在公司不方便有声音 2、源码 最终源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title…

多态类对象的大小及虚函数表指针的模拟实现

一、主要目的 1、理解多态类对象存储空间的大小及结构&#xff1b; 2、虚函数表指针的类外显形; 3、多态类对象的大小及虚函数表指针的模拟实现 二、运行原理 1. 创建了两个类&#xff0c;Base和Sub。Base中有一个数据成员a和三个虚函数f1, f2, f3。Sub类继承自Base&#…

为什么企业需要软文营销?媒介盒子告诉你

当下营销环境中&#xff0c;企业常用的营销方式就是软文营销&#xff0c;软文营销为什么会成为企业扩大知名度&#xff0c;提高营销效益的主要手段&#xff1f;企业为什么需要软文营销呢&#xff1f;今天媒介盒子就来和大家好好聊聊。 一、让产品价值可触摸 我们常常有个误区&…

python pip 相关缓存清理(windows+linux)

pip会大量缓存&#xff0c;如果全部堆在系统盘&#xff0c;会造成别的无法使用 windows和linux通用 一、linux linux是在命令行操作 1.查看缓存位置 pip cache dir我这里默认是在/root/.cache/pip 2.查看大小 du -sh /root/.cache/pip结果如下&#xff1a; 3.清理&#…

Win11在Virtualbox上安装ubuntu操作系统

注&#xff1a;原创笔记&#xff0c;以下图片水印为本人 相关工具展示 第四个&#xff1a;ubuntu的vmdk文件&#xff0c;用于配置虚拟机 第5/6个&#xff1a;virtualbox安装包 一、安装 VirtualBox 由于win11版本问题&#xff0c;如果装不了 virtualBox需要在官网安装最新版…

科技与艺术相结合,虚拟人裸眼3D动画亮相城市商圈

随着元宇宙概念的火爆&#xff0c;虚拟制作技术的快速发展&#xff0c;虚拟人可以将虚拟世界与现实世界相结合&#xff0c;为用户带来沉浸式体验。如虚拟人壬子希以裸眼3D动画的形式亮相城市商圈&#xff0c;助力文旅以科技与艺术相结合的形式&#xff0c;展现城市文化与科技成…

【Linux】tmux简单使用

它允许你在一个终端窗口中创建多个终端会话&#xff0c;并在它们之间进行切换。以下是tmux的一些主要用途和功能&#xff1a; 多窗口&#xff1a; Tmux允许你在一个终端中创建多个窗口。每个窗口可以包含一个或多个终端会话&#xff0c;你可以轻松地在这些窗口之间切换。面板分…

「红队笔记」靶机精讲:Prime1 - 信息收集和分析能力的试炼

「红队笔记」靶机精讲&#xff1a;Prime1 - 信息收集和分析能力的试炼 本文是作者在观看 B 站《红队笔记》后做的一些笔记及相关知识的补充。学渗透特别推荐大家去看。如有侵权&#xff0c;请联系作者&#xff0c;作者看到后会第一时间删除。 靶机精讲之Prime1&#xff0c;vu…

【数据结构与算法】JavaScript实现图结构

文章目录 一、图论1.1.图的简介1.2.图的表示邻接矩阵邻接表 二、封装图结构2.1.添加字典类和队列类2.2.创建图类2.3.添加顶点与边2.4.转换为字符串输出2.5.图的遍历广度优先搜索深度优先搜索 2.6.完整实现 一、图论 1.1.图的简介 什么是图&#xff1f; 图结构是一种与树结构…

适合无线通信设备应用 TSS-53LNB+、TSS-53LNB3+、TSS-183A+、TSS-13LN+、TSS-23LN+低噪声、增益放大器【RF】

1、TSS-53LNB 射频放大器 IC 通用 500MHz 至5GHz&#xff0c;12MCLP TSS-53LNB&#xff08;符合RoHS标准&#xff09;是一款先进的超平坦增益低噪声宽带放大器&#xff0c;采用E-PHEMT技术制造&#xff0c;在宽频率范围内提供极高的动态范围。它集成了开关&#xff0c;使用户能…

Maxscript入门教程:Print与Format命令

本文对Maxscript中的“Print”和“Format”命令之间的差异进行了一些小小的研究&#xff0c;得出的结论主要的差异是它们的结果中的引号“”。 “Print”很简单&#xff0c;直接使用&#xff0c;在调试时非常有用。为了工作&#xff0c;它只需要一个字符串&#xff08;这是两个…

北斗卫星开启高效应急救援新篇章

北斗卫星开启高效应急救援新篇章 在现代社会&#xff0c;灾害频发给人类带来了巨大的生命和财产损失&#xff0c;高效的应急救援能力对提升抗灾拯救生命具有举足轻重的作用。作为中国自主研发的全球卫星导航系统&#xff0c;北斗卫星系统已逐渐发展成为全球应急救援的重要力量&…

数据库(一)| 数据库概述、基本概念、关系型数据库特点、超键候选码等

文章目录 1 数据库的一些基础概念1.1 数据库和数据库管理系统1.2 关系模式和关系实例1.3 数据库模式和数据库实例 2 数据库组织形式2.1 数据采用文件的缺点2.2 使用数据库管理系统的 优点 3 关系型数据库特点4 三个层次的数据抽象Data Abstraction5 超键、候选码、主码、外码 1…

LeetCode-654. 最大二叉树【栈 树 数组 分治 二叉树 单调栈】

LeetCode-654. 最大二叉树【栈 树 数组 分治 二叉树 单调栈】 题目描述&#xff1a;解题思路一&#xff1a;递归&#xff0c;这个问题的难点在于如何找到每个子数组的最大值。此处用的是暴力查找最大值&#xff0c;然后递归构建左右子树。解题思路二&#xff1a;单调栈&#xf…

如何实现更有效率的产线各工业设备数据采集?

随着工业物联网的发展&#xff0c;工业设备的智能化水平越来越高&#xff0c;然而设备的通讯受限于不同设备的物理链路、各种不同的协议&#xff0c;因此大多数设备数据不能互联互通。宝贵的数据被白白浪费掉&#xff0c;无法进行统一管理分析&#xff0c;因此亟需解决这一难题…

做数据分析为何要学统计学(9)——什么是回归分析

​回归分析&#xff08;regression analysis)是量化两种或两种以上因素/变量间相互依赖关系的统计分析方法。回归分析根据因素的数量&#xff0c;分为一元回归和多元回归分析&#xff1b;按因素之间依赖关系的复杂程度&#xff0c;可分为线性回归分析和非线性回归分析。我们通过…

【带头学C++】----- 九、类和对象 ---- 9.12 C++之友元函数(9.12.5---9.12.7)

❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️创做不易&#xff0c;麻烦点个关注❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️ ❤️❤️❤️❤️❤️❤️❤️❤️❤️文末有惊喜&#xff01;献舞一支&#xff01;❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️ 目录 补充上…

软文营销怎么做才能“人性化”,媒介盒子有妙招

软文营销已经成为品牌宣传的重要方式之一&#xff0c;想要做好软文营销&#xff0c;则要避免高高在上的宣传&#xff0c;围绕用户心理&#xff0c;打造人性化的内容。今天媒介盒子就来和大家聊聊软文营销怎么做才能人性化。 一、以情感驱动用户 形成用户印象所需要的时间是1/1…