Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java @ 9559:ba0561906f81
Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
author | gernotbelger |
---|---|
date | Wed, 24 Oct 2018 18:40:38 +0200 |
parents | 709a73badd48 |
children |
comparison
equal
deleted
inserted
replaced
9558:709a73badd48 | 9559:ba0561906f81 |
---|---|
14 import org.dive4elements.artifacts.CallContext; | 14 import org.dive4elements.artifacts.CallContext; |
15 import org.dive4elements.river.artifacts.model.Calculation; | 15 import org.dive4elements.river.artifacts.model.Calculation; |
16 import org.dive4elements.river.artifacts.model.CalculationResult; | 16 import org.dive4elements.river.artifacts.model.CalculationResult; |
17 import org.dive4elements.river.artifacts.sinfo.tkhstate.TsvHelper.TsvReaderException; | 17 import org.dive4elements.river.artifacts.sinfo.tkhstate.TsvHelper.TsvReaderException; |
18 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; | 18 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; |
19 import org.dive4elements.river.artifacts.uinfo.inundationduration.InundationDurationAccess.WmsClassification; | |
20 import org.dive4elements.river.artifacts.uinfo.inundationduration.InundationDurationCalculationResult.WmsLayer; | 19 import org.dive4elements.river.artifacts.uinfo.inundationduration.InundationDurationCalculationResult.WmsLayer; |
20 import org.dive4elements.river.artifacts.uinfo.inundationduration.UedauernConfiguration.YearType; | |
21 | 21 |
22 /** | 22 /** |
23 * @author Domenico Nardi Tironi | 23 * @author Domenico Nardi Tironi |
24 * | 24 * |
25 */ | 25 */ |
40 // VegetationZones have been removed - these two lines should be deleted | 40 // VegetationZones have been removed - these two lines should be deleted |
41 // final String zonesRaw = indurax.getVegZones(); | 41 // final String zonesRaw = indurax.getVegZones(); |
42 // final List<VegetationZoneServerClientXChange> zones = VegetationZoneServerClientXChange.parse(zonesRaw); | 42 // final List<VegetationZoneServerClientXChange> zones = VegetationZoneServerClientXChange.parse(zonesRaw); |
43 // FIXME: instead find out a-uuid of referenced vegetations | 43 // FIXME: instead find out a-uuid of referenced vegetations |
44 // FIXME: | 44 // FIXME: |
45 final String vegZoneId = "unknown"; | 45 // final String vegZoneId = "unknown"; |
46 | 46 |
47 final boolean isUseScenario = indurax.getIsUseScenario(); | 47 final boolean isUseScenario = indurax.getIsUseScenario(); |
48 | 48 |
49 final InundationDurationCalculationResult result = new InundationDurationCalculationResult(); | 49 final InundationDurationCalculationResult result = new InundationDurationCalculationResult(); |
50 | 50 |
51 final WmsLayer inundationDurationLayer = indurax.createWMSLayer(this.context, "uinfo.export.url.inundationduration.inundationduration", | 51 final String selectedItem = indurax.getSelectedLabel(); |
52 WmsClassification.asIs, vegZoneId); | 52 final YearType type = indurax.isUseYear() ? YearType.jahre : YearType.mittel; |
53 result.addLayer(inundationDurationLayer); | 53 final UedauernConfiguration config = UedauernConfiguration.getInstance(indurax.getRiverName(), type); |
54 | 54 |
55 final WmsLayer vegetationLayer = indurax.createWMSLayer(this.context, "uinfo.export.url.inundationduration.vegetation", | 55 addLayer(indurax, "uinfo.export.url.inundationduration.inundationduration", selectedItem, config.getDefaultWmsConfig(selectedItem), result, true); |
56 WmsClassification.vegetationZone, vegZoneId); | 56 addLayer(indurax, "uinfo.export.url.inundationduration.vegetation", selectedItem, config.getVegWmsConfig(selectedItem), result, false); |
57 result.addLayer(vegetationLayer); | |
58 | 57 |
59 if (isUseScenario) { | 58 if (isUseScenario) { |
60 // TODO: wieder einkommentieren, sobald die URL-Definition für Szenarien geklärt ist (und hoffentlich analog zu "mittel" | 59 |
61 // und "jahre" funktioniert) | 60 final UedauernConfiguration configSzenario = UedauernConfiguration.getInstance(indurax.getRiverName(), YearType.szenario); |
62 // final WmsLayer scenarioInundationDurationLayer = indurax.createScenarioWMSLayer(this.context.getMeta(), | 61 |
63 // "uinfo.export.url.inundationduration.scenario"); | 62 final String selectedScenario = indurax.getSelectedSzenario(); |
64 // result.addLayer(scenarioInundationDurationLayer); | 63 |
65 // | 64 addLayer(indurax, "uinfo.export.url.inundationduration.scenario", selectedScenario, configSzenario.getDefaultWmsConfig(selectedScenario), |
65 result, true); | |
66 | |
67 addLayer(indurax, "uinfo.export.url.inundationduration.vegetation_scenario", selectedScenario, configSzenario.getVegWmsConfig(selectedScenario), | |
68 result, false); | |
69 | |
66 // // TODO: add vegetationzone-values as styles to layer | 70 // // TODO: add vegetationzone-values as styles to layer |
67 // final WmsLayer scenarioVegetationLayer = indurax.createScenarioWMSLayer(this.context.getMeta(), | 71 // final WmsLayer scenarioVegetationLayer = indurax.createScenarioWMSLayer(this.context.getMeta(), |
68 // "uinfo.export.url.inundationduration.vegetation_scenario"); | 72 // "uinfo.export.url.inundationduration.vegetation_scenario"); |
69 // result.addLayer(scenarioVegetationLayer); | 73 // result.addLayer(scenarioVegetationLayer); |
70 } | 74 } |
75 e.printStackTrace(); | 79 e.printStackTrace(); |
76 problems.addProblem("Invalid server configuration: " + e.getLocalizedMessage()); | 80 problems.addProblem("Invalid server configuration: " + e.getLocalizedMessage()); |
77 return new CalculationResult(null, problems); | 81 return new CalculationResult(null, problems); |
78 } | 82 } |
79 } | 83 } |
84 | |
85 private void addLayer(final InundationDurationAccess indurax, final String label, final String selectedItem, final UedauernConfiguration.WmsConfig config, | |
86 final InundationDurationCalculationResult result, final boolean show) throws IOException, TsvReaderException { | |
87 if (config != null) { | |
88 final WmsLayer layer = indurax.createWMSLayer(this.context, label, selectedItem, config, show); | |
89 if (layer != null) | |
90 result.addLayer(layer); | |
91 } | |
92 } | |
80 } | 93 } |