changeset 5550:220d12a41bfa

merged.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 04 Apr 2013 10:56:26 +0200
parents 38acd82feeac (current diff) 38713f32a785 (diff)
children 0e5c17c7cfc4
files flys-artifacts/doc/conf/meta-data.xml
diffstat 17 files changed, 161 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/flys-artifacts/doc/conf/artifacts/map.xml	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/doc/conf/artifacts/map.xml	Thu Apr 04 10:56:26 2013 +0200
@@ -26,6 +26,7 @@
                         <facet name="floodmap.hydr_boundaries_poly"/>
                         <facet name="floodmap.catchment"/>
                         <facet name="floodmap.floodplain"/>
+                        <facet name="floodmap.floodmarks"/>
                         <facet name="floodmap.lines"/>
                         <facet name="floodmap.buildings"/>
                         <facet name="floodmap.fixpoints"/>
--- a/flys-artifacts/doc/conf/artifacts/winfo.xml	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/doc/conf/artifacts/winfo.xml	Thu Apr 04 10:56:26 2013 +0200
@@ -563,6 +563,7 @@
                         <facet name="floodmap.lines"/>
                         <facet name="floodmap.buildings"/>
                         <facet name="floodmap.fixpoints"/>
+                        <facet name="floodmap.floodmarks"/>
                         <facet name="floodmap.floodmaps"/>
                         <facet name="floodmap.gauge_location"/>
                         <facet name="floodmap.externalwms"/>
--- a/flys-artifacts/doc/conf/conf.xml	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/doc/conf/conf.xml	Thu Apr 04 10:56:26 2013 +0200
@@ -54,6 +54,9 @@
             <artifact-factory name="wmsfixpointsfactory" description="Factory to create an artifact to be used in WINFO"
                 ttl="3600000"
                 artifact="de.intevation.flys.artifacts.WMSFixpointsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
+            <artifact-factory name="wmsfloodmarkfactory" description="Factory to create an artifact to be used in WINFO"
+                ttl="3600000"
+                artifact="de.intevation.flys.artifacts.WMSFloodmarksArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
             <artifact-factory name="wmsfloodmapsfactory" description="Factory to create an artifact to be used in WINFO"
                 ttl="3600000"
                 artifact="de.intevation.flys.artifacts.WMSFloodmapsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
--- a/flys-artifacts/doc/conf/meta-data.xml	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/doc/conf/meta-data.xml	Thu Apr 04 10:56:26 2013 +0200
@@ -1570,8 +1570,10 @@
           </dc:macro>
 
           <dc:macro name="flood-map-gaugelocations">
-            <dc:attribute name="factory" value="externalwmsfactory"/>
-            <dc:attribute name="ids" value="http://www.pegelonline.wsv.de/webservices/gis/wms;Pegelpunkte;Pegelonline-Pegelpunkte"/>
+            <gauge_points factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;Pegelpunkte;Pegelpunkte (WSV)"/>
+            <gauge_names factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;Pegelnamen;Pegelnamen (WSV)"/>
+            <gauge_level factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;Pegelwasserstand;Aktueller Wasserstand (WSV)"/>
+            <gauge_tendency factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;TendenzWasserstand;Tendenz des Wasserstands (WSV)"/>
           </dc:macro>
 
           <dc:macro name="flood-map-uesk">
@@ -1703,11 +1705,6 @@
             </dc:context>
           </dc:macro>
 
-          <dc:macro name="flood-map-catchments">
-            <dc:attribute name="factory" value="externalwmsfactory"/>
-            <dc:attribute name="ids" value="http://geoportal.bafg.de/wmsproxy/INSPIRE/DrainageBasin;HY.PHYSICALWATERS.CATCHMENTS;Einzugsgebiet"/>
-          </dc:macro>
-
           <dc:macro name="flood-map-routing">
             <qps>
               <dc:call-macro name="flood-map-qps"/>
@@ -1719,14 +1716,33 @@
             </axis>
           </dc:macro>
 
+          <dc:macro name="floodmarks">
+            <dc:context>
+              <dc:statement>
+                SELECT DISTINCT
+                coalesce(CAST (year AS VARCHAR(64)), 'Unbekanntes Jahr') as year
+                FROM flood_marks
+                WHERE river_id = ${river_id}
+              </dc:statement>
+              <dc:if test="dc:has-result()">
+                <floodmarks>
+                  <dc:for-each>
+                    <floodmark name="{$year}"
+                      factory="wmsfloodmarkfactory"
+                      ids="{$river_id};{$year};{$year}"/>
+                  </dc:for-each>
+                </floodmarks>
+              </dc:if>
+            </dc:context>
+          </dc:macro>
+
           <dc:macro name="flood-map-complete">
             <buildings>
               <dc:call-macro name="flood-map-buildings"/>
             </buildings>
-            <catchments>
-              <dc:call-macro name="flood-map-catchments"/>
-            </catchments>
-            <dc:comment><!-- TODO: HW-Marken --></dc:comment>
+            <catchments factory="externalwmsfactory"
+              ids="http://geoportal.bafg.de/wmsproxy/INSPIRE/DrainageBasin;HY.PHYSICALWATERS.CATCHMENTS;Einzugsgebiet"/>
+            <dc:call-macro name="floodmarks"/>
             <hws>
               <dc:call-macro name="hwslines"/>
               <dc:call-macro name="hwspoints"/>
@@ -1743,6 +1759,8 @@
               <dc:call-macro name="flood-map-gaugelocations"/>
             </gaugelocations>
             <background factory="wmsbackground" ids="{$river_id}"/>
+            <pegel_had_measurement_points factory="externalwmsfactory"
+              ids="http://geoportal.bafg.de/wmsproxy/HAD/HAD_31;0;HAD Abflussmessstellen"/>
           </dc:macro>
 
         </dc:if>
--- a/flys-artifacts/doc/conf/themes.xml	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/doc/conf/themes.xml	Thu Apr 04 10:56:26 2013 +0200
@@ -212,6 +212,7 @@
         <mapping from="floodmap.lines" to="FloodmapLines" />
         <mapping from="floodmap.buildings" to="Buildings" />
         <mapping from="floodmap.fixpoints" to="Fixpoints" />
+        <mapping from="floodmap.floodmarks" to="Floodmarks" />
         <mapping from="floodmap.floodmaps" to="Floodmaps" />
         <mapping from="floodmap.gauge_location" to="GaugeLocation" />
         <mapping from="floodmap.jetties" to="Jetties" />
--- a/flys-artifacts/doc/conf/themes/default/floodmap.xml	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/doc/conf/themes/default/floodmap.xml	Thu Apr 04 10:56:26 2013 +0200
@@ -59,15 +59,13 @@
         </inherits>
     </theme>
 
-
-    <theme name="GaugeLocation">
+    <theme name="Floodmarks">
         <inherits>
             <inherit from="MapLines" />
             <inherit from="Symbol" />
         </inherits>
     </theme>
 
-
     <theme name="Qps">
         <inherits>
             <inherit from="MapLines" />
--- a/flys-artifacts/doc/conf/themes/second/floodmap.xml	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/doc/conf/themes/second/floodmap.xml	Thu Apr 04 10:56:26 2013 +0200
@@ -21,6 +21,13 @@
         </inherits>
     </theme>
 
+    <theme name="Floodmarks">
+        <inherits>
+            <inherit from="MapLines" />
+            <inherit from="Symbol" />
+        </inherits>
+    </theme>
+
     <theme name="WSPLGEN">
         <inherits>
             <inherit from="Uesk" />
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java	Thu Apr 04 10:56:26 2013 +0200
@@ -171,6 +171,7 @@
     String FLOODMAP_LINES              = "floodmap.lines";
     String FLOODMAP_BUILDINGS          = "floodmap.buildings";
     String FLOODMAP_FIXPOINTS          = "floodmap.fixpoints";
+    String FLOODMAP_FLOODMARKS         = "floodmap.floodmarks";
     String FLOODMAP_FLOODMAPS          = "floodmap.floodmaps";
     String FLOODMAP_GAUGE_LOCATION     = "floodmap.gauge_location";
     String FLOODMAP_EXTERNAL_WMS       = "floodmap.externalwms";
--- a/flys-backend/contrib/run_geo.sh	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-backend/contrib/run_geo.sh	Thu Apr 04 10:56:26 2013 +0200
@@ -27,6 +27,7 @@
 SKIP_UESG=0
 SKIP_DGM=0
 SKIP_JETTIES=0
+SKIP_FLOODMARKS=0
 
 # There should be no need to change anything below this line
 
