Search in sources :

Example 1 with Latitude

use of org.tensorics.core.examples.meteo.domain.coordinates.Latitude in project tensorics-core by tensorics.

the class FakeMeteoDataImporter method importFromPastCorrupted.

public static Tensor<QuantifiedValue<Double>> importFromPastCorrupted() {
    Set<Class<?>> dimensions = ImmutableSet.of(Time.class, Longitude.class, Latitude.class);
    Builder<QuantifiedValue<Double>> tensorBuilder = ImmutableTensor.<QuantifiedValue<Double>>builder(dimensions);
    Random rand = new Random();
    for (int x = 0; x < 10; x++) {
        for (int y = 0; y < 10; y++) {
            for (int t = 0; t < 10; t++) {
                if (y != 5) {
                    QuantifiedValue<Double> entryValue = ImmutableQuantifiedValue.<Double>of(rand.nextDouble(), JScienceUnit.of(SI.CELSIUS));
                    tensorBuilder.put(Position.of(new Time(t), new Longitude(x), new Latitude(y)), entryValue);
                }
            }
        }
    }
    return tensorBuilder.build();
}
Also used : Random(java.util.Random) Time(org.tensorics.core.examples.meteo.domain.coordinates.Time) Latitude(org.tensorics.core.examples.meteo.domain.coordinates.Latitude) Longitude(org.tensorics.core.examples.meteo.domain.coordinates.Longitude) QuantifiedValue(org.tensorics.core.quantity.QuantifiedValue) ImmutableQuantifiedValue(org.tensorics.core.quantity.ImmutableQuantifiedValue)

Example 2 with Latitude

use of org.tensorics.core.examples.meteo.domain.coordinates.Latitude in project tensorics-core by tensorics.

the class WeatherHistoryInEurope method calculate.

// tag::import[]
/*
     * calculate an average monthly temperature at the ROME Latitude like cities
     */
@SuppressWarnings("unused")
public void calculate() {
    Tensor<QuantifiedValue<Double>> importedData = importDataForCities();
    Latitude romeLatitude = EuropeanCapital.ROMA.getLatitude();
    Tensor<QuantifiedValue<Double>> sliceAtTropicCancerAndRome = from(importedData).extract(romeLatitude);
    Temperature temperature = new Temperature(importedData);
    Tensor<QuantifiedValue<Double>> elementTimes = calculateQ(importedData).elementTimes(importedData);
    Temperature elementTimes2 = calculateQ(temperature).elementTimes(temperature);
    /* dimension will be reduced to only Longitude and Time */
    sliceAtTropicCancerAndRome.shape().dimensionSet();
    // 
    // from(sliceAtTropicCancerAndRome).reduce(Time.class).byAveragingIn(field)
    TensoricSupport<Double> fullTensoricSupport = Tensorics.using(Structures.doubles());
}
Also used : Temperature(org.tensorics.core.examples.meteo.domain.Temperature) Latitude(org.tensorics.core.examples.meteo.domain.coordinates.Latitude) QuantifiedValue(org.tensorics.core.quantity.QuantifiedValue)

Example 3 with Latitude

use of org.tensorics.core.examples.meteo.domain.coordinates.Latitude in project tensorics-core by tensorics.

the class FakeMeteoDataImporter method importFromPast.

public static Tensor<QuantifiedValue<Double>> importFromPast() {
    Set<Class<?>> dimensions = ImmutableSet.of(Time.class, Longitude.class, Latitude.class);
    Builder<QuantifiedValue<Double>> tensorBuilder = ImmutableTensor.<QuantifiedValue<Double>>builder(dimensions);
    Random rand = new Random();
    for (int x = 0; x < 10; x++) {
        for (int y = 0; y < 10; y++) {
            for (int t = 0; t < 10; t++) {
                QuantifiedValue<Double> entryValue = ImmutableQuantifiedValue.<Double>of(rand.nextDouble(), JScienceUnit.of(SI.CELSIUS));
                tensorBuilder.put(Position.of(new Time(t), new Longitude(x), new Latitude(y)), entryValue);
            }
        }
    }
    return tensorBuilder.build();
}
Also used : Random(java.util.Random) Time(org.tensorics.core.examples.meteo.domain.coordinates.Time) Latitude(org.tensorics.core.examples.meteo.domain.coordinates.Latitude) Longitude(org.tensorics.core.examples.meteo.domain.coordinates.Longitude) QuantifiedValue(org.tensorics.core.quantity.QuantifiedValue) ImmutableQuantifiedValue(org.tensorics.core.quantity.ImmutableQuantifiedValue)

Example 4 with Latitude

use of org.tensorics.core.examples.meteo.domain.coordinates.Latitude in project tensorics-core by tensorics.

the class FakeMeteoDataImporter method importFromNow.

public static Tensor<QuantifiedValue<Double>> importFromNow() {
    Set<Class<?>> dimensions = ImmutableSet.of(Longitude.class, Latitude.class);
    Builder<QuantifiedValue<Double>> tensorBuilder = ImmutableTensor.<QuantifiedValue<Double>>builder(dimensions);
    tensorBuilder.context(Position.of(ImmutableSet.<MeteoCoordinate>of(new Time())));
    Random rand = new Random();
    for (int x = 0; x < 10; x++) {
        for (int y = 0; y < 10; y++) {
            QuantifiedValue<Double> entryValue = ImmutableQuantifiedValue.<Double>of(rand.nextDouble(), JScienceUnit.of(SI.CELSIUS));
            tensorBuilder.put(Position.of(new Longitude(x), new Latitude(y)), entryValue);
        }
    }
    return tensorBuilder.build();
}
Also used : Random(java.util.Random) MeteoCoordinate(org.tensorics.core.examples.meteo.domain.coordinates.MeteoCoordinate) Time(org.tensorics.core.examples.meteo.domain.coordinates.Time) Latitude(org.tensorics.core.examples.meteo.domain.coordinates.Latitude) Longitude(org.tensorics.core.examples.meteo.domain.coordinates.Longitude) QuantifiedValue(org.tensorics.core.quantity.QuantifiedValue) ImmutableQuantifiedValue(org.tensorics.core.quantity.ImmutableQuantifiedValue)

Aggregations

Latitude (org.tensorics.core.examples.meteo.domain.coordinates.Latitude)4 QuantifiedValue (org.tensorics.core.quantity.QuantifiedValue)4 Random (java.util.Random)3 Longitude (org.tensorics.core.examples.meteo.domain.coordinates.Longitude)3 Time (org.tensorics.core.examples.meteo.domain.coordinates.Time)3 ImmutableQuantifiedValue (org.tensorics.core.quantity.ImmutableQuantifiedValue)3 Temperature (org.tensorics.core.examples.meteo.domain.Temperature)1 MeteoCoordinate (org.tensorics.core.examples.meteo.domain.coordinates.MeteoCoordinate)1