Skip to content

Latest commit

 

History

History
63 lines (55 loc) · 4.76 KB

map.osrm.cell_metrics.md

File metadata and controls

63 lines (55 loc) · 4.76 KB

.osrm.cell_metrics

Contains MLD cell metrics.
Firstly it contains the default(no exclude) metric(weights/durations/distances). Then it includes metric(weights/durations/distances) for each excludable class.

List

tar -tvf nevada-latest.osrm.cell_metrics
-rw-rw-r-- 0/0               8 1970-01-01 00:00 osrm_fingerprint.meta
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude.meta
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/0/weights.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/0/weights
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/0/durations.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/0/durations
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/0/distances.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/0/distances
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/1/weights.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/1/weights
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/1/durations.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/1/durations
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/1/distances.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/1/distances
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/2/weights.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/2/weights
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/2/durations.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/2/durations
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/2/distances.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/2/distances
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/3/weights.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/3/weights
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/3/durations.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/3/durations
-rw-rw-r-- 0/0               8 1970-01-01 00:00 /mld/metrics/routability/exclude/3/distances.meta
-rw-rw-r-- 0/0         5993584 1970-01-01 00:00 /mld/metrics/routability/exclude/3/distances

osrm_fingerprint.meta

/mld/metrics/routability/*

Contains MLD cell metrics for specified weight_name routability.
Currently OSRM only supports one metric, but here keeps possbility to support multiple metrics, e.g., /mld/metrics/duration/*. See more discussion in #372.
Surprisingly, the exclude flag was supported by store extra metric for every excludable class, which seems wasting.

Layout

Implementation

Cell metric includes weights/duration/distances.

// Encapsulated one metric to make it easily replacable in CelLStorage
template <storage::Ownership Ownership> struct CellMetricImpl
{
    template <typename T> using Vector = util::ViewOrVector<T, Ownership>;

    Vector<EdgeWeight> weights;
    Vector<EdgeDuration> durations;
    Vector<EdgeDistance> distances;
};

Cell metrics was calculated by customizeFilteredMetrics(), which loops the customize processing for each excludable flags. It signicantly affects the customize processing performance.
After calculation, it was constructed as mapping weight_name->metrics then dump to file by files::writeCellMetrics().