@@ -63,4 +64,5 @@
     --skip_hws_lines $SKIP_HWS_LINES \
     --skip_hws_points $SKIP_HWS_POINTS \
     --skip_dgm $SKIP_DGM \
-    --skip_jetties $SKIP_JETTIES
+    --skip_jetties $SKIP_JETTIES \
+    --skip_floodmarks $SKIP_FLOODMARKS
--- a/flys-backend/contrib/shpimporter/dgm.py	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-backend/contrib/shpimporter/dgm.py	Thu Apr 04 10:56:26 2013 +0200
@@ -1,4 +1,4 @@
-# -*- coding: utf-8 -*-
+# -*- coding: latin-1 -*-
 
 import codecs
 import utils
@@ -14,11 +14,11 @@
 # <dbfield> : (<csvfield>, conversion function)
 DGM_MAP = {
     "projection"      : "Projektion",
-    "elevation_state" : latin("Höhenstatus"),
+    "elevation_state" : latin("Höhenstatus"),
     "format"          : "Format",
     "border_break"    : ("Bruchkanten",
         lambda x: True if x.lower() == "Ja" else False),
-    "resolution"      : (latin("Auflösung"), lambda x: x),
+    "resolution"      : (latin("Auflösung"), lambda x: x),
 #   "description"     : 
     "srid"            : "SRID",
     "path"            : ("Pfad_Bestand", lambda x: x),
@@ -111,7 +111,7 @@
         for line in csvfile:
             fields = line.split(";")
             if not fields: continue
-            if fields[namedict[latin("Gewässer")]] != \
+            if fields[namedict[latin("Gewässer")]] != \
                     unicode(utils.getUTF8(river_name),'UTF-8'):
                 continue
             else:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-backend/contrib/shpimporter/floodmarks.py	Thu Apr 04 10:56:26 2013 +0200
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+try:
+    from osgeo import ogr
+except ImportError:
+    import ogr
+
+from importer import Importer
+import logging
+import os
+import re
+
+TABLE_NAME="flood_marks"
+PATH="Hydrologie/HW-Marken"
+NAME="Floodmarks"
+
+logger = logging.getLogger(NAME)
+
+BUILDING_KINDS= {
+        "sonstige" : 0,
+        "brücken"  : 1,
+        "wehre"    : 2,
+        "pegel"    : 3,
+        }
+
+class Floodmark(Importer):
+    fieldmap = {
+            "^station$"       : "km",
+            "^km$"            : "km",
+            "^wsv-km$"        : "km",
+            "^FlussKm$"       : "km",
+            "^z$"             : "z",
+            "^z\d*"           : "z", # z02, z1890, usw.
+            "^m+NHN$"         : "z",
+            "^Ort$"           : "location",
+            "^Pegel$"         : "location",
+        }
+
+    def getPath(self, base):
+        return "%s/%s" % (base, PATH)
+
+    def getTablename(self):
+        return TABLE_NAME
+
+    def getName(self):
+        return NAME
+
+    def isGeometryValid(self, geomType):
+        return geomType == ogr.wkbPoint
+
+    def isShapeRelevant(self, name, path):
+        return "hw-marken" in name.lower()
+
+    def createNewFeature(self, featureDef, feat, **args):
+        newFeat  = ogr.Feature(featureDef)
+        geometry = feat.GetGeometryRef()
+        geometry.SetCoordinateDimension(2)
+        newFeat.SetGeometry(geometry)
+
+        self.copyFields(feat, newFeat, self.fieldmap)
+
+        newFeat.SetField("river_id", self.river_id)
+
+        filename = os.path.basename(args['path'])
+
+        # Try to extract the year from the filename
+        match = re.search(r"([_\-])(\d\d\d\d)([_\-])", filename)
+        if match:
+            year = match.groups()[1]
+            year = int(year)
+            newFeat.SetField("year", year)
+        else:
+            logger.warn(u"Could not extract year from filename: %s " % filename)
+
+        return newFeat
+
--- a/flys-backend/contrib/shpimporter/shpimporter.py	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-backend/contrib/shpimporter/shpimporter.py	Thu Apr 04 10:56:26 2013 +0200
@@ -20,6 +20,7 @@
 from gauges import GaugeLocation
 from jetties import Jetties
 from dgm import insertRiverDgm
+from floodmarks import Floodmark
 
 logger = logging.getLogger("shpimporter")
 
@@ -48,6 +49,7 @@
         HWSPoints(river_id, dbconn, dry_run),
         GaugeLocation(river_id, dbconn, dry_run),
         Jetties(river_id, dbconn, dry_run),
+        Floodmark(river_id, dbconn, dry_run),
         UESG(river_id, dbconn, dry_run)
         ]
 
