1 package fr.ifremer.dali.ui.swing.util.map;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import com.google.common.collect.Lists;
27 import org.geotools.data.ows.Layer;
28 import org.geotools.data.wms.WebMapServer;
29 import org.geotools.map.MapContent;
30 import org.geotools.map.WMSLayer;
31 import org.geotools.swing.JMapFrame;
32 import org.geotools.swing.wms.WMSChooser;
33 import org.geotools.swing.wms.WMSLayerChooser;
34
35 import javax.swing.*;
36 import java.net.URL;
37 import java.util.List;
38
39
40
41
42 public class WMSLab extends JFrame {
43
44
45
46
47 public static void main(String[] args) throws Exception {
48
49 List<String> sextantServers = Lists.newArrayList(
50 "http://www.ifremer.fr/services/wms1?Service=WMS&Request=GetCapabilities" //&Version=1.1.1
51 );
52
53
54 URL capabilitiesURL = WMSChooser.showChooseWMS(sextantServers);
55 if( capabilitiesURL == null ){
56 System.exit(0);
57 }
58 WebMapServer wms = new WebMapServer( capabilitiesURL );
59
60 List<Layer> wmsLayers = WMSLayerChooser.showSelectLayer( wms );
61 if( wmsLayers == null ){
62 JOptionPane.showMessageDialog(null, "Could not connect - check url");
63 System.exit(0);
64 }
65 MapContent mapcontent = new MapContent();
66 mapcontent.setTitle( wms.getCapabilities().getService().getTitle() );
67
68 for( Layer wmsLayer : wmsLayers ){
69 WMSLayer displayLayer = new WMSLayer(wms, wmsLayer );
70 mapcontent.addLayer(displayLayer);
71 }
72
73 JMapFrame.showMap(mapcontent);
74 }
75 }