View Javadoc
1   package fr.ifremer.dali.map.config;
2   
3   import com.google.common.collect.ImmutableList;
4   import fr.ifremer.dali.config.DaliConfiguration;
5   import fr.ifremer.dali.map.MapLayerDefinition;
6   import fr.ifremer.dali.map.WMTSMapConfiguration;
7   import fr.ifremer.dali.map.wmts.WebMapTileServer2;
8   import org.geotools.data.wmts.WebMapTileServer;
9   import org.geotools.data.wmts.model.WMTSCapabilities;
10  import org.geotools.geometry.jts.ReferencedEnvelope;
11  import org.geotools.ows.ServiceException;
12  
13  import java.io.IOException;
14  import java.net.URL;
15  import java.util.List;
16  
17  /**
18   * Not used because of missing UserAgent for getCapabilities request
19   *
20   * @author peck7 on 13/06/2019.
21   */
22  public class SatelliteWMTSMapConfiguration implements WMTSMapConfiguration {
23  
24      // current WMTS instance
25      private WebMapTileServer wmtsServer;
26      private WMTSCapabilities wmtsCapabilities;
27      private List<MapLayerDefinition> mapLayerDefinitions;
28  
29      @Override
30      public boolean isProgressiveRender() {
31          return true;
32      }
33  
34      @Override
35      public String getUrl() {
36          return DaliConfiguration.getInstance().getMapSatelliteUrl();
37      }
38  
39      @Override
40      public WMTSCapabilities getCapabilities() throws IOException, ServiceException {
41          if (wmtsCapabilities == null) {
42              wmtsCapabilities = getWebService().getCapabilities();
43          }
44          return wmtsCapabilities;
45      }
46  
47      @Override
48      public WebMapTileServer getWebService() throws IOException, ServiceException {
49          if (wmtsServer == null) {
50              wmtsServer = new WebMapTileServer2(new URL(getUrl()));
51          }
52          return wmtsServer;
53      }
54  
55      @Override
56      public String getBaseLayerName() {
57          return "satellite";
58      }
59  
60      @Override
61      public List<MapLayerDefinition> getMapLayerDefinitions() {
62          if (mapLayerDefinitions == null) {
63              mapLayerDefinitions = ImmutableList.of(new MapLayerDefinition(getBaseLayerName(), ReferencedEnvelope.EVERYTHING));
64          }
65          return mapLayerDefinitions;
66      }
67  }