// package access for testing only tb 2014-01-17 List<List<SamplingPoint>> splitByOrbit(List<SamplingPoint> points) { final Map<Integer, List<SamplingPoint>> map = new HashMap<>(); for (final SamplingPoint point : points) { final int id = point.getReference(); if (!map.containsKey(id)) { map.put(id, new ArrayList<SamplingPoint>()); } map.get(id).add(point); } final ArrayList<List<SamplingPoint>> byOrbit = new ArrayList<>(map.size()); for (final List<SamplingPoint> orbitPoints : map.values()) { byOrbit.add(orbitPoints); } return byOrbit; }
void removeSamples(List<SamplingPoint> samples) { final List<SamplingPoint> remainingSamples = new ArrayList<>(samples.size()); final ClearSkyProbability clearSkyProbability = Container.CLEAR_SKY_PROBABILITY; final double minimumClearSkyProbability = 0.05; for (final SamplingPoint point : samples) { final double f = minimumClearSkyProbability / clearSkyProbability.getSample(point.getLon(), point.getLat()); if (point.getRandom() <= f) { remainingSamples.add(point); } } samples.clear(); samples.addAll(remainingSamples); }