Ignore:
Timestamp:
09/28/12 15:23:24 (12 years ago)
Author:
vmipsl
Message:

simulation

  • contours ok
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ether_megapoli/trunk/web/src/com/ether/ControllerSimulationPlot.java

    r559 r561  
    8585            megapoliPlot.setRealDataToDisplay( displayRealData ); 
    8686 
    87             if( displayRealData && null != plateformId ) 
     87            // Extract simulated values from file 
     88            final List<Double> allParameterValues = _etherService.extractValuesByModelByVariableByDateByLevelFromFile( megapoliPlot.getModelId(), megapoliPlot.getVariableName(), dateNumber, level, true ); 
     89            final List<Double> allLatitudeValues = _etherService.extractValuesByModelByVariableByDateByLevelFromFile( megapoliPlot.getModelId(), "lat", dateNumber, level, true ); 
     90            final List<Double> allLongitudeValues = _etherService.extractValuesByModelByVariableByDateByLevelFromFile( megapoliPlot.getModelId(), "lon", dateNumber, level, true ); 
     91 
     92            // Extract real data from database 
     93            if( megapoliPlot.isRealDataToDisplay() && null != plateformId ) 
    8894            { 
    8995                final Integer parameterId = _etherService.getParameterByCode( variableName ); 
     
    100106            } 
    101107 
    102             final List<Double> allParameterValues = _etherService.extractValuesByModelByVariableByDateByLevelFromFile( megapoliPlot.getModelId(), megapoliPlot.getVariableName(), dateNumber, level, true ); 
    103             final List<Double> allLatitudeValues = _etherService.extractValuesByModelByVariableByDateByLevelFromFile( megapoliPlot.getModelId(), "lat", dateNumber, level, true ); 
    104             final List<Double> allLongitudeValues = _etherService.extractValuesByModelByVariableByDateByLevelFromFile( megapoliPlot.getModelId(), "lon", dateNumber, level, true ); 
    105  
    106             // If we have to display the real data, we need probably to zoom all the data on the same geographic map 
     108            // If we have to display the real data, we need probably to zoom all the data on the same geographic map, otherwise we keep all values 
    107109            final Data allZoomedData = _etherService.makeZoom( allParameterValues, allLatitudeValues, allLongitudeValues, megapoliPlot.getRealData() ); 
    108  
    109110            final List<Double> parameterValues = (List<Double>) allZoomedData.getFirstArray(); 
    110111            final List<Double> latitudeValues = (List<Double>) allZoomedData.getSecondArray(); 
     
    112113 
    113114            final Data valuesLists; 
     115            // If we display the contours, the latitudes and longitudes must contain only unique value, we remove the duplicated values 
    114116            if( isRasterContour ) 
    115117            { 
    116118                final Set<Double> latitudeValuesSet = new LinkedHashSet<Double>( latitudeValues ); 
    117119                final Set<Double> longitudeValuesSet = new LinkedHashSet<Double>( longitudeValues ); 
    118                 valuesLists = new Data( parameterValues, new ArrayList<Double>( latitudeValuesSet ), new ArrayList<Double>( longitudeValuesSet ) ); 
     120                // We have to flip the parameter values 
     121                final List<Double> flipedParameterValues = _etherService.flipList( parameterValues, latitudeValuesSet.size(), longitudeValuesSet.size() ); 
     122                valuesLists = new Data( flipedParameterValues, new ArrayList<Double>( latitudeValuesSet ), new ArrayList<Double>( longitudeValuesSet ) ); 
    119123            } 
    120124            else 
    121125                valuesLists = new Data( parameterValues, new ArrayList<Double>( latitudeValues ), new ArrayList<Double>( longitudeValues ) ); 
     126 
    122127            megapoliPlot.setData( valuesLists ); 
    123128            megapoliPlot.setValuesNumber( parameterValues.size() ); 
Note: See TracChangeset for help on using the changeset viewer.