Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/map/PrintMap.java @ 5863:4897a58c8746
River artifacts: Added new copyright headers.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Sun, 28 Apr 2013 14:40:59 +0200 |
parents | 5aa05a7a34b7 |
children | af13ceeba52a |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3087
diff
changeset
|
9 package org.dive4elements.river.artifacts.map; |
2328
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import java.awt.Color; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import java.awt.Rectangle; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import java.io.File; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import java.io.IOException; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import java.awt.Graphics2D; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import java.awt.image.BufferedImage; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 import java.util.List; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import java.net.URL; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import java.net.MalformedURLException; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 import javax.imageio.ImageIO; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 import org.geotools.data.ows.Layer; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 import org.geotools.data.ows.WMSCapabilities; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 import org.geotools.data.wms.WebMapServer; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 import org.geotools.geometry.jts.ReferencedEnvelope; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 import org.geotools.map.MapContext; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 import org.geotools.map.WMSMapLayer; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 import org.geotools.ows.ServiceException; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 import org.geotools.renderer.lite.StreamingRenderer; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 import org.geotools.renderer.GTRenderer; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 public class PrintMap { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 public static final String DEFAULT_WMS = "http://map1.naturschutz.rlp.de/service_lanis/mod_wms/wms_getmap.php?mapfile=group_gdide&REQUEST=GetCapabilities&SERVICE=WMS"; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 public static final String DEFAULT_OUTFILE = "~/map.jpeg"; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 public static final String MAPSERVER = System.getProperty("wms", DEFAULT_WMS); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 public static final String MAP_IMAGE = System.getProperty("outfile", DEFAULT_OUTFILE); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 public static void main(String[] args) { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 System.out.println("-> start PrintMap"); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 System.out.println(" -> Print layers of WMS: " + MAPSERVER); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 try { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 WebMapServer server = getMapserver(); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 WMSMapLayer[] wmsLayer = getWMSLayers(server); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 MapContext mapcontent = new MapContext( wmsLayer ); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 mapcontent.setTitle(" NEW MAP CONTENT TITLE "); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 printMap(mapcontent); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 catch (Exception e) { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 e.printStackTrace(); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 System.out.println("-> finished PrintMap"); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 public static void printMap(MapContext map) throws Exception { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 int imageWidth = 600; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 GTRenderer renderer = new StreamingRenderer(); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 renderer.setContext(map); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 Rectangle imageBounds = null; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 ReferencedEnvelope mapBounds = null; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 try { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 mapBounds = map.getLayerBounds(); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 double heightToWidth = mapBounds.getSpan(1) / mapBounds.getSpan(0); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 imageBounds = new Rectangle( |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 0, 0, |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 imageWidth, |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 (int) Math.round(imageWidth * heightToWidth)); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 catch (Exception e) { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 // failed to access map layers |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 throw new RuntimeException(e); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 BufferedImage image = new BufferedImage(imageBounds.width, imageBounds.height, BufferedImage.TYPE_INT_RGB); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 Graphics2D gr = image.createGraphics(); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 gr.setPaint(Color.WHITE); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 gr.fill(imageBounds); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 try { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 renderer.paint(gr, imageBounds, mapBounds); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 File fileToSave = new File(MAP_IMAGE); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 ImageIO.write(image, "jpeg", fileToSave); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 catch (IOException e) { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 throw new RuntimeException(e); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 public static WebMapServer getMapserver() throws MalformedURLException, IOException, ServiceException { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 return new WebMapServer(getServerUrl()); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 public static URL getServerUrl() throws MalformedURLException { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 return new URL(MAPSERVER); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 public static WMSMapLayer[] getWMSLayers(WebMapServer server) { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 if (server == null) { |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 System.out.println("WebMapServer == null"); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 throw new RuntimeException("WebMapServer == null"); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 WMSCapabilities capabilities = server.getCapabilities(); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 List<Layer> layers = capabilities.getLayerList(); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 WMSMapLayer[] wmslayers = new WMSMapLayer[layers.size()]; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 |
3087
4a76da133144
Removed repeated x.size() calls from for loops.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3083
diff
changeset
|
129 for (int i = 0, L = layers.size(); i < L; i++) { |
2328
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 Layer l = layers.get(i); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 System.out.println(" -> add layer: " + l); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 wmslayers[i] = new WMSMapLayer(server, l); |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 return wmslayers; |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
137 } |
0cc0e232fa35
Added standalone demo application that prints all layers of a WMS to file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 } |
3083
4bd3d8bbb60c
Added missing vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2328
diff
changeset
|
139 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |