Package au.gov.amsa.geo.distance
Class DistanceTravelledCalculator
- java.lang.Object
-
- au.gov.amsa.geo.distance.DistanceTravelledCalculator
-
public class DistanceTravelledCalculator extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDistanceTravelledCalculator.CalculationResult
-
Constructor Summary
Constructors Constructor Description DistanceTravelledCalculator(Options options, DistanceCalculationMetrics metrics)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static rx.Observable<CellValue>calculateDensityByCellFromFiles(Options options, rx.Observable<java.io.File> files, int horizontal, int vertical, DistanceCalculationMetrics metrics)rx.Observable<CellAndDistance>calculateDistanceByCellFromFiles(rx.Observable<java.io.File> files)Returns distinct cells and the the total nautical miles travelled in that cell.static DistanceTravelledCalculator.CalculationResultcalculateTrafficDensity(Options options, rx.Observable<java.io.File> files)static DistanceTravelledCalculator.CalculationResultcalculateTrafficDensity(Options options, rx.Observable<java.io.File> files, int horizontal, int vertical)DistanceCalculationMetricsgetMetrics()static rx.Observable<Options>partition(Options options, int horizontal, int vertical)static voidsaveCalculationResultAsNetcdf(Options options, DistanceTravelledCalculator.CalculationResult calculationResult, java.lang.String filename)static voidsaveCalculationResultAsText(Options options, DistanceTravelledCalculator.CalculationResult calculationResult, java.lang.String filename)
-
-
-
Constructor Detail
-
DistanceTravelledCalculator
public DistanceTravelledCalculator(Options options, DistanceCalculationMetrics metrics)
-
-
Method Detail
-
calculateDistanceByCellFromFiles
public rx.Observable<CellAndDistance> calculateDistanceByCellFromFiles(rx.Observable<java.io.File> files)
Returns distinct cells and the the total nautical miles travelled in that cell. Uses RxJavaObservables to maximize throughput and will scale to use all available processors and to handle a large number of files (number of open file handles should be limited by number of available processors).- Parameters:
files-- Returns:
-
getMetrics
public DistanceCalculationMetrics getMetrics()
-
calculateDensityByCellFromFiles
public static rx.Observable<CellValue> calculateDensityByCellFromFiles(Options options, rx.Observable<java.io.File> files, int horizontal, int vertical, DistanceCalculationMetrics metrics)
-
calculateTrafficDensity
public static DistanceTravelledCalculator.CalculationResult calculateTrafficDensity(Options options, rx.Observable<java.io.File> files)
-
calculateTrafficDensity
public static DistanceTravelledCalculator.CalculationResult calculateTrafficDensity(Options options, rx.Observable<java.io.File> files, int horizontal, int vertical)
-
saveCalculationResultAsText
public static void saveCalculationResultAsText(Options options, DistanceTravelledCalculator.CalculationResult calculationResult, java.lang.String filename)
-
saveCalculationResultAsNetcdf
public static void saveCalculationResultAsNetcdf(Options options, DistanceTravelledCalculator.CalculationResult calculationResult, java.lang.String filename)
-
partition
public static rx.Observable<Options> partition(Options options, int horizontal, int vertical)
Returns a sequence ofOptionsthat are same as the source apart from theBoundswhich are partitioned according to horizontal and vertical parameters. For map-reduce purposes we need to be able to partition the bounds of Options. Passing horizontal=1 and vertical=1 will return one item only being a copy of the sourceOptions.- Parameters:
options-horizontal- number of regions (with longitude)vertical- number of regions (with latitude)- Returns:
-
-