Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/FloodMapState.java @ 6710:ffc9cb39cea7
Remove duplicate code for mapfile generation. ID problem still not fixed (#657).
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Tue, 30 Jul 2013 16:09:40 +0200 |
parents | 36dc11244ec3 |
children | 93e7f947f6fa |
comparison
equal
deleted
inserted
replaced
6709:fe496c477173 | 6710:ffc9cb39cea7 |
---|---|
6 * documentation coming with Dive4Elements River for details. | 6 * documentation coming with Dive4Elements River for details. |
7 */ | 7 */ |
8 | 8 |
9 package org.dive4elements.river.artifacts.states; | 9 package org.dive4elements.river.artifacts.states; |
10 | 10 |
11 import com.vividsolutions.jts.geom.Coordinate; | |
12 import com.vividsolutions.jts.geom.Geometry; | |
13 import com.vividsolutions.jts.geom.LineString; | |
14 import com.vividsolutions.jts.geom.Polygon; | |
15 | |
11 import java.io.File; | 16 import java.io.File; |
12 import java.io.FileNotFoundException; | 17 import java.io.FileNotFoundException; |
13 import java.io.FileOutputStream; | 18 import java.io.FileOutputStream; |
14 import java.io.IOException; | 19 import java.io.IOException; |
15 | |
16 import java.util.ArrayList; | 20 import java.util.ArrayList; |
17 import java.util.Arrays; | 21 import java.util.Arrays; |
18 import java.util.List; | 22 import java.util.List; |
19 | 23 |
20 import org.apache.log4j.Logger; | 24 import org.apache.log4j.Logger; |
21 | |
22 import org.apache.velocity.Template; | 25 import org.apache.velocity.Template; |
23 | |
24 import org.geotools.feature.FeatureCollection; | |
25 import org.geotools.feature.FeatureCollections; | |
26 | |
27 import org.geotools.feature.simple.SimpleFeatureBuilder; | |
28 | |
29 import org.hibernate.HibernateException; | |
30 | |
31 import org.opengis.feature.simple.SimpleFeature; | |
32 import org.opengis.feature.simple.SimpleFeatureType; | |
33 | |
34 import com.vividsolutions.jts.geom.Coordinate; | |
35 import com.vividsolutions.jts.geom.Geometry; | |
36 import com.vividsolutions.jts.geom.LineString; | |
37 import com.vividsolutions.jts.geom.Polygon; | |
38 | |
39 import org.dive4elements.artifactdatabase.state.Facet; | 26 import org.dive4elements.artifactdatabase.state.Facet; |
40 | |
41 import org.dive4elements.artifacts.Artifact; | 27 import org.dive4elements.artifacts.Artifact; |
42 import org.dive4elements.artifacts.CallContext; | 28 import org.dive4elements.artifacts.CallContext; |
43 import org.dive4elements.artifacts.CallMeta; | 29 import org.dive4elements.artifacts.CallMeta; |
44 import org.dive4elements.artifacts.GlobalContext; | 30 import org.dive4elements.artifacts.GlobalContext; |
45 | |
46 import org.dive4elements.artifacts.common.utils.FileTools; | 31 import org.dive4elements.artifacts.common.utils.FileTools; |
47 | |
48 import org.dive4elements.river.artifacts.D4EArtifact; | 32 import org.dive4elements.river.artifacts.D4EArtifact; |
49 | |
50 import org.dive4elements.river.artifacts.access.RangeAccess; | 33 import org.dive4elements.river.artifacts.access.RangeAccess; |
51 | |
52 import org.dive4elements.river.artifacts.context.RiverContext; | 34 import org.dive4elements.river.artifacts.context.RiverContext; |
53 | |
54 import org.dive4elements.river.artifacts.model.CalculationMessage; | 35 import org.dive4elements.river.artifacts.model.CalculationMessage; |
55 import org.dive4elements.river.artifacts.model.CalculationResult; | 36 import org.dive4elements.river.artifacts.model.CalculationResult; |
56 import org.dive4elements.river.artifacts.model.FacetTypes; | 37 import org.dive4elements.river.artifacts.model.FacetTypes; |
57 import org.dive4elements.river.artifacts.model.LayerInfo; | 38 import org.dive4elements.river.artifacts.model.LayerInfo; |
58 import org.dive4elements.river.artifacts.model.WQKms; | 39 import org.dive4elements.river.artifacts.model.WQKms; |
59 | |
60 import org.dive4elements.river.artifacts.model.map.HWS; | 40 import org.dive4elements.river.artifacts.model.map.HWS; |
61 import org.dive4elements.river.artifacts.model.map.HWSContainer; | 41 import org.dive4elements.river.artifacts.model.map.HWSContainer; |
62 import org.dive4elements.river.artifacts.model.map.HWSFactory; | 42 import org.dive4elements.river.artifacts.model.map.HWSFactory; |
63 import org.dive4elements.river.artifacts.model.map.WMSLayerFacet; | 43 import org.dive4elements.river.artifacts.model.map.WMSLayerFacet; |
64 import org.dive4elements.river.artifacts.model.map.WSPLGENCalculation; | 44 import org.dive4elements.river.artifacts.model.map.WSPLGENCalculation; |
65 import org.dive4elements.river.artifacts.model.map.WSPLGENJob; | 45 import org.dive4elements.river.artifacts.model.map.WSPLGENJob; |
66 import org.dive4elements.river.artifacts.model.map.WSPLGENReportFacet; | 46 import org.dive4elements.river.artifacts.model.map.WSPLGENReportFacet; |
67 | |
68 import org.dive4elements.river.artifacts.resources.Resources; | 47 import org.dive4elements.river.artifacts.resources.Resources; |
69 | |
70 import org.dive4elements.river.exports.WstWriter; | 48 import org.dive4elements.river.exports.WstWriter; |
71 | |
72 import org.dive4elements.river.model.CrossSectionTrack; | 49 import org.dive4elements.river.model.CrossSectionTrack; |
73 import org.dive4elements.river.model.DGM; | 50 import org.dive4elements.river.model.DGM; |
74 import org.dive4elements.river.model.Floodplain; | 51 import org.dive4elements.river.model.Floodplain; |
75 import org.dive4elements.river.model.RiverAxis; | 52 import org.dive4elements.river.model.RiverAxis; |
76 | |
77 import org.dive4elements.river.utils.ArtifactMapfileGenerator; | 53 import org.dive4elements.river.utils.ArtifactMapfileGenerator; |
78 import org.dive4elements.river.utils.RiverUtils; | |
79 import org.dive4elements.river.utils.GeometryUtils; | 54 import org.dive4elements.river.utils.GeometryUtils; |
80 import org.dive4elements.river.utils.MapfileGenerator; | 55 import org.dive4elements.river.utils.MapfileGenerator; |
81 | 56 import org.dive4elements.river.utils.RiverUtils; |
82 import org.dive4elements.river.wsplgen.FacetCreator; | 57 import org.dive4elements.river.wsplgen.FacetCreator; |
83 import org.dive4elements.river.wsplgen.JobObserver; | 58 import org.dive4elements.river.wsplgen.JobObserver; |
84 import org.dive4elements.river.wsplgen.Scheduler; | 59 import org.dive4elements.river.wsplgen.Scheduler; |
60 import org.geotools.feature.FeatureCollection; | |
61 import org.geotools.feature.FeatureCollections; | |
62 import org.geotools.feature.simple.SimpleFeatureBuilder; | |
63 import org.hibernate.HibernateException; | |
64 import org.opengis.feature.simple.SimpleFeature; | |
65 import org.opengis.feature.simple.SimpleFeatureType; | |
85 | 66 |
86 public class FloodMapState | 67 public class FloodMapState |
87 extends DefaultState | 68 extends DefaultState |
88 implements FacetTypes | 69 implements FacetTypes |
89 { | 70 { |
107 public static final String WSPLGEN_AXIS = "axis.shp"; | 88 public static final String WSPLGEN_AXIS = "axis.shp"; |
108 public static final String WSPLGEN_QPS = "qps.shp"; | 89 public static final String WSPLGEN_QPS = "qps.shp"; |
109 public static final String WSPLGEN_FLOODPLAIN = "talaue.shp"; | 90 public static final String WSPLGEN_FLOODPLAIN = "talaue.shp"; |
110 public static final String WSPLGEN_WSP_FILE = "waterlevel.wst"; | 91 public static final String WSPLGEN_WSP_FILE = "waterlevel.wst"; |
111 public static final String WSPLGEN_OUTPUT_FILE = "wsplgen.shp"; | 92 public static final String WSPLGEN_OUTPUT_FILE = "wsplgen.shp"; |
112 public static final String WSPLGEN_USER_SHAPE = "user-rgd.shp"; | 93 public static final String WSPLGEN_USER_RGD_SHAPE = "user-rgd.shp"; |
113 public static final String WSPLGEN_USER_ZIP = "user-rgd.zip"; | 94 public static final String WSPLGEN_USER_RGD_ZIP = "user-rgd.zip"; |
114 public static final String WSPLGEN_USER_FILENAME = "user-rgd"; | 95 public static final String WSPLGEN_USER_RGD = "user-rgd"; |
115 | 96 |
116 public static final String WSPLGEN_QPS_NAME = "qps"; | 97 public static final String WSPLGEN_QPS_NAME = "qps"; |
117 | 98 |
118 public static final int WSPLGEN_DEFAULT_OUTPUT = 0; | 99 public static final int WSPLGEN_DEFAULT_OUTPUT = 0; |
119 | 100 |
426 } | 407 } |
427 if (successLines) { | 408 if (successLines) { |
428 createMapfile( | 409 createMapfile( |
429 artifact, | 410 artifact, |
430 artifactDir, | 411 artifactDir, |
431 MapfileGenerator.MS_LAYER_PREFIX + "hws-lines", | 412 MapfileGenerator.MS_LAYER_PREFIX + HWS_LINES, |
432 HWS_LINES_SHAPE, | 413 HWS_LINES_SHAPE, |
433 "LINE", | 414 "LINE", |
434 "31467", | 415 "31467", |
435 "hws"); | 416 "hws"); |
436 job.addLin(artifactDir + "/" + HWS_LINES_SHAPE); | 417 job.addLin(artifactDir + "/" + HWS_LINES_SHAPE); |
439 FLOODMAP_HWS_LINES,2); | 420 FLOODMAP_HWS_LINES,2); |
440 } | 421 } |
441 } | 422 } |
442 | 423 |
443 | 424 |
444 private void createMapfile( | 425 public static void createMapfile( |
445 D4EArtifact artifact, | 426 D4EArtifact artifact, |
446 File artifactDir, | 427 File artifactDir, |
447 String name, | 428 String name, |
448 String hwsShapefile, | 429 String hwsShapefile, |
449 String type, | 430 String type, |
648 D4EArtifact artifact, | 629 D4EArtifact artifact, |
649 FacetCreator facetCreator, | 630 FacetCreator facetCreator, |
650 File dir, | 631 File dir, |
651 WSPLGENJob job | 632 WSPLGENJob job |
652 ) { | 633 ) { |
653 File archive = new File(dir, WSPLGEN_USER_SHAPE); | 634 File archive = new File(dir, WSPLGEN_USER_RGD_SHAPE); |
654 boolean exists = archive.exists(); | 635 boolean exists = archive.exists(); |
655 logger.debug("shp file exists: " + exists); | 636 logger.debug("shp file exists: " + exists); |
656 if (exists) { | 637 if (exists) { |
657 job.addLin(dir + "/" + WSPLGEN_USER_SHAPE); | 638 job.addLin(dir + "/" + WSPLGEN_USER_RGD_SHAPE); |
658 facetCreator.createShapeFacet(FacetCreator.I18N_USERSHAPE, | 639 facetCreator.createShapeFacet(FacetCreator.I18N_USERSHAPE, |
659 MapfileGenerator.MS_LAYER_PREFIX + "user-rgd", | 640 MapfileGenerator.MS_LAYER_PREFIX + WSPLGEN_USER_RGD, |
660 FLOODMAP_USERSHAPE, | 641 FLOODMAP_USERSHAPE, |
661 4); | 642 4); |
662 } | 643 } |
663 } | 644 } |
664 | 645 |