# HG changeset patch # User dnt_bjoernsen # Date 1570716527 -7200 # Node ID 63bbd5e458390a18fbfa86466d51b3f0a4693428 # Parent af671ee7835e63892073ce6b703c9ca22997880c #21 WMS Legend diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_jahre_Beispielfluss.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_jahre_Beispielfluss.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_jahre_Beispielfluss.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,40 +1,40 @@ -# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! - -# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. +# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! + +# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. -# Änderungen werden erst nach einem Neustart des Servers wirksam. +# Änderungen werden erst nach einem Neustart des Servers wirksam. -1990 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1991 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1992 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1993 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1994 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1995 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1996 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1997 7 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1998 8 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer -1999 9 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer - -2000 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2001 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2002 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2003 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2004 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2005 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2006 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2007 7 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2008 8 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer -2009 9 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer - -2010 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer -2011 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer -2012 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer -2013 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer -2014 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer -2015 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer -2016 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer \ No newline at end of file +1990 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1991 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1992 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1993 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1994 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1995 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1996 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1997 7 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1998 8 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png +1999 9 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer Legende_UEFD.png + +2000 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2001 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2002 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2003 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2004 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2005 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2006 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2007 7 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2008 8 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png +2009 9 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2000_2009/MapServer/WMSServer Legende_UEFD.png + +2010 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer Legende_UEFD.png +2011 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer Legende_UEFD.png +2012 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer Legende_UEFD.png +2013 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer Legende_UEFD.png +2014 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer Legende_UEFD.png +2015 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer Legende_UEFD.png +2016 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_2010_2019/MapServer/WMSServer Legende_UEFD.png \ No newline at end of file diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_jahre_Elbe.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_jahre_Elbe.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_jahre_Elbe.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,13 +1,13 @@ -# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! - -# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. +# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! + +# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. -# Änderungen werden erst nach einem Neustart des Servers wirksam. +# Änderungen werden erst nach einem Neustart des Servers wirksam. 1990 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer 1991 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_1990_1999/MapServer/WMSServer diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_jahre_Rhein.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_jahre_Rhein.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_jahre_Rhein.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,11 +1,11 @@ -# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! - -# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. +# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! + +# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. # Änderungen werden erst nach einem Neustart des Servers wirksam. diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_mittel_Beispielfluss.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_mittel_Beispielfluss.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_mittel_Beispielfluss.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,16 +1,16 @@ -# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_mittel_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! - -# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. +# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! + +# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. # Änderungen werden erst nach einem Neustart des Servers wirksam. - -Mittelwert (1990-2016) 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Median (1990-2016) 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 7 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Minimum (1990-2016) 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 8 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Maximum (1990-2016) 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Standardabweichung (1990-2016) 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer \ No newline at end of file + +Mittelwert (1990-2016) Flut3_Mean_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_UEFD.png Flut3_Mean_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_Standardvegetationszonen.png +Median (1990-2016) Flut3_Median_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_UEFD.png Flut3_Median_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_Standardvegetationszonen.png +Minimum (1990-2016) Flut3_Min_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_UEFD.png Flut3_Min_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_Standardvegetationszonen.png +Maximum (1990-2016) Flut3_Max_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_UEFD.png Flut3_Max_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_Standardvegetationszonen.png +Standardabweichung (1990-2016) Flut3_STD_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Legende_UEFD.png \ No newline at end of file diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_mittel_Elbe.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_mittel_Elbe.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_mittel_Elbe.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,16 +1,16 @@ -# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_mittel_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! - -# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. +# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! + +# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. -# Änderungen werden erst nach einem Neustart des Servers wirksam. +# Änderungen werden erst nach einem Neustart des Servers wirksam. -Mittelwert (1990-2016) 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Median (1990-2016) 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 7 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Minimum (1990-2016) 3 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 8 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Maximum (1990-2016) 0 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer 5 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer -Standardabweichung (1990-2016) 4 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016/MapServer/WMSServer \ No newline at end of file +Mittelwert (1990-2016) Flut3_Mean_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Flut3_Mean_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer +Median (1990-2016) Flut3_Median_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Flut3_Median_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer +Minimum (1990-2016) Flut3_Min_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Flut3_Min_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer +Maximum (1990-2016) Flut3_Max_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer Flut3_Max_1990_2016_VegZ https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer +Standardabweichung (1990-2016) Flut3_STD_1990_2016 https://geoportal.bafg.de/arcgis3/services/Flut3/Elbe_Statistik_1990_2016_named/MapServer/WmsServer \ No newline at end of file diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_mittel_Rhein.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_mittel_Rhein.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_mittel_Rhein.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,13 +1,13 @@ -# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_mittel_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! - -# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. +# Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! + +# Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. -# Änderungen werden erst nach einem Neustart des Servers wirksam. +# Änderungen werden erst nach einem Neustart des Servers wirksam. Mittelwert (1990-2016) 1 https://geoportal.bafg.de/arcgis3/services/Flut3/Rhein_Statistik_1990_2016/MapServer/WMSServer 6 https://geoportal.bafg.de/arcgis3/services/Flut3/Rhein_Statistik_1990_2016/MapServer/WMSServer Median (1990-2016) 2 https://geoportal.bafg.de/arcgis3/services/Flut3/Rhein_Statistik_1990_2016/MapServer/WMSServer 7 https://geoportal.bafg.de/arcgis3/services/Flut3/Rhein_Statistik_1990_2016/MapServer/WMSServer diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_szenario_Beispielfluss.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_szenario_Beispielfluss.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_szenario_Beispielfluss.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,51 +1,51 @@ # Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! # Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# - -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. - -# Änderungen werden erst nach einem Neustart des Servers wirksam. +# --200 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --190 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --180 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --170 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --160 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --150 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --140 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --130 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --120 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --110 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer --100 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --90 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --80 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --70 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --60 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --50 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --40 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --30 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --20 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer --10 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer -10 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -20 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -30 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -40 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -50 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -60 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -70 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -80 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -90 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -100 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer -110 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -120 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -130 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -140 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -150 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -160 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -170 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -180 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -190 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer -200 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer \ No newline at end of file +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. + +# Änderungen werden erst nach einem Neustart des Servers wirksam. + +-200 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-190 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-180 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-170 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-160 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-150 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-140 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-130 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-120 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-110 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer Legende_UEFD.png +-100 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-90 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-80 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-70 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-60 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-50 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-40 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-30 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-20 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +-10 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m010100/MapServer/WMSServer Legende_UEFD.png +10 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +20 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +30 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +40 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +50 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +60 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +70 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +80 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +90 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +100 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p110200/MapServer/WMSServer Legende_UEFD.png +110 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +120 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +130 7 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +140 6 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +150 5 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +160 4 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +170 3 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +180 2 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +190 1 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png +200 0 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_p010100/MapServer/WMSServer Legende_UEFD.png \ No newline at end of file diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_szenario_Elbe.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_szenario_Elbe.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_szenario_Elbe.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,13 +1,13 @@ # Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! # Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. -# Änderungen werden erst nach einem Neustart des Servers wirksam. +# Änderungen werden erst nach einem Neustart des Servers wirksam. -200 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer -190 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Elbe_m110200/MapServer/WMSServer diff -r af671ee7835e -r 63bbd5e45839 artifacts/doc/conf/modules/wms_uedauern_szenario_Rhein.tsv --- a/artifacts/doc/conf/modules/wms_uedauern_szenario_Rhein.tsv Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/doc/conf/modules/wms_uedauern_szenario_Rhein.tsv Thu Oct 10 16:08:47 2019 +0200 @@ -1,13 +1,13 @@ # Konfigurationsdatei für die in der Berechnungsart UINFO-Überflutungsdauern auszugebenden URLs -# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschriebung beim Gewässernamen ist zu beachten! +# Je Gewässer ist zwingend eine Datei mit Namen 'wms_uedauern_jahre_.tsv' anzulegen. Groß-/Kleinschreibung beim Gewässernamen ist zu beachten! # Die Datei definiert für beliebig viele Layer individuell konfigurierbare Bezeichnungen und URLs. # Für jede Auswahlmöglichkeit ist eine Zeile folgender Form anzulegen: -# +# -# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer ist dabei optional. +# Die Angabe einer Vegetationszonen-URL mit dazugehöriger Vegetationszonen-Layer-Nummer und Legendengrafik ist dabei optional. -# Änderungen werden erst nach einem Neustart des Servers wirksam. +# Änderungen werden erst nach einem Neustart des Servers wirksam. -200 9 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Rhein_m110200/MapServer/WMSServer -190 8 https://geoportal.bafg.de/arcgis3/services/Flut3/UFD_Salix231_Rhein_m110200/MapServer/WMSServer diff -r af671ee7835e -r 63bbd5e45839 artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WMSLayerFacet.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WMSLayerFacet.java Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WMSLayerFacet.java Thu Oct 10 16:08:47 2019 +0200 @@ -8,8 +8,10 @@ package org.dive4elements.river.artifacts.model.map; -import com.vividsolutions.jts.geom.Envelope; +import java.util.ArrayList; +import java.util.List; +import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.DefaultFacet; import org.dive4elements.artifactdatabase.state.Facet; import org.dive4elements.artifacts.Artifact; @@ -18,183 +20,157 @@ import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; import org.dive4elements.river.utils.GeometryUtils; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; +import com.vividsolutions.jts.geom.Envelope; -public class WMSLayerFacet -extends DefaultFacet -{ - protected ComputeType type; +public class WMSLayerFacet extends DefaultFacet { + private static final long serialVersionUID = 1L; + protected ComputeType type; protected List layers; - protected String stateId; - protected String hash; - protected String url; - protected Envelope extent; - protected Envelope originalExtent; - protected String srid; - + protected String stateId; + protected String hash; + protected String url; + protected Envelope extent; + protected Envelope originalExtent; + protected String srid; + private String legend; + private String imagepath; private static final Logger log = Logger.getLogger(WMSLayerFacet.class); public WMSLayerFacet() { } - - public WMSLayerFacet(int index, String name, String description) { + public WMSLayerFacet(final int index, final String name, final String description) { this(index, name, description, ComputeType.FEED, null, null); } - - public WMSLayerFacet( - int index, - String name, - String description, - ComputeType type, - String stateId, - String hash + public WMSLayerFacet(final int index, final String name, final String description, final ComputeType type, final String stateId, final String hash ) { super(index, name, description); - this.layers = new ArrayList(); - this.type = type; + this.layers = new ArrayList<>(); + this.type = type; this.stateId = stateId; - this.hash = hash; + this.hash = hash; } - - public WMSLayerFacet( - int index, - String name, - String description, - ComputeType type, - String stateId, - String hash, - String url - ) { + public WMSLayerFacet(final int index, final String name, final String description, final ComputeType type, final String stateId, final String hash, + final String url) { this(index, name, description, type, stateId, hash); this.url = url; } - - public void addLayer(String name) { + public void addLayer(final String name) { if (name != null && name.length() > 0) { - layers.add(name); + this.layers.add(name); } } - public List getLayers() { - return layers; + return this.layers; } - - public void removeLayer(String layer) { - if (layers != null) { - layers.remove(layer); + public void removeLayer(final String layer) { + if (this.layers != null) { + this.layers.remove(layer); } } - - public void setExtent(Envelope extent) { + public void setExtent(final Envelope extent) { if (extent != null) { this.extent = extent; - } - else { + } else { log.debug("setExtent(): extent is null"); } } - public Envelope getExtent() { - return extent; + return this.extent; } - - public void setOriginalExtent(Envelope originalExtent) { + public void setOriginalExtent(final Envelope originalExtent) { this.originalExtent = originalExtent; } - public Envelope getOriginalExtent() { - return originalExtent; + return this.originalExtent; } - - public void setSrid(String srid) { + public void setSrid(final String srid) { if (srid != null) { this.srid = srid; } } - public String getSrid() { - return srid; + return this.srid; } - @Override - public Object getData(Artifact artifact, CallContext context) { + public Object getData(final Artifact artifact, final CallContext context) { return null; } - @Override - public Node toXML(Document doc) { - ElementCreator ec = new ElementCreator( - doc, - ArtifactNamespaceContext.NAMESPACE_URI, - ArtifactNamespaceContext.NAMESPACE_PREFIX); + public Node toXML(final Document doc) { + final ElementCreator ec = new ElementCreator(doc, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX); - Element facet = ec.create("facet"); - ec.addAttr(facet, "description", description, true); - ec.addAttr(facet, "index", String.valueOf(index), true); - ec.addAttr(facet, "name", name, true); - ec.addAttr(facet, "url", url, true); - ec.addAttr(facet, "layers", layers.get(0), true); - ec.addAttr(facet, "srid", srid != null ? srid : "", true); - ec.addAttr(facet, "extent", originalExtent != null - ? GeometryUtils.jtsBoundsToOLBounds(originalExtent) - : "", true); + final Element facet = ec.create("facet"); + ec.addAttr(facet, "description", this.description, true); + ec.addAttr(facet, "index", String.valueOf(this.index), true); + ec.addAttr(facet, "name", this.name, true); + ec.addAttr(facet, "url", this.url, true); + ec.addAttr(facet, "layers", this.layers.get(0), true); + ec.addAttr(facet, "srid", this.srid != null ? this.srid : "", true); + ec.addAttr(facet, "extent", this.originalExtent != null ? GeometryUtils.jtsBoundsToOLBounds(this.originalExtent) : "", true); ec.addAttr(facet, "queryable", String.valueOf(isQueryable()), true); + ec.addAttr(facet, "imagepath", this.imagepath, true); + ec.addAttr(facet, "legend", this.legend, true); return facet; } + public void setLegend(final String legend) { + this.legend = legend; + } + + /* Code-Kongruenz */ + public String getLegend() { + return this.legend; + } public boolean isQueryable() { return false; } - /** Clone facet-bound data. */ - protected void cloneData(WMSLayerFacet copy) { - copy.type = type; - copy.stateId = stateId; - copy.hash = hash; + protected void cloneData(final WMSLayerFacet copy) { + copy.type = this.type; + copy.stateId = this.stateId; + copy.hash = this.hash; - if (layers != null) { - copy.layers = new ArrayList(layers); - } - else { - copy.layers = new ArrayList(); + if (this.layers != null) { + copy.layers = new ArrayList<>(this.layers); + } else { + copy.layers = new ArrayList<>(); } - copy.originalExtent = originalExtent; - copy.url = url; - copy.extent = extent; - copy.srid = srid; + copy.originalExtent = this.originalExtent; + copy.url = this.url; + copy.extent = this.extent; + copy.srid = this.srid; + + copy.imagepath = imagepath; + copy.legend = legend; } @Override public Facet deepCopy() { - WMSLayerFacet copy = new WMSLayerFacet(); + final WMSLayerFacet copy = new WMSLayerFacet(); copy.set(this); cloneData(copy); diff -r af671ee7835e -r 63bbd5e45839 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/CalculationSelectUinfo.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/CalculationSelectUinfo.java Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/CalculationSelectUinfo.java Thu Oct 10 16:08:47 2019 +0200 @@ -61,7 +61,7 @@ final String river = uinfo.getRiver(); if (!UedauernConfiguration.filesExistsForRiver(river)) - throw new IllegalArgumentException("error_no_data_for_river"); + throw new IllegalArgumentException("error_no_data_for_river"); // wrong config could be thrown here as well... } return true; } diff -r af671ee7835e -r 63bbd5e45839 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationAccess.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationAccess.java Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationAccess.java Thu Oct 10 16:08:47 2019 +0200 @@ -123,11 +123,12 @@ final String layerLabelFinal = Resources.getMsg(context.getMeta(), layerLabel, new Object[] { selectedItem }); final String url = config.getUrl(); final String layer = config.getLayer(); + final String legend = config.getLegend(); - if (url != null && layer != null) { + if (url != null && layer != null && legend != null) { // final String realUrl = classification.configureAddress(serverAddress, url, vegZoneId); - return new WmsLayer(layerLabelFinal, url, layer, showLayerLink); + return new WmsLayer(layerLabelFinal, url, layer, showLayerLink, legend); } return null; } diff -r af671ee7835e -r 63bbd5e45839 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculationResult.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculationResult.java Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculationResult.java Thu Oct 10 16:08:47 2019 +0200 @@ -30,11 +30,14 @@ private final String layer; - public WmsLayer(final String label, final String url, final String layer, final boolean showLayerLink) { + final String legend; + + public WmsLayer(final String label, final String url, final String layer, final boolean showLayerLink, final String legend) { this.label = label; this.url = url; this.layer = layer; this.showLayerLink = showLayerLink; + this.legend = legend; } public String getLabel() { @@ -52,6 +55,10 @@ public boolean isShowLayerLink() { return this.showLayerLink; } + + public String getLegend() { + return this.legend; + } } private static final long serialVersionUID = 1L; diff -r af671ee7835e -r 63bbd5e45839 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationState.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationState.java Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationState.java Thu Oct 10 16:08:47 2019 +0200 @@ -96,8 +96,10 @@ final String label = layer.getLabel(); final String url = layer.getUrl(); + final String legend = layer.getLegend(); final WMSLayerFacet wmsFacet = new WMSLayerFacet(index, FLOODMAP_EXTERNAL_WMS_INUNDATIONDUR + index, label, type, getID(), hash, url); + wmsFacet.setLegend(legend); // not in constructor, because this ugly pattern is being used so far wmsFacet.addLayer(layer.getLayer()); facets.add(wmsFacet); diff -r af671ee7835e -r 63bbd5e45839 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/UedauernConfiguration.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/UedauernConfiguration.java Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/UedauernConfiguration.java Thu Oct 10 16:08:47 2019 +0200 @@ -32,11 +32,13 @@ private final String label; private final String url; private final String layer_default; + private final String legend_image; - public WmsConfig(final String label, final String url, final String layer) { + public WmsConfig(final String label, final String url, final String layer, final String legendImage) { this.label = label; this.url = url; this.layer_default = layer; + this.legend_image = legendImage; } public String getLabel() { @@ -50,6 +52,10 @@ public String getLayer() { return this.layer_default; } + + public String getLegend() { + return this.legend_image; + } } public static enum YearType { @@ -82,7 +88,7 @@ final String configFile = makeFileName(rivername, type); final File file = TsvHelper.makeFile2(configFile, rivername); - final List tsv = TsvHelper.readTsv(file, 5); + final List tsv = TsvHelper.readTsv(file, 7); // changed to 7 final Map wmsConfigs = new LinkedHashMap<>(tsv.size()); @@ -92,11 +98,11 @@ WmsConfig defaultConfig = null; WmsConfig vegZoneConfig = null; - if (line.length > 2 && !StringUtils.isEmpty(line[1]) && !StringUtils.isEmpty(line[2])) { - defaultConfig = new WmsConfig(label, line[2], line[1]); + if (line.length > 3 && !StringUtils.isEmpty(line[1]) && !StringUtils.isEmpty(line[2]) && !StringUtils.isEmpty(line[3])) { + defaultConfig = new WmsConfig(label, line[2], line[1], line[3]); - if (line.length > 4 && !StringUtils.isEmpty(line[3]) && !StringUtils.isEmpty(line[4])) { - vegZoneConfig = new WmsConfig(label, line[4], line[3]); + if (line.length > 6 && !StringUtils.isEmpty(line[4]) && !StringUtils.isEmpty(line[5]) && !StringUtils.isEmpty(line[6])) { + vegZoneConfig = new WmsConfig(label, line[5], line[4], line[6]); } } wmsConfigs.put(label, new WmsConfig[] { defaultConfig, vegZoneConfig }); diff -r af671ee7835e -r 63bbd5e45839 artifacts/src/main/java/org/dive4elements/river/exports/MapGenerator.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/MapGenerator.java Thu Oct 10 16:02:31 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/MapGenerator.java Thu Oct 10 16:08:47 2019 +0200 @@ -8,6 +8,14 @@ package org.dive4elements.river.exports; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.data.StateData; import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.artifactdatabase.state.Facet; @@ -27,21 +35,11 @@ import org.dive4elements.river.themes.ThemeDocument; import org.dive4elements.river.utils.ArtifactMapfileGenerator; import org.dive4elements.river.utils.GeometryUtils; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; import com.vividsolutions.jts.geom.Envelope; - public class MapGenerator implements OutGenerator, FacetTypes { private static Logger log = Logger.getLogger(MapGenerator.class); @@ -67,62 +65,53 @@ protected String outName; + private String legend; + @Override - public void setup(Object config) { + public void setup(final Object config) { log.debug("MapGenerator.setup"); } @Override - public void init( - String outName, - Document request, - OutputStream out, - CallContext context - ) { + public void init(final String outName, final Document request, final OutputStream out, final CallContext context) { log.debug("MapGenerator.init"); - this.outName = outName; - this.request = request; - this.out = out; - this.context = context; + this.outName = outName; + this.request = request; + this.out = out; + this.context = context; - this.layers = new ArrayList(); + this.layers = new ArrayList<>(); this.maxExtent = null; this.initialExtent = null; } - @Override - public void setMasterArtifact(Artifact master) { + public void setMasterArtifact(final Artifact master) { log.debug("MapGenerator.setMasterArtifact"); this.master = master; } @Override - public void setCollection(D4EArtifactCollection collection) { + public void setCollection(final D4EArtifactCollection collection) { this.collection = collection; } @Override - public void doOut( - ArtifactAndFacet artifactFacet, - ThemeDocument attr, - boolean visible) - { - String name = artifactFacet.getFacetName(); + public void doOut(final ArtifactAndFacet artifactFacet, final ThemeDocument attr, final boolean visible) { + final String name = artifactFacet.getFacetName(); - log.debug("MapGenerator.doOut: " + - artifactFacet.getArtifact().identifier() + " | " + name); - D4EArtifact flys = (D4EArtifact) artifactFacet.getArtifact(); + log.debug("MapGenerator.doOut: " + artifactFacet.getArtifact().identifier() + " | " + name); + final D4EArtifact flys = (D4EArtifact) artifactFacet.getArtifact(); - Facet nativeFacet = artifactFacet.getFacet(); + final Facet nativeFacet = artifactFacet.getFacet(); if (nativeFacet instanceof WMSLayerFacet) { - WMSLayerFacet wms = (WMSLayerFacet) nativeFacet; - Envelope extent = wms.getOriginalExtent(); + final WMSLayerFacet wms = (WMSLayerFacet) nativeFacet; + final Envelope extent = wms.getOriginalExtent(); - layers.add(wms); + this.layers.add(wms); setMaxExtent(extent); setSrid(wms.getSrid()); @@ -133,95 +122,67 @@ } // FIXME: Already generated by HWSBarrierState // wms has a wrong SRID which would break that layer - //else if (FLOODMAP_USERSHAPE.equals(name)) { - // createUserShapeLayer(flys, wms); - //} + // else if (FLOODMAP_USERSHAPE.equals(name)) { + // createUserShapeLayer(flys, wms); + // } else { log.debug("doOut: createDatabaseLayer for facet name: " + name); createDatabaseLayer(flys, wms, attr); } - } - else { + } else { log.warn("Facet not supported: " + nativeFacet.getClass()); } } - - protected void createWSPLGENLayer( - D4EArtifact flys, - WMSLayerFacet wms, - ThemeDocument attr - ) { + protected void createWSPLGENLayer(final D4EArtifact flys, final WMSLayerFacet wms, final ThemeDocument attr) { try { - if(wms instanceof WSPLGENLayerFacet) { + if (wms instanceof WSPLGENLayerFacet) { // Retrieve waterlevel ground differences from artifact - StateData dFrom = - flys.getData(WaterlevelGroundDifferences.LOWER_FIELD); - StateData dTo = - flys.getData(WaterlevelGroundDifferences.UPPER_FIELD); - StateData dStep = - flys.getData(WaterlevelGroundDifferences.DIFF_FIELD); + final StateData dFrom = flys.getData(WaterlevelGroundDifferences.LOWER_FIELD); + final StateData dTo = flys.getData(WaterlevelGroundDifferences.UPPER_FIELD); + final StateData dStep = flys.getData(WaterlevelGroundDifferences.DIFF_FIELD); - String fromStr = dFrom != null - ? (String) dFrom.getValue() - : null; - String toStr = dTo != null - ? (String) dTo.getValue() - : null; - String stepStr = dStep != null - ? (String) dStep.getValue() - : null; + final String fromStr = dFrom != null ? (String) dFrom.getValue() : null; + final String toStr = dTo != null ? (String) dTo.getValue() : null; + final String stepStr = dStep != null ? (String) dStep.getValue() : null; - float from = Float.parseFloat(fromStr); - float to = Float.parseFloat(toStr); - float step = Float.parseFloat(stepStr); + final float from = Float.parseFloat(fromStr); + final float to = Float.parseFloat(toStr); + final float step = Float.parseFloat(stepStr); - ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); - mfg.createUeskLayer( - flys, - (WSPLGENLayerFacet) wms, - attr.createDynamicMapserverStyle( - from, to, step, context.getMeta()), - context); - } - else { - log.warn("Cannot create WSPLGEN layer from: " + - wms.getClass()); + final ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); + mfg.createUeskLayer(flys, (WSPLGENLayerFacet) wms, attr.createDynamicMapserverStyle(from, to, step, this.context.getMeta()), this.context); + } else { + log.warn("Cannot create WSPLGEN layer from: " + wms.getClass()); } } - catch (IOException ioe) { + catch (final IOException ioe) { log.error(ioe, ioe); } } - - protected void createUserShapeLayer(D4EArtifact flys, WMSLayerFacet wms) { - ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); + protected void createUserShapeLayer(final D4EArtifact flys, final WMSLayerFacet wms) { + final ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); try { mfg.createUserShapeLayer(flys, wms); } - catch (FileNotFoundException fnfe) { + catch (final FileNotFoundException fnfe) { log.error(fnfe, fnfe); } - catch (IOException ioe) { + catch (final IOException ioe) { log.error(ioe, ioe); } } - - protected void createDatabaseLayer( - D4EArtifact flys, - WMSLayerFacet wms, - ThemeDocument attr - ) { + protected void createDatabaseLayer(final D4EArtifact flys, final WMSLayerFacet wms, final ThemeDocument attr) { log.debug("createDatabaseLayer for facet: " + wms.getName()); - ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); + final ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); try { - File baseDir = mfg.getShapefileBaseDir(); - File artDir = new File(baseDir, flys.identifier()); + final File baseDir = mfg.getShapefileBaseDir(); + final File artDir = new File(baseDir, flys.identifier()); if (artDir != null && !artDir.exists()) { log.debug("Create new directory: " + artDir.getPath()); @@ -229,41 +190,31 @@ } if (wms instanceof WMSDBLayerFacet) { - mfg.createDatabaseLayer( - flys, - (WMSDBLayerFacet) wms, - attr.createMapserverStyle()); - } - else { + mfg.createDatabaseLayer(flys, (WMSDBLayerFacet) wms, attr.createMapserverStyle()); + } else { log.warn("Cannot create DB layer from: " + wms.getClass()); } } - catch (FileNotFoundException fnfe) { + catch (final FileNotFoundException fnfe) { log.error(fnfe, fnfe); } - catch (IOException ioe) { + catch (final IOException ioe) { log.error(ioe, ioe); } } - @Override - public void generate() - throws IOException - { + public void generate() throws IOException { log.debug("MapGenerator.generate"); - ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); + final ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); mfg.generate(); - Document response = XMLUtils.newDocument(); - ElementCreator c = new ElementCreator( - response, - ArtifactNamespaceContext.NAMESPACE_URI, - ArtifactNamespaceContext.NAMESPACE_PREFIX); + final Document response = XMLUtils.newDocument(); + final ElementCreator c = new ElementCreator(response, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX); - Element root = c.create("floodmap"); - Element layers = c.create("layers"); + final Element root = c.create("floodmap"); + final Element layers = c.create("layers"); response.appendChild(root); root.appendChild(layers); @@ -271,18 +222,16 @@ appendLayers(layers); appendMapInformation(root, c); - XMLUtils.toStream(response, out); + XMLUtils.toStream(response, this.out); } - - protected void appendLayers(Element parent) { - for (WMSLayerFacet facet: layers) { + protected void appendLayers(final Element parent) { + for (final WMSLayerFacet facet : this.layers) { parent.appendChild(facet.toXML(parent.getOwnerDocument())); } } - - protected void setMaxExtent(Envelope maxExtent) { + protected void setMaxExtent(final Envelope maxExtent) { if (maxExtent == null) { return; } @@ -296,16 +245,14 @@ this.maxExtent.expandToInclude(maxExtent); } - - protected void setInitialExtent(Envelope initialExtent) { + protected void setInitialExtent(final Envelope initialExtent) { if (this.initialExtent == null && initialExtent != null) { log.debug("Set initial extent to: " + initialExtent); this.initialExtent = new Envelope(initialExtent); } } - - protected void setSrid(String srid) { + protected void setSrid(final String srid) { if (srid == null || srid.length() == 0) { return; } @@ -313,8 +260,7 @@ this.srid = srid; } - - protected void appendMapInformation(Element parent, ElementCreator c) { + protected void appendMapInformation(final Element parent, final ElementCreator c) { String mE; if (this.maxExtent != null) { mE = GeometryUtils.jtsBoundsToOLBounds(this.maxExtent); @@ -323,17 +269,17 @@ mE = "0 0 1 1"; } - Element maxExtent = c.create("maxExtent"); + final Element maxExtent = c.create("maxExtent"); maxExtent.setTextContent(mE); - if(this.initialExtent != null) { - String iE = GeometryUtils.jtsBoundsToOLBounds(this.initialExtent); - Element initExtent = c.create("initialExtent"); + if (this.initialExtent != null) { + final String iE = GeometryUtils.jtsBoundsToOLBounds(this.initialExtent); + final Element initExtent = c.create("initialExtent"); initExtent.setTextContent(iE); parent.appendChild(initExtent); } - Element srid = c.create("srid"); + final Element srid = c.create("srid"); srid.setTextContent(this.srid); // TODO zoom levels @@ -343,7 +289,6 @@ parent.appendChild(srid); } - /** * Returns an instance of EmptySettings currently! * @@ -354,9 +299,8 @@ return new EmptySettings(); } - @Override - public void setSettings(Settings settings) { + public void setSettings(final Settings settings) { this.settings = settings; } } diff -r af671ee7835e -r 63bbd5e45839 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/map/LegendWindow.java --- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/map/LegendWindow.java Thu Oct 10 16:02:31 2019 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/map/LegendWindow.java Thu Oct 10 16:08:47 2019 +0200 @@ -10,8 +10,15 @@ import java.util.List; +import org.dive4elements.river.client.client.FLYSConstants; +import org.dive4elements.river.client.shared.MapUtils; +import org.dive4elements.river.client.shared.model.AttributedTheme; +import org.dive4elements.river.client.shared.model.Theme; +import org.dive4elements.river.client.shared.model.ThemeList; + import com.google.gwt.core.client.GWT; - +import com.google.gwt.user.client.ui.Image; +import com.google.gwt.user.client.ui.Widget; import com.smartgwt.client.types.ImageStyle; import com.smartgwt.client.types.VerticalAlignment; import com.smartgwt.client.widgets.Canvas; @@ -21,59 +28,49 @@ import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; -import org.dive4elements.river.client.client.FLYSConstants; - -import org.dive4elements.river.client.shared.MapUtils; -import org.dive4elements.river.client.shared.model.AttributedTheme; -import org.dive4elements.river.client.shared.model.Theme; -import org.dive4elements.river.client.shared.model.ThemeList; - - public class LegendWindow extends Window { protected FLYSConstants MSG = GWT.create(FLYSConstants.class); private ThemeList themeList; - private VLayout legendContainer; + private final VLayout legendContainer; - - public LegendWindow(ThemeList themeList) { + public LegendWindow(final ThemeList themeList) { this.themeList = themeList; this.legendContainer = new VLayout(); init(); } - public void update(ThemeList themeList) { + public void update(final ThemeList themeList) { this.themeList = themeList; - Canvas[] legends = legendContainer.getMembers(); - legendContainer.removeMembers(legends); + final Canvas[] legends = this.legendContainer.getMembers(); + this.legendContainer.removeMembers(legends); addLegends(); } private void addLegends() { - List themes = themeList.getActiveThemes(); + final List themes = this.themeList.getActiveThemes(); - for (Theme theme : themes) { + for (final Theme theme : themes) { if (theme.getActive() == 0) { continue; } if (theme instanceof AttributedTheme) { - legendContainer.addMember( - createLegendGraphicsRow((AttributedTheme) theme)); + this.legendContainer.addMember(createLegendGraphicsRow((AttributedTheme) theme)); } } } - private Canvas createLegendGraphicsRow(AttributedTheme at) { - Label label = new Label(at.getDescription()); - Img img = createLegendGraphics(at); + private Canvas createLegendGraphicsRow(final AttributedTheme at) { + final Label label = new Label(at.getDescription()); + final Widget img = createLegendGraphics(at); - HLayout row = new HLayout(); + final HLayout row = new HLayout(); row.addMember(label); row.addMember(img); @@ -83,11 +80,27 @@ return row; } - private Img createLegendGraphics(AttributedTheme at) { - String imgUrl = MapUtils.getLegendGraphicUrl(at.getAttr("url"), - at.getAttr("layers")); + private Widget createLegendGraphics(final AttributedTheme at) { - Img img = new Img(imgUrl); + final String legend = at.getAttr("legend"); + // TEST: final Image img = new Image("/images/FLYS_Donau.png"); (funktioniert!), ebenso FLYSResources.getTest(); + if (legend != null && !"".equals(legend)) { + final Image image = new Image("/images/wms_legend/" + legend); + final int imageWidth = image.getWidth(); + final int imageHeight = image.getHeight(); + final double widthPercent = imageWidth / 400.; + final double heightPercent = imageHeight / 150.; + if (widthPercent > 1 || heightPercent > 1) { + if (widthPercent > heightPercent) + image.setSize((int) (imageWidth / widthPercent) + "px", (int) (imageHeight / widthPercent) + "px"); + else + image.setSize((int) (imageWidth / heightPercent) + "px", (int) (imageHeight / heightPercent) + "px"); + } + return image; + } + final String imgUrl = MapUtils.getLegendGraphicUrl(at.getAttr("url"), at.getAttr("layers")); + + final Img img = new Img(imgUrl); img.setImageType(ImageStyle.CENTER); img.setAutoFit(true); @@ -95,11 +108,11 @@ } private void init() { - legendContainer.setAutoHeight(); - legendContainer.setLayoutAlign(VerticalAlignment.TOP); - legendContainer.setAlign(VerticalAlignment.CENTER); + this.legendContainer.setAutoHeight(); + this.legendContainer.setLayoutAlign(VerticalAlignment.TOP); + this.legendContainer.setAlign(VerticalAlignment.CENTER); - setTitle(MSG.wms_legend()); + setTitle(this.MSG.wms_legend()); setAutoSize(true); setCanDragResize(true); setIsModal(false); @@ -107,7 +120,7 @@ setLayoutAlign(VerticalAlignment.TOP); setAlign(VerticalAlignment.TOP); - addItem(legendContainer); + addItem(this.legendContainer); addLegends(); centerInPage();