@@ -76,6 +78,7 @@
     parser.add_option("--skip_uesgs", type="int")
     parser.add_option("--skip_dgm", type="int")
     parser.add_option("--skip_jetties", type="int")
+    parser.add_option("--skip_floodmarks", type="int")
     (config, args) = parser.parse_args()
 
     if config.verbose > 1:
@@ -130,6 +133,8 @@
         return True
     elif config.skip_uesgs == 1 and isinstance(importer, UESG):
         return True
+    elif config.skip_floodmarks == 1 and isinstance(importer, Floodmark):
+        return True
 
     return False
 
--- a/flys-backend/doc/documentation/de/importer-geodaesie.tex	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-backend/doc/documentation/de/importer-geodaesie.tex	Thu Apr 04 10:56:26 2013 +0200
@@ -269,6 +269,9 @@
 \textbf{SKIP\_JETTIES}
 \\Bei gesetztem Wert `1` werden keine Informationen über Buhnen importiert.
 
+\textbf{SKIP\_FLOODMARKS}
+\\Bei gesetztem Wert `1` werden keine Informationen über HW-Marken importiert.
+
 \subsection{Starten des Geodaten Importers}
 \label{Starten des Geodaten Importers}
 Der Geodaten Importer wird mittels eines Shellskripts von einer Konsole
--- a/flys-backend/src/main/java/de/intevation/flys/backend/FLYSCredentials.java	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-backend/src/main/java/de/intevation/flys/backend/FLYSCredentials.java	Thu Apr 04 10:56:26 2013 +0200
@@ -28,6 +28,7 @@
 import de.intevation.flys.model.FedState;
 import de.intevation.flys.model.Fixpoint;
 import de.intevation.flys.model.Floodmaps;
+import de.intevation.flys.model.Floodmark;
 import de.intevation.flys.model.Floodplain;
 import de.intevation.flys.model.FloodplainKind;
 import de.intevation.flys.model.FlowVelocityMeasurement;
@@ -148,6 +149,7 @@
         ElevationModel.class,
         FedState.class,
         Fixpoint.class,
+        Floodmark.class,
         Floodplain.class,
         FloodplainKind.class,
         Floodmaps.class,
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java	Thu Apr 04 10:56:26 2013 +0200
@@ -1186,5 +1186,17 @@
 
     String measurements();
 
+    String floodmarks();
+
+    String pegel_had_measurement_points();
+
+    String gauge_points();
+
+    String gauge_names();
+
+    String gauge_level();
+
+    String gauge_tendency();
+
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties	Thu Apr 04 10:56:26 2013 +0200
@@ -472,6 +472,13 @@
 sobek_flooded = SOBEK-Boundary flooded / not flooded
 sobek_areas = SOBEK-Areas
 measurements = Measurements
+floodmarks = Flood Marks
+pegel_had_measurement_points = HAD Discharge-Measurement points
+# No translation for the pegelonline wms service layer names.
+gauge_points = Pegelpunkte (WSV)
+gauge_level = Aktueller Wasserstand (WSV)
+gauge_names = Pegelnamen (WSV)
+gauge_tendency = Tendenz des Wasserstands (WSV)
 
 startcolor = Colorrange start color
 endcolor = Colorrange end color
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties	Thu Apr 04 10:55:46 2013 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties	Thu Apr 04 10:56:26 2013 +0200
@@ -473,6 +473,12 @@
 sobek_flooded = SOBEK-Grenzlinie durchflutet / nicht durchflutet
 sobek_areas = SOBEK-Bereiche
 measurements = Messungen
+floodmarks = HW-Marken
+pegel_had_measurement_points = HAD Abflussmessstellen
+gauge_points = Pegelpunkte (WSV)
+gauge_level = Aktueller Wasserstand (WSV)
+gauge_names = Pegelnamen (WSV)
+gauge_tendency = Tendenz des Wasserstands (WSV)
 
 startcolor = Farbverlauf Startfarbe
 endcolor = Farbverlauf Endfarbe

http://dive4elements.wald.intevation.org