Ignore:
Timestamp:
04/26/10 19:12:49 (14 years ago)
Author:
cbipsl
Message:

maj eccad V3.2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ether_eccad/trunk/ECCAD_INTERFACE/WEB-INF/src/org/medias/eccad/metier/generationRaster/ServiceRaster.java

    r68 r70  
    1818import org.medias.eccad.persistance.dao.GrilleDAO; 
    1919import org.medias.eccad.persistance.exception.PersistanceException; 
    20 import org.medias.eccad.presentation.traducteur.TraducteurCarte; 
    2120import org.springframework.beans.factory.xml.XmlBeanFactory; 
    2221 
     
    3433         */ 
    3534        public ServiceRaster() { 
    36                 LoggerPerso.log(ServiceRaster.class, LoggerPerso.DEBUG, "création du service"); 
     35//              LoggerPerso.log(ServiceRaster.class, LoggerPerso.DEBUG, "création du service"); 
    3736                xmlbean = SpringBeanFactory.getXmlFactory(); 
    3837                gen_worldfile = (GenerateurWorldFile) xmlbean.getBean("worldfile"); 
     
    4645         * Permet la création de l'image représentant la légende 
    4746         */ 
    48         public String genereLegend(long id_grille, long id_colormap, String fichier) { 
    49                 colormap = getColorMap(id_colormap); 
     47        public String genereLegend(long id_grille, long id_colormap, long id_classdis, String fichier) { 
     48                colormap = getColorMap(id_colormap,id_classdis); 
    5049                InformationLegend info_legend = new InformationLegend(); 
    51                  
    52                 gen_legend.genereLegendVertical(colormap, info_legend.getLegendText(id_grille, colormap.getColorTable()), info_legend.getInfoSup(id_grille)); 
     50                String infoSup = info_legend.getInfoSup(id_grille,null); 
     51                gen_legend.genereLegendVertical(colormap, info_legend.getLegendText(id_grille, colormap.getColorTable(), infoSup), infoSup); 
    5352                gen_legend.enregistreLegend(fichier+".legend.png"); 
    5453                return fichier+".legend.png"; 
     
    5756         
    5857        /** 
    59          * Demande au CGI eccad de générer un raster pour la grille passée en paramêtre. 
     58         * Demande au CGI eccad de générer un raster pour la grille passée en paramÚtre. 
    6059         */ 
    61         public StatReponse genereRaster(long id_grille, long id_colormap, Zone zone) { 
    62                 LoggerPerso.log(ServiceRaster.class, LoggerPerso.DEBUG,"-------------------------  **********************************++++++++++++++++++++++ "); 
     60        public StatReponse genereRaster(long id_grille, long id_colormap, long id_classdis, Zone zone, String nomProd, long id_sector, long id_mask) { 
    6361                float centerValue = 0, centerLat = 0, centerLon = 0; 
    6462                String requete = ""; 
     
    6664                Grille grille = null; 
    6765                 
    68                 try {grille = grilleDAO.getGrille(id_grille);}catch (PersistanceException e) {LoggerPerso.log(ServiceRaster.class, LoggerPerso.ERROR, "ERROR generateRaster " + e.getM_message(), e);} 
     66                try { 
     67                        grille = grilleDAO.getGrille(id_grille); 
     68                }catch (PersistanceException e) { 
     69                        LoggerPerso.log(ServiceRaster.class, LoggerPerso.ERROR, "ERROR generateRaster " + e.getM_message(), e); 
     70                } 
    6971                 
    7072                GrapheCGI rasterdao = new GrapheCGI(); 
    7173                Map<String, String> critere = new HashMap<String, String>(); 
    72                 if (zone != null) 
    73                 { 
     74                if (zone != null) { 
    7475                        //*************************// 
    75                          
    7676                        String northbcN =  zone.getNorthbcN().replace(",","."); 
    7777                        String southbcN = zone.getSouthbcN().replace(",","."); 
    7878                        String eastbcN = zone.getEastbcN().replace(",","."); 
    7979                        String westbcN = zone.getWestbcN().replace(",","."); 
    80  
    81                         LoggerPerso.log(ServiceRaster.class, LoggerPerso.DEBUG,"-------------------------   "+ northbcN); 
    82                          
    8380                        critere.put("lat-max", northbcN); 
    8481                        critere.put("lat-min", southbcN); 
    8582                        critere.put("lon-max", eastbcN); 
    8683                        critere.put("lon-min", westbcN); 
    87                          
    88                         critere.put("beg-date", grille.getDate().toString()); 
    89                         critere.put("end-date", grille.getDate().toString()); 
    90                         TraducteurStat traducteur = new TraducteurStat(); 
    91                         requete = traducteur.encodeCritere(critere, grille.getId_param(), grille.getId_produit(), id_colormap, "getGridRaster", id_grille); 
    92                         StatReponse reponse = traducteur.getReponse(rasterdao.getStatistique(requete)); 
    93                         centerValue = reponse.getCenter(); 
    94                         centerLat   = reponse.getCenterLat(); 
    95                         centerLon   = reponse.getCenterLon(); 
    9684                } 
    97  
    98                 LoggerPerso.log(ServiceRaster.class, LoggerPerso.DEBUG,"-------------------------  **********************************++++++++++++++++++++++ "); 
    99                  
    100                 critere.put("lat-max", "90"); 
    101                 critere.put("lat-min", "-90"); 
    102                 critere.put("lon-max", "180"); 
    103                 critere.put("lon-min", "-180"); 
    104                  
     85                else { 
     86                        critere.put("lat-max", "90"); 
     87                        critere.put("lat-min", "-90"); 
     88                        critere.put("lon-max", "180"); 
     89                        critere.put("lon-min", "-180"); 
     90                } 
    10591                critere.put("beg-date", grille.getDate().toString()); 
    10692                critere.put("end-date", grille.getDate().toString()); 
    10793                TraducteurStat traducteur = new TraducteurStat(); 
    108                 requete = traducteur.encodeCritere(critere, grille.getId_param(), grille.getId_produit(), id_colormap, "getGridRaster", id_grille); 
     94                // Pour le produit IPCC, si le secteur est 0, cela signifie qu'on souhaite afficher la carte résultante de la somme des grilles associés à tous les secteurs 
     95                // Sinon, on affiche une seule grille sur la carte 
     96                if (nomProd.equals("IPCC") && id_sector==0) { 
     97                        requete = traducteur.encodeCritere(critere, grille.getId_param(), grille.getId_produit(), id_colormap, id_classdis, 0, grille.getId_rcp(), "0", "getGridsRaster", id_grille, id_mask); 
     98                } else { 
     99                        requete = traducteur.encodeCritere(critere, grille.getId_param(), grille.getId_produit(), id_colormap, id_classdis, grille.getId_secteur(), grille.getId_rcp(), grille.getLegend(), "getGridRaster", id_grille, id_mask); 
     100                } 
    109101                StatReponse reponse = traducteur.getReponse(rasterdao.getStatistique(requete)); 
    110                 if (zone != null) 
    111                 { 
     102                if (zone != null) { 
     103                        centerValue = (reponse.getCenter()==null?0:reponse.getCenter().floatValue()); 
     104                        centerLat   = (reponse.getCenterLat()==null?0:reponse.getCenterLat().floatValue()); 
     105                        centerLon   = (reponse.getCenterLon()==null?0:reponse.getCenterLon().floatValue()); 
    112106                        reponse.setCenter(centerValue); 
    113107                        reponse.setCenterLat(centerLat); 
     
    125119         * @return la table de couleur par défaut 
    126120         */ 
    127         private ColorMapping getColorMap(long colormapid) { 
     121        private ColorMapping getColorMap(long colormapid, long classdisid) { 
    128122                ColorTabDAO colorDAO = (ColorTabDAO) xmlbean.getBean("colorTabDAO"); 
    129123                 
     
    131125                 
    132126                try { 
    133                         colortab = colorDAO.getColorMapByID(colormapid); 
     127                        colortab = colorDAO.getColorMapByID(colormapid,classdisid); 
    134128                } catch (PersistanceException e) { 
    135129                        e.printStackTrace(); 
     
    160154        } 
    161155 
    162  
    163156} 
Note: See TracChangeset for help on using the changeset viewer.