Libcity笔记:原子文件

news2024/9/25 1:20:50

1 介绍

Libcity中的数据以原子文件的形式存在

2 原子文件类别

对于不同的交通预测任务,可能用到不同的原子文件,同一个数据集不一定包含全部六种原子文件

  • 网格数据需要按照先行后列的顺序遍历
  • OD数据需要按照先起点后终点的顺序遍历

2.1 geo

存储地理实体属性信息

geo_id主键,唯一确定一个 geo 实体。 (如传感器, 经纬度点, 路段, 区域等的编号)
type

表示该 geo 的类型。有 [PointLineStringPolygon] 三种值

coordinates由 float 类型组成的数组或嵌套数组。 描述 geo 实体的位置信息,采用 Geojson的 coordinates 格式
properties

描述该 geo 的属性信息

若有多个属性,可以使用不同的列名定义为多列数据,如 POI_name, POI_type

对于网格数据,必有两列 row_id 和 column_id 属性表示网格的行列编号

2.2  usr

存储交通使用者信息

usr_id主键,唯一确定一个 usr 实体
properties

描述该 usr 实体的属性信息

若有多个属性,可以使用不同的列名定义为多列数据,如 genderbirth_date

2.3 rel

存储实体间的关系信息,如路网

rel_id主键,唯一确定一个实体间的关系
type枚举类。取值为 [usrgeo],表示该关系是基于 geo 还是 usr
origin_id关系起点方的 ID,为 Geo 表或 Usr 表中的一个
destination_id关系终点方的 ID,为 Geo 表或 Usr 表中的一个
properties

描述该关系所具有的属性信息。

若有多个属性,可以使用不同的列名定义多列数据。

 

2.4  dyna

需要保证geo文件中的geo_id的顺序跟dyna文件中的`entity_id的顺序保持一致

存储交通状态信息

dyna_id主键,唯一标识动态表中的一条记录
type枚举类。一共有两种取值: trajectory(轨迹预测任务) 和 state(状态预测任务)
time

时间信息,采用 ISO-8601 标准 中的日期时间组合表示法, 如: 2020-12-07T02:59:46Z

按照 <entity_id> 和 <time> 双关键字排列,即<entity_id>相同的记录放在一起并按照<time>排序

entity_id

描述该记录是基于哪一个实体观测产生的,就是 geo 或 usr的编号

properties描述该条记录的属性信息,若有多个属性,可以使用不同的列名定义为多列数据

2.4.1 交通预测任务下的entity_id & 文件后缀

对于传感器、路段、区域等实体entity_id 的列名为 [entity_id]文件后缀名为 .dyna
对于网格结构的交通数据

entity_id 变成2列,列名为 [row_id, column_id]

网格数据需要按照先行后列的顺序遍历网格

文件后缀名为 .grid
对于基于OD结构的交通数据

entity_id 变成2列,列名为 [origin_id, destination_id]

OD数据需要按照先起点后终点的顺序遍历数据

文件后缀名为 .od
对于网格结合OD结构的交通数据

entity_id 变成4列,列名为 [origin_row_id, origin_column_id, destination_row_id, destination_column_id]

网格的OD数据则按照起点行、起点列、终点行、终点列的顺序遍历

文件后缀名为 .gridod

2.4.2  轨迹任务下的entity_id & 文件后缀

对于轨迹数据,同一用户 <entity_id> 的轨迹应先按 <traj_id> 排序,<traj_id> 相同者按照 <time> 排序

GPS点轨迹
  • 格式为: dyna_id, type, time, entity_id, (traj_id), coordinates, properties.

    • entity_id列的内容应为usr_id

    • traj_id表示同一用户的多条轨迹的编号(从0开始),如果用户只有一条轨迹,则该列可以为空

    • coordinates列的内容为GPS点的纬度和经度

基于路段的轨迹
  • 格式为: dyna_id, type, time, entity_id, (traj_id), location, properties.

    • entity_id列的内容应为usr_id

    • traj_id表示同一用户的多条轨迹的编号(从0开始),如果用户只有一条轨迹,则该列可以为空

    • location列的内容是geo_id,指向geo表代表一个路段

基于POI的轨迹
  • 格式为: dyna_id, type, time, entity_id, (traj_id), location, properties.

    • entity_id列的内容应为usr_id

    • traj_id表示同一用户的多条轨迹的编号(从0开始),如果用户只有一条轨迹,则该列可以为空

    • location列的内容是geo_id,指向geo表代表一个POI。

 

2.5 ext

存储外部信息,如天气、温度等

ext_id主键,唯一标识外部数据表中的一条记录
time

时间信息,采用 ISO-8601 标准 中的日期时间组合表示法, 如: 2020-12-07T02:59:46Z

properties

描述该条记录的属性信息

若有多个属性,可以使用不同的列名定义为多列数据,比如既有温度数据、又有湿度数据。

2.6 Config

  • Config 文件用以补充描述上述五个表自身的信息, 以 json 形式保存并由 geo、  usr、 rel、 dyna、 ext、 info 六个键组成
    • geo、 rel、 dyna、 ext
      • 包含一个 including_types 键, 以数组的形式描述该表中所具有的 type 值
      • 其后每个 type 作为键,描述该 type 下 properties 具有哪些键及其数据类型 。
          • 比如geo的类型是Point,Point没有任何额外properties列
          • 比如rel的类型的geo,geo有一个额外properties 'cost'类型是'num'
    • usr
      • 包含一个 properties 键,描述表中 properties 包含哪些键及其数据类型
    • info
      • 包含其他必要的数据集统计信息,针对不同的交通预测任务,包含有不同的内容

文件名

geo_file.geo 文件的文件名, 字符串类型, 默认为数据集名
rel_file.rel 文件的文件名, 字符串类型, 默认为数据集名。
data_files数据文件的文件名 (例如 .dyna, .grid, .gridod), 支持数组或字符串,默认为数据集名
ext_file .ext 文件的文件名, 字符串类型, 默认为数据集名
从各文件中加载的列名weight_col

 从 .rel 文件中加载的列名【作为训练/预测的内容】, 支持只有一个元素的字符串数组或字符串

不指定的话,如果 .rel 文件只有一列权重列,则没有问题,否则报错

data_col从数据文件(如 .dyna, .grid, .gridod)加载的列名 , 支持数组或字符串,不指定则全部加载
ext_col从外部数据文件中加载的列名, 支持数组或字符串,不指定则全部加载
output_dim指定模型输出的维度, 一般应该跟 data_col 中指定的属性列名的数量相同
time_intervals 数据集时间片的长度,以秒为单位
init_weight_inf_or_zero 取值为 [inf , zero]。 加载 .rel 文件构建邻接矩阵时,初始化邻接矩阵为全INF (inf) 还是全0 (zero), 默认为 inf
set_weight_link_or_dist

取值为 [linkdist], 当加载 .rel 文件构建邻接矩阵时,使用文件中权重列中的原始值 (dist) 还是将之修订为全 01 的矩阵 (link), 默认为 dist

 [注意: 如果 .rel 文件中只有相连的关系,没有不相连的关系,应该指定为 link]

calculate_weight_adj

从 .rel 文件获取的邻接矩阵的权重是否需要进一步进行计算, 默认为 False

部分邻接矩阵在原始数据的基础上,进行了一些计算。

目前的计算方法是带有阈值的高斯核方法:

weight_adj_epsilon

高斯核的阈值。 经过计算的权重如果小于该阈值,则变成0

此参数依赖于参数 calculate_weight_adj=True 。

distance_upper

对于轨迹下一跳预测任务才有的参数】

POI点之间的最大距离

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

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

相关文章

1-38 流资源类结构

一 简介 1. Java中所说的流资源--IO流 2.为什么学习留资源&#xff1f; --要操作文件中的数据 将数据写入指定的文件 将数据从指定的文件读取 3.分类 -- 四大基流 , 八大子流 (重点) 按照流向分 : 输入流 和输出流 按照操作数据资源的类型划分 字符流 (重点) Reader -- 字符…

前端 | iframe框架标签应用(二)| 外部页面导入

文章目录 &#x1f4da;实现效果&#x1f4da;模块实现解析&#x1f407;html&#x1f407;css&#x1f407;javascript &#x1f4da;实现效果 点击右上角喇叭&#xff0c;弹出iframe页面框&#xff0c;链接bilibili白噪音视频页面&#xff1b;点击关闭按钮&#xff0c;关闭弹…

[力扣题解]102.二叉树的层序遍历

题目&#xff1a;102. 二叉树的层序遍历 代码 迭代法 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> que;TreeNode* cur;int i, size;vector<vector<int>> result;if(root ! NULL){que.push(ro…

百面算法工程师 | 目标检测网络总结——object detect

目录 5.1 Single Shot MultiBox Detector&#xff08;SSD&#xff09; 5.2 YOLO 5.2.1 v1 5.2.2 v2 5.2.3 v3 5.2.4 v4 5.2.5 v5 【后续出详细面试考点&#xff0c;订阅我的专栏&#xff0c;更新第一时间通知】 已更新&#xff1a; 百面算法工程师 | YOLOv5面试考点原理…

Redis-三主三从高可用集群搭建

正式搭建之前&#xff0c;注意事项&#xff08;坑&#xff09;提前放到最开始&#xff0c;也可以出问题回来看&#xff0c; &#xff08;1&#xff09;第二步中最好将配置文件中的logfile自定义一个目录&#xff0c;以便于在第五步中启动出错的时候迅速定位错误。 &#xff0…

羊毛项目(华为iPhone茅台),讲解抢购渠道与抢购注意事项

薅羊毛天花板&#xff0c;华为iPhone茅台无脑撸&#xff0c;几分钟换几百元(非脚本项目) 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x

Edge扩展应用程序的上架流程

前言 在软件开发的生命周期中&#xff0c;发布流程是将产品推向市场并交付给用户的关键阶段。它不仅标志着一个项目从开发阶段到用户手中的转变&#xff0c;也是确保软件质量和用户体验的重要环节。那么一个清晰、高效且可重复的发布流程对于任何软件项目的成功至关重要&#…

git/gerrit使用遇到的问题

Push时出现的多个问题及其解决 branch【...】not found 这个错误通常出现在 Git 命令中指定的分支名称中包含特殊字符或者语法错误时。需要确保指定的分支名称是正确的&#xff0c;并且没有任何不支持的字符。 例如&#xff0c;如果分支名称是 feature/branch&#xff0c;应该…

webrtc初步了解

WebRTC搭建点对点实时音视频对话&#xff0c;起始需要保证完成两点&#xff1a; 1.媒体协商&#xff0c;了解彼此支持的媒体格式。参与视频通讯的双方必须先交换SDP信息&#xff0c;交换SDP的过程。 2.网络协商&#xff0c;了解彼此的网络环境&#xff0c;找到一条相互通讯的链…

【NI 国产替代】cDAQ-9178, 8槽USB CompactDAQ机箱,国产数据采集卡控制器进口替代方案

8槽USB CompactDAQ机箱 cDAQ-9178是专为小型便携式传感器测量系统而设计的总线供电CompactDAQ USB机箱。机箱通过即插即用的USB可轻松连接传感器和电气测量。该机箱还可控制C系列I/O模块与外部主机之间的定时、同步和数据传输。机箱可以搭配不同的C系列I/O模块组合&#xff0c…

C语言结构体类型

C语言结构体类型 个人主页&#xff1a;大白的编程日记 个人主页&#xff1a;C语言学习之路 文章目录 C语言结构体类型前言一.结构体1.1结构体类型的声明1.2结构体变量的创建和初始化1.3结构成员访问操作符1.4结构的特殊声明1.5 结构的自引用 二.结构体内存对齐2.1对齐规则2.2内…

不错的PMP培训机构推荐,高通过高性价比哪家靠谱

PMP培训班的选择对刚接触到PMP的小白来说的确会有点头大&#xff0c;不过只要记住几个选择标准就可以了&#xff0c;比如说可以从机构实力、讲师师资、服务、通过率&#xff0c;性价比等方面开始&#xff0c;最好也是选择老牌机构&#xff0c;因为后面还涉及到续证方面的问题&a…

Android 14 init进程解析

前言 当bootloader启动后&#xff0c;启动kernel&#xff0c;kernel启动完后&#xff0c;在用户空间启动init进程&#xff0c;再通过init进程&#xff0c;来读取init.rc中的相关配置&#xff0c;从而来启动其他相关进程以及其他操作。 init进程启动主要分为两个阶段&#xff1…

Java八股文3

3.垃圾回收 1.对象什么时候可以被垃圾器回收 1.垃圾回收的概念 为了让程序员更专注于代码的实现&#xff0c;而不用过多的考虑内存释放的问题&#xff0c;所以&#xff0c; 在Java语言中&#xff0c;有了自动的垃圾回收机制&#xff0c;也就是我们熟悉的GC(Garbage Collection)…

linux部署yum仓库

一. Yum概述 1.yum简介 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中到YUM软件仓库提供 2.yum工作原理 c/s模式 客户端根据配置文件找到yum仓库服务器的位置 服务端向客户端发送元数据包(包含 软件依赖关系 软件的位置) #相当于软件安装目录 客户…

leecode每日一练

打家劫舍 我一开始的思路也是dp&#xff0c;但是转移方程想错了&#xff0c;这个题目转移方程应该是dp[i] max(dp[i-2]nums[i],dp[i-1]) class Solution { public:int rob(vector<int>& nums) {int len nums.size();vector<int> dp(len);int ans 0;if(len&g…

56.基于SSM实现的在线教育网站系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统&#xff0c;采用Java的SSM框架作为开发技术&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SSM的在线教育网站的设计与实现管理工作系统化、规范…

【MySQL】第一次作业

【MySQL】第一次作业 1、在官网下载安装包2、解压安装包&#xff0c;创建一个dev_soft文件夹&#xff0c;解压到里面。3、创建一个数据库db_classes4、创建一行表db_hero5、将四大名著中的常见人物插入这个英雄表 写一篇博客&#xff0c;在window系统安装MySQL将本机的MySQL一定…

【华为】路由综合实验(OSPF+BGP基础)

【华为】路由综合实验 实验需求拓扑配置AR1AR2AR3AR4AR5PC1PC2 查看通信OSPF邻居OSPF路由表 BGPBGP邻居BGP 路由表 配置文档 实验需求 ① 自行规划IP地址 ② 在区域1里面 启用OSPF ③ 在区域1和区域2 启用BGP&#xff0c;使AR4和AR3成为eBGP&#xff0c;AR4和AR5成为iBGP对等体…

06.Git远程仓库

Git远程仓库 #仓库种类&#xff0c;举例说明 github gitlab gitee #以这个仓库为例子操作登录码云 https://gitee.com/projects/new 创建仓库 选择ssh方式 需要配置ssh公钥 在系统上获取公钥输入命令&#xff1a;ssh-keygen 查看文件&#xff0c;复制公钥信息内…