/** * Returns the semimajor or equatorial radius of this reference ellipsoid. * * @return The semimajor radius. */ public Measurable<Length> getSemimajorAxis() { if (_semimajorAxis == null) { _semimajorAxis = Measure.valueOf(a, SI.METRE); } return _semimajorAxis; }
/** * Returns the semiminor or polar radius of this reference ellipsoid. * * @return The semiminor radius. */ public Measurable<Length> getsSemiminorAxis() { if (_semiminorAxis == null) { _semiminorAxis = Measure.valueOf(b, SI.METRE); } return _semiminorAxis; }
/** * Converts the specified distance into a {@link Measure} using the external * distance unit as specified by {@link #getExDistUnit()}. * @param distance The distance to convert. * @return A new {@link Measure} instance. */ public Measure<Double, Length> toExDistMeasure(double distance) { return Measure.valueOf(toExternalDistConv.convert(distance), externalDistanceUnit); }
@Override public Measure<Double, Length> getDistanceOfPath(Iterable<Point> path) throws IllegalArgumentException { final List<Point> pathAsList = Lists.newArrayList(path); checkArgument(pathAsList.size() > 1, "Cannot evaluate the distance of a path with less than two points."); return Measure.valueOf(Graphs.pathLength(pathAsList), getDistanceUnit()); }
Measure<Long, DataAmount> upload(Map<String, Object> args) throws ParseException { Object upload = args.get(UPLOAD); long bytes = byteFormatFactory.create().parse(upload.toString()); return Measure.valueOf(bytes, NonSI.BYTE); }
Measure<Long, DataAmount> post(Map<String, Object> args) throws ParseException { Object post = args.get(POST); long bytes = byteFormatFactory.create().parse(post.toString()); return Measure.valueOf(bytes, NonSI.BYTE); }
Measure<Long, DataAmount> limit(Map<String, Object> args) throws ParseException { Object limit = args.get(LIMIT); long bytes = byteFormatFactory.create().parse(limit.toString()); return Measure.valueOf(bytes, NonSI.BYTE); }
GraphTravelTimes(GraphRoadModel rm, Unit<Duration> tu, Point centerMostPoint, Iterator<Vehicle> vehicles) { roadModel = rm; double max = 0; while (vehicles.hasNext()) { final Vehicle v = vehicles.next(); max = Math.max(max, v.getDTO().getSpeed()); } vehicleSpeed = Measure.valueOf(max, roadModel.getSpeedUnit()); depotLocations = ImmutableList.of(centerMostPoint); this.timeUnit = tu; }
static int[] toRemainingServiceTimes(GlobalStateObject state, Unit<Duration> outputTimeUnit) { final UnmodifiableIterator<VehicleStateObject> iterator = state.vehicles .iterator(); final int[] remainingServiceTimes = new int[state.vehicles.size()]; for (int i = 0; i < state.vehicles.size(); i++) { remainingServiceTimes[i] = DoubleMath.roundToInt( Measure.valueOf(iterator.next().remainingServiceTime, state.timeUnit) .doubleValue(outputTimeUnit), RoundingMode.CEILING); } return remainingServiceTimes; }
/** * Returns the <i>radius of curvature in the meridian<i> * for this reference ellipsoid at the specified latitude. * * @param latitude The local latitude (in radians). * @return The radius of curvature in the meridian (in meters). */ public Measurable<Length> meridionalRadiusOfCurvature(final Measurable<Angle> latitude) { return Measure.valueOf(meridionalRadiusOfCurvature(latitude.doubleValue(SI.RADIAN)), SI.METRE); }
/** * Returns the meridional arc, the true meridional distance on the * ellipsoid from the equator to the specified latitude. * * @param latitude The local latitude. * @return The meridional arc. */ public Measurable<Length> meridionalArc(final Measurable<Angle> latitude) { return Measure.valueOf(meridionalArc(latitude.doubleValue(SI.RADIAN)), SI.METRE); }
Measure<Long, Duration> time() { return Measure.valueOf(clock.getCurrentTime(), clock.getTimeUnit()); } }
/** * Returns the <i>radius of curvature in the prime vertical</i> * for this reference ellipsoid at the specified latitude. * * @param latitude The local latitude. * @return The radius of curvature in the prime vertical. */ public Measurable<Length> verticalRadiusOfCurvature(final Measurable<Angle> latitude) { return Measure.valueOf(verticalRadiusOfCurvature(latitude.doubleValue(SI.RADIAN)), SI.METRE); }
@Override public double calculateTravelTime(Graph<?> graph, Point from, Point to, Unit<Length> distanceUnit, Measure<Double, Velocity> speed, Unit<Duration> outputTimeUnit) { final Measure<Double, Length> distance = Measure.valueOf(graph.connectionLength(from, to), distanceUnit); return Math.max(doCalculateTravelTime(speed, distance, outputTimeUnit), doCalculateTravelTime( Measure.valueOf(getSpeed(graph, from, to), speed.getUnit()), distance, outputTimeUnit)); }
@Override public double calculateTravelTime(Graph<?> graph, Point from, Point to, Unit<Length> distanceUnit, Measure<Double, Velocity> speed, Unit<Duration> outputTimeUnit) { final Measure<Double, Length> distance = Measure.valueOf(graph.connectionLength(from, to), distanceUnit); return Math.max(doCalculateTravelTime(speed, distance, outputTimeUnit), doCalculateTravelTime( Measure.valueOf(getSpeed(graph, from, to), speed.getUnit()), distance, outputTimeUnit)); }
double doCalculateTravelTime(Measure<Double, Velocity> speed, Measure<Double, Length> distance, Unit<Duration> outputTimeUnit) { return Measure.valueOf(distance.doubleValue(SI.METER) // divided by m/s / speed.doubleValue(SI.METERS_PER_SECOND), // gives seconds SI.SECOND) // convert to desired unit .doubleValue(outputTimeUnit); }
public double getLength(Geometry geometry, DistanceUnit targetUnit) { double length = transformGeometry(geometry).getLength(); if (targetUnit == DistanceUnit.Default) { return length; } return UnitConverter.convertDistance(Measure.valueOf(length, distanceUnit), targetUnit); }
double doCalculateTravelTime(Measure<Double, Velocity> speed, Measure<Double, Length> distance, Unit<Duration> outputTimeUnit) { return Measure.valueOf(distance.doubleValue(SI.METER) // divided by m/s / speed.doubleValue(SI.METERS_PER_SECOND), // gives seconds SI.SECOND) // convert to desired unit .doubleValue(outputTimeUnit); }
@Override public RoadModel createRoadModel() { return new PlaneRoadModel(min, max, getDistanceUnit(), Measure.valueOf(100d, getSpeedUnit())); }