/** * Map Generator Groovy weather sample */ package weather.data; import idea.geographic.coordsys.orthogonal2d.CartesianGeoPosition; import idea.map.data.AbstractDataValues; import idea.map.data.DataValue; import idea.map.generator.MapGenerator; /** * Data values to visualize on the map - use airport air pressure (QNH) * * @author Lumir Vanek, vanek@idea-envi.cz * */ class WeatherDataValues extends AbstractDataValues { /** * Stored airports list */ private final List< Airport > airports; /** * Constructor * * @param airports Airports list with weather data */ public WeatherDataValues(List< Airport > airports) { super(null, null); this.airports = airports; } /** * Initialize * * @param mapGenerator The map generator */ public void initialize(final MapGenerator mapGenerator) { /** * For each airport: extract weather data and create data value for Map Generator */ airports.each { Airport airport -> this.add new DataValueWithMetar(airport.icaoCode, (float) airport.weather.airPressure, mapGenerator.getCoordTransformation().transformWGS84ToCartesianGeoPos(airport.geoPosition).convertToCartesianGeoPosition(), airport.name, true, airport.weather.metarOrigin); } } }