Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/utils/ArtifactMapfileGenerator.java @ 8850:6823991e1ed1
Better helper for acessing gauges by station
author | gernotbelger |
---|---|
date | Thu, 18 Jan 2018 18:22:25 +0100 |
parents | f5e126739c36 |
children | 5e38e2924c07 |
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 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5867
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
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 |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5867
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
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:
5309
diff
changeset
|
9 package org.dive4elements.river.utils; |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
10 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5309
diff
changeset
|
11 import org.dive4elements.artifacts.CallContext; |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
12 import org.dive4elements.river.artifacts.D4EArtifact; |
7055
1f38656b68c4
DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6988
diff
changeset
|
13 import org.dive4elements.river.artifacts.access.DGMAccess; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5309
diff
changeset
|
14 import org.dive4elements.river.artifacts.model.LayerInfo; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5309
diff
changeset
|
15 import org.dive4elements.river.artifacts.model.map.WMSDBLayerFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5309
diff
changeset
|
16 import org.dive4elements.river.artifacts.model.map.WMSLayerFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5309
diff
changeset
|
17 import org.dive4elements.river.artifacts.model.map.WSPLGENLayerFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5309
diff
changeset
|
18 import org.dive4elements.river.artifacts.resources.Resources; |
6834
d4b9fe13c9b8
Add missing import in ArtifactMapfileGenerator
Christian Lins <christian.lins@intevation.de>
parents:
6833
diff
changeset
|
19 import org.dive4elements.river.artifacts.states.FloodMapState; |
6831
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
20 |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
21 import java.io.File; |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
22 import java.io.FileNotFoundException; |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
23 import java.io.IOException; |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
24 import java.util.List; |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
25 |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
26 import org.apache.log4j.Logger; |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
27 import org.apache.velocity.Template; |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
28 import org.geotools.data.shapefile.ShpFiles; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
29 import org.geotools.data.shapefile.shp.ShapefileHeader; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
30 import org.geotools.data.shapefile.shp.ShapefileReader; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
31 |
8816
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
32 import com.vividsolutions.jts.geom.Envelope; |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
33 |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
34 public class ArtifactMapfileGenerator extends MapfileGenerator { |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
35 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
36 private static Logger log = Logger.getLogger(ArtifactMapfileGenerator.class); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
37 |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
38 public static final String FLOODMAP_UESK_KEY = |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
39 "floodmap.uesk"; |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
40 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
41 public static final String FLOODMAP_UESK_DEF = |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
42 "Floodmap: {0}-km {1,number,####} - {2,number,####} - {3}"; |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
43 |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
44 @Override |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
45 protected String getVelocityLogfile() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
46 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_VELOCITY_LOGFILE); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
47 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
49 @Override |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 protected String getMapserverTemplatePath() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
51 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPSERVER_TEMPLATE_PATH); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
52 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
53 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
54 @Override |
5309
b55975761708
Changed visiblitiy of some methods. TODO: A lot of refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
4994
diff
changeset
|
55 public String getMapserverUrl() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
56 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPSERVER_URL); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
57 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
58 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
59 /** |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
60 * Method which starts searching for meta information file and mapfile |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
61 * generation. |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
62 */ |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
63 @Override |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
64 public void generate() throws IOException |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
65 { |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
66 File[] userDirs = getUserDirs(); |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
67 List<String> layers = parseLayers(userDirs); |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
68 log.info("Found " + layers.size() + " layers for user mapfile."); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
69 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
70 writeMapfile(layers); |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
71 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
72 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
73 /** |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
74 * Creates a layer file used for Mapserver's mapfile which represents the |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
75 * floodmap. |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
76 * |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
77 * @param flys The D4EArtifact that owns <i>wms</i>. |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
78 * @param wms The WMSLayerFacet that contains information for the layer. |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
79 */ |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
80 public void createUeskLayer( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
81 D4EArtifact flys, |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
82 WSPLGENLayerFacet wms, |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
83 String style, |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
84 CallContext context |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
85 ) throws FileNotFoundException, IOException |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
86 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
87 log.debug("createUeskLayer"); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
88 |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
89 String identifier = flys.identifier(); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
90 |
7055
1f38656b68c4
DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6988
diff
changeset
|
91 DGMAccess access = new DGMAccess(flys); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
92 |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
93 LayerInfo layerinfo = new LayerInfo(); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
94 layerinfo.setName(MS_WSPLGEN_PREFIX + identifier); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
95 layerinfo.setType("POLYGON"); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
96 layerinfo.setDirectory(identifier); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
97 layerinfo.setData(WSPLGEN_RESULT_SHAPE); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
98 |
7261
a56fe3bc6700
Refactoring: Let RiverAccess.getRiver return an River.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7055
diff
changeset
|
99 String river = access.getRiverName(); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
100 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
101 double from = access.hasFrom() ? access.getFrom() : 0d; |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
102 double to = access.hasTo() ? access.getTo() : 0d; |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
103 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
104 String title = Resources.format( |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
105 context.getMeta(), |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
106 FLOODMAP_UESK_KEY, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
107 FLOODMAP_UESK_DEF, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
108 river, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
109 from, to, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
110 identifier); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
111 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
112 layerinfo.setTitle(title); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
113 |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
114 layerinfo.setStyle(style); |
7055
1f38656b68c4
DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6988
diff
changeset
|
115 layerinfo.setSrid(String.valueOf(access.getDGM().getSrid())); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
116 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
117 String name = MS_LAYER_PREFIX + wms.getName(); |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
118 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
119 Template template = getTemplateByName(WSPLGEN_LAYER_TEMPLATE); |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
120 if (template == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
121 log.warn("Template '" + WSPLGEN_LAYER_TEMPLATE + "' found."); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
122 return; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
123 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
124 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
125 try { |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
126 File dir = new File(getShapefileBaseDir(), identifier); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
127 writeLayer(layerinfo, new File(dir, name), template); |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
128 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
129 catch (FileNotFoundException fnfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
130 log.error(fnfe, fnfe); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
131 log.warn("Unable to write layer: " + name); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
132 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
133 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
134 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
135 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
136 /** |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
137 * Creates a layer file used for Mapserver's mapfile which represents the |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
138 * shape files uploaded by the user. |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
139 * |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
140 * @param flys The D4EArtifact that owns <i>wms</i>. |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
141 * @param wms The WMSLayerFacet that contains information for the layer. |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
142 */ |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
143 public void createUserShapeLayer(D4EArtifact flys, WMSLayerFacet wms) |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
144 throws FileNotFoundException, IOException |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
145 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
146 log.debug("createUserShapeLayer"); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
147 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
148 String uuid = flys.identifier(); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
149 File dir = new File(getShapefileBaseDir(), uuid); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
150 File test = new File(dir, WSPLGEN_USER_SHAPE); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
151 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
152 if (!test.exists() || !test.canRead()) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
153 log.debug("No user layer existing."); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
154 return; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
155 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
156 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
157 File userShape = new File(dir, WSPLGEN_USER_SHAPE); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
158 ShpFiles sf = new ShpFiles(userShape); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
159 ShapefileReader sfr = new ShapefileReader(sf, true, false, null); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
160 ShapefileHeader sfh = sfr.getHeader(); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
161 |
6833
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
162 String group = MS_USERSHAPE_PREFIX + uuid; |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
163 String groupTitle = "I18N_USER_SHAPE_TITLE"; |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
164 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
165 LayerInfo info = new LayerInfo(); |
6833
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
166 info.setName(MS_LAYER_PREFIX + FloodMapState.WSPLGEN_USER_RGD + uuid); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
167 if (sfh.getShapeType().isLineType()) { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
168 info.setType("LINE"); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
169 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
170 else if (sfh.getShapeType().isPolygonType()) { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
171 info.setType("POLYGON"); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
172 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
173 else { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
174 return; |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
175 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
176 info.setDirectory(uuid); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
177 info.setData(WSPLGEN_USER_SHAPE); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
178 info.setTitle("I18N_USER_SHAPE"); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
179 info.setGroup(group); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
180 info.setGroupTitle(groupTitle); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
181 info.setSrid(wms.getSrid()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
182 |
6833
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
183 //String nameUser = MS_LAYER_PREFIX + wms.getName(); |
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
184 // TODO: This rewrites the user-rgd mapfile fragment generated by |
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
185 // HWSBarrierState. Otherwise we would have to fragments with same |
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
186 // layer name. Should be refactored... |
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
187 String nameUser = MS_LAYER_PREFIX + "user-rgd"; |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
188 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
189 Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE); |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
190 if (tpl == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
191 log.warn("Template '" + SHP_LAYER_TEMPLATE + "' found."); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
192 return; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
193 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
194 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
195 try { |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
196 writeLayer(info, new File(dir, nameUser), tpl); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
197 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
198 catch (FileNotFoundException fnfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
199 log.error(fnfe, fnfe); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
200 log.warn("Unable to write layer: " + nameUser); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
201 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
202 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
203 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
204 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
205 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
206 /** |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
207 * Creates a layer file used for Mapserver's mapfile which represents |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
208 * geometries from database. |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
209 * |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
210 * @param flys The D4EArtifact that owns <i>wms</i>. |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
211 * @param wms The WMSLayerFacet that contains information for the layer. |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
212 */ |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
213 public void createDatabaseLayer( |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
214 D4EArtifact flys, |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
215 WMSDBLayerFacet wms, |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
216 String style |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
217 ) |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
218 throws FileNotFoundException, IOException |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
219 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
220 log.debug("createDatabaseLayer"); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
221 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
222 LayerInfo layerinfo = new LayerInfo(); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
223 layerinfo.setName(wms.getName() + "-" + flys.identifier()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
224 layerinfo.setType(wms.getGeometryType()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
225 layerinfo.setFilter(wms.getFilter()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
226 layerinfo.setData(wms.getData()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
227 layerinfo.setTitle(wms.getDescription()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
228 layerinfo.setStyle(style); |
8816
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
229 |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
230 Envelope env = wms.getExtent(); |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
231 if (env != null) { |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
232 if (env.getArea() <= 0) { |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
233 /* For MapServer min and max must not be equal. EXTENT has no |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
234 effect on Layerzoom, thus expand arbitrarily by 1. */ |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
235 env.expandBy(1d); |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
236 } |
f5e126739c36
min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents:
8746
diff
changeset
|
237 layerinfo.setExtent(GeometryUtils.jtsBoundsToOLBounds(env)); |
8746
e701ef544ffa
Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents:
8202
diff
changeset
|
238 } else { |
e701ef544ffa
Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents:
8202
diff
changeset
|
239 log.error("Layer without extent. Probably no geometry at all."); |
e701ef544ffa
Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents:
8202
diff
changeset
|
240 layerinfo.setExtent("0 0 1 1"); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
241 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
242 layerinfo.setConnection(wms.getConnection()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
243 layerinfo.setConnectionType(wms.getConnectionType()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
244 layerinfo.setLabelItem(wms.getLabelItem()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
245 layerinfo.setSrid(wms.getSrid()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
246 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
247 String name = MS_LAYER_PREFIX + wms.getName(); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
248 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
249 Template template = getTemplateByName(DB_LAYER_TEMPLATE); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
250 if (template == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
251 log.warn("Template '" + DB_LAYER_TEMPLATE + "' found."); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
252 return; |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
253 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
254 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
255 try { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
256 File dir = new File(getShapefileBaseDir(), flys.identifier()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
257 writeLayer(layerinfo, new File(dir, name), template); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
258 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
259 catch (FileNotFoundException fnfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
260 log.error(fnfe, fnfe); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
261 log.warn("Unable to write layer: " + name); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
262 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
263 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
264 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
265 @Override |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
266 protected String getMapfilePath() { |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
267 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_PATH); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
268 } |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
269 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
270 @Override |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
271 protected String getMapfileTemplate() { |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
272 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_TEMPLATE); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
273 } |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
274 } |