osrm数据格式

OSRM使用一些数据文件来存储路网图和相关的元数据。以下是常用的OSRM数据文件以及它们的格式:

├── taiwan-latest.osm.pbf
├── taiwan-latest.osrm.cnbg
├── taiwan-latest.osrm.cnbg_to_ebg
├── taiwan-latest.osrm.datasource_names
├── taiwan-latest.osrm.ebg
├── taiwan-latest.osrm.ebg_nodes
├── taiwan-latest.osrm.edges
├── taiwan-latest.osrm.enw
├── taiwan-latest.osrm.fileIndex
├── taiwan-latest.osrm.geometry
├── taiwan-latest.osrm.hsgr
├── taiwan-latest.osrm.icd
├── taiwan-latest.osrm.maneuver_overrides
├── taiwan-latest.osrm.names
├── taiwan-latest.osrm.nbg_nodes
├── taiwan-latest.osrm.properties
├── taiwan-latest.osrm.ramIndex
├── taiwan-latest.osrm.restrictions
├── taiwan-latest.osrm.timestamp
├── taiwan-latest.osrm.tld
├── taiwan-latest.osrm.tls
├── taiwan-latest.osrm.turn_duration_penalties
├── taiwan-latest.osrm.turn_penalties_index
└── taiwan-latest.osrm.turn_weight_penalties

.osm.pbf 文件

这是一个基于 Protocol Buffers 的文件格式,可以存储 OpenStreetMap(OSM)的道路网络数据。这里的“pbf”代表Protocol Buffers格式。.osm.pbf文件可以从OSM下载,并通过osrm-extract命令行工具转换为OSRM构建所需的`.osrm'文件。在OSM中,.osm.pbf(Protocol Buffers格式)文件包含了完整的地图数据,例如道路、定位点以及建筑物等,OSRM使用融合和过滤等算法提取这些数据。这种方式确保了处理数据的时有效而且效率更高,同时这种方式也使得OSRM支持更多的数据源。

.osrm 路网文件
.osrm 文件是OSRM使用的主要数据文件,其中存储了刚刚从.osm.pbf文件中提取的路网数据。.osrm文件主要分为两个部分,道路元数据和路缘信息(这些数据来源于.osrm.hsgr文件)。道路元数据中包括道路的长度、速度、例如 U-turns 或者 海拔变化(用于计算路程成本等)。路口信息和其他元数据用于处理路线,例如从一条道路转换到其他道路的花费成本。

.osrm.hsgr 超级图文件
.osrm.hsgr 文件是OSRM的另一个数据文件,其中包含了超级图,这个超级图比路网图要少得多,但却保留了高速公路、跨越城市的公路和其他网络关键信息,可以加速路线查找。.osrm.hsgr 文件中包括路网中所有边的信息--起始点、终止点、路况等 -- 和超级边的信息。

.osrm.hsgr 是二进制文件,其结构体定义如下:

struct HSGRHeader {
    uint32_t checksum;      // 数据校验和
    uint32_t timestamp_ns;  // 时间戳(纳秒)
};

struct HSGRDirectory {
    uint32_t num_ranges;    // 数据段数量
    uint32_t num_nodes;     // 节点数量
    uint32_t check_sum;     // 校验和(由数据段的校验和计算得出)
};

struct HSGRRange {
    uint32_t start;         // 起始节点编号
    uint32_t end;           // 终止节点编号
    uint32_t checksum;      // 数据段校验和
};

// 高速路图边的信息
struct HSGREdge {
    uint32_t source;        // 起始点标识符
    uint32_t target;        // 终止点标识符
    uint32_t weight;        // 边的权重(距离)
    uint32_t distance;      // 边的长度
    uint32_t shortcut;      // 0:非捷径边,1:捷径边
};

// 前向搜索信息的顶点信息
struct HSGRNode {
    uint32_t offset;        // 相对地址
    uint32_t num_edges;     // 前向搜索边数目
    uint32_t shortcut;      // 在捷径上,0:不是捷径点,1:源点,2:目标点,3:源点和目标点
    uint32_t coord;         // 坐标值(单位为0.0001度)
};
其中,HSGRHeader 结构体定义了高速路图数据的头部信息,包括数据的校验和和时间戳;HSGRDirectory 结构体定义了高速路图数据中每个数据段的信息,包括数据段数量、节点数量和校验和;HSGRRange 结构体定义了每个数据段所包含的节点范围和数据段校验和;HSGREdge 结构体定义了高速路图中每条边的信息,包括起始点、终止点、边的权重和长度以及是否是捷径边等;HSGRNode 结构体定义了前向搜索信息中每个顶点的信息,包括相对地址、前向搜索边数目、是否在捷径上以及坐标值等。

这些结构体给予了我们对 .osrm.hsgr 数据文件的更深层次的了解,便于对数据的理解和应用。

.osrm.timestamp 文件
.osrm.timestamp 文件包含生成.osrm 和 .osrm.hsgr两个文件的时间戳,所以当文件发生变化时可以更新它们。

.osrm.names 文件
.osrm.names 文件包含路网上每个节点的名称信息,例如道路名称、地点等。这些信息可以用于语音提示或出行建议等应用场合。

.osrm.nodes 文件
.osrm.nodes 文件是一个二进制文件,用于存储路网图上的所有节点,保存了所有路网节点的ID和经纬度坐标。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容