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
19
20
21
22 public class SatelliteWMTSMapConfiguration implements WMTSMapConfiguration {
23
24
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 }