View Javadoc
1   package fr.ifremer.dali.map;
2   
3   /*-
4    * #%L
5    * Dali :: UI
6    * %%
7    * Copyright (C) 2017 Ifremer
8    * %%
9    * This program is free software: you can redistribute it and/or modify
10   * it under the terms of the GNU Affero General Public License as published by
11   * the Free Software Foundation, either version 3 of the License, or
12   * (at your option) any later version.
13   *
14   * This program is distributed in the hope that it will be useful,
15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   * GNU General Public License for more details.
18   *
19   * You should have received a copy of the GNU Affero General Public License
20   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21   * #L%
22   */
23  
24  import fr.ifremer.quadrige3.core.dao.technical.enumeration.EnumValue;
25  import org.geotools.geometry.jts.ReferencedEnvelope;
26  import org.geotools.referencing.crs.DefaultGeographicCRS;
27  
28  import static org.nuiton.i18n.I18n.n;
29  import static org.nuiton.i18n.I18n.t;
30  
31  /**
32   * Map mode enumeration
33   *
34   * @author peck7 on 27/10/2017.
35   */
36  public enum MapProjection implements EnumValue {
37  
38      WGS84("EPSG:4326", n("dali.core.enums.mapProjection.wgs84"), new ReferencedEnvelope(-180, 180, -90, 90, DefaultGeographicCRS.WGS84)),
39      WGS84_PSEUDO_MERCATOR("EPSG:3857", n("dali.core.enums.mapProjection.pseudoMercator"), new ReferencedEnvelope(-180, 180, -85.05112878, 85.05112878, DefaultGeographicCRS.WGS84));
40  
41      private final String code;
42      private final String i18nKey;
43      private final ReferencedEnvelope envelope;
44  
45      MapProjection(String code, String i18nKey, ReferencedEnvelope envelope) {
46          this.code = code;
47          this.i18nKey = i18nKey;
48          this.envelope = envelope;
49      }
50  
51      @Override
52      public String getCode() {
53          return code;
54      }
55  
56      @Override
57      public String getLabel() {
58          return t(i18nKey);
59      }
60  
61      public ReferencedEnvelope getEnvelope() {
62          return envelope;
63      }
64  }