Type: | Package |
Title: | Road Condition Analysis |
Version: | 0.0.5 |
Date: | 2018-02-20 |
Description: | Computation of the International Roughness Index (IRI) given a longitudinal road profile. The IRI can be calculated for a single road segment or for a sequence of segments with a fixed length (e. g. 100m). For the latter, an overlap of the segments can be selected. The IRI and likewise the algorithms for its determination are defined in Sayers, Michael W; Gillespie, Thomas D; Queiroz, Cesar A.V. 1986. The International Road Roughness Experiment (IRRE) : establishing correlation and a calibration standard for measurements. World Bank technical paper; no. WTP 45. Washington, DC : The World Bank. (ISBN 0-8213-0589-1) available from http://documents.worldbank.org/curated/en/326081468740204115. |
License: | MIT + file LICENSE |
URL: | http://github.com/vsimko/rroad |
BugReports: | http://github.com/vsimko/rroad/issues |
LazyData: | yes |
Suggests: | testthat, knitr, zoo, biwavelet |
VignetteBuilder: | knitr |
RoxygenNote: | 6.0.1 |
NeedsCompilation: | no |
Packaged: | 2018-02-21 15:03:38 UTC; vlx |
Author: | Viliam Simko [cre, aut], Kevin Laubis [aut] |
Maintainer: | Viliam Simko <viliam.simko@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2018-02-21 16:48:56 UTC |
Computes the IRI for a continuously increasing segment given a road profile
Description
Depending on the sample size a certain buffer has to be attached to the profile for calculation the slope at the end.
Usage
CalculateIRIContinuously(profile, iri_coef)
Arguments
profile |
Road profile (as numeric vector in mm) whose IRIs are to be calculated. |
iri_coef |
Set of coefficients for specific sample size (e. g. IRI_COEF_250). |
Value
Calculated IRIs (m/km) for increasing segments (as numeric vector) of the given profile.
Examples
generate_test_profile <- function (x) {
if (x < 1) return(0)
if (x >= 1 && x < 3) return(x - 1)
if (x >= 3 && x < 5) return(5 - x)
if (x >= 5) return(0)
}
x <- seq(.25, 30, by = .25)
test_profile <- data.frame(x = x, profile=sapply(x, generate_test_profile))
test_profile$iri <- CalculateIRIContinuously(
test_profile$profile, IRI_COEF_250)
plot(x = test_profile$x, y = test_profile$profile, ylim = c(0, 8),
xlim = c(0,25), type = "l")
lines(x = test_profile$x, y = test_profile$iri*10)
Computes the IRI for fixed length segments (e.g. 100m segments) given a road profile.
Description
Computes the IRI for fixed length segments (e.g. 100m segments) given a road profile.
Usage
CalculateIRIperSegments(profile, iri_coef, segment.length = 100)
Arguments
profile |
Road profile (as numeric vector in mm) whose IRI is to be calculated. |
iri_coef |
Set of coefficients for specific sample size (e. g. IRI_COEF_100). |
segment.length |
Distance (in m) for which the IRI is to be calculated. Default is 100 m. |
Value
Calculated IRI (m/km) per segment (as numeric) of the given profile.
Examples
profile <- rnorm(10000)
iri <- CalculateIRIperSegments(profile, IRI_COEF_100, 20)
par(mfrow = c(1,2))
plot(profile, type="l",
xlab="Distance [dm]", ylab="Profile [m]",
main="Read profile (Laser measurement)")
plot(iri, type="s",
xlab="Segment", ylab="IRI [m/km]",
main="International Roughness Index (IRI)\nsample = 10cm, segment = 20m")
Computes the IRI for fixed length overlapping segments (e.g. 100 m segments) with an offset (e.g. 20 m) given a road profile
Description
Computes the IRI for fixed length overlapping segments (e.g. 100 m segments) with an offset (e.g. 20 m) given a road profile
Usage
CalculateIRIperSegmentsOverlapping(profile, iri_coef, segment.length = 100,
segment.offset = 20)
Arguments
profile |
Road profile (as numeric vector in mm) whose IRI is to be calculated. |
iri_coef |
Set of coefficients for specific sample size (e. g. IRI_COEF_100). |
segment.length |
Distance (in m) for which the IRI is to be calculated. Default is 100 m. |
segment.offset |
Offset (in m) for which the segments will not overlap. Default is 20 m. |
Value
Calculated IRI (m/km) per segment (as numeric) of the given profile.
Examples
profile <- rnorm(10000)
iri <- CalculateIRIperSegments(profile, IRI_COEF_100, 20)
par(mfrow = c(1,2))
plot(profile, type="l",
xlab="Distance [dm]", ylab="Profile [m]",
main="Read profile (Laser measurement)")
plot(iri, type="s",
xlab="Segment (with 20 m offset)", ylab="IRI [m/km]",
main="International Roughness Index (IRI)\nsample = 10cm, segment = 20m")
precomputed coeficients 100 mm segments (lazily evaluated promise)
Description
precomputed coeficients 100 mm segments (lazily evaluated promise)
precomputed coeficients 250 mm segments (lazily evaluated promise)
Description
precomputed coeficients 250 mm segments (lazily evaluated promise)