Config Switcher
Dieses Addon ermöglicht das Hinzufügen einer Stichtagsauswahl(Bodenrichtwerte) über einer Drop-Down Auswahlliste. Das Addon wurde für den neuen BORIS-Viewer entwickelt. Die Auswahl wird über verschiedene Konfigurationsdateien gesteuert. Die Lage der Konfigurationsdateinen wird in der config.json definiert. Über die Konfigurationsdateien kann der Kartenebenenbaum manipuliert werden.
Die config.json beinhaltet alle für die Konfigurationen verwendeten Layer. Die Layer können dabei in der Grundkonfiguration auf nicht sichtbar gestellt werden. In den einzelnen Konfigurationen können diese das dann später bei Auswahl des Referenzdatums, auswählbar bzw. sichtbar gemacht werden. Bei Auswahl eines Referenzdatum bzw. Stichtages werden alle ausgewählten Layer zurückgesetzt. Es werden alleinig alle in der ausgewählten Konfiguration definerten Auswahl an Layern angezeigt. Zusätzlich angewählte Layer werden zurückgesetzt bei Auswahl eines Stichtages. Gezeichnete Objekte und importierte Layer bzw. Dienste werden ausgeblendet, können aber im Kartenebenenbaum wieder eingeblendet werden.
Lage der Konfigurationsdateien (config.js)
Nach der Auswahl eines Stichtages werden die Kartenebenen, der Hintergrundwechsler, der Layerswitcher und die Suche entsprechend angepasst.
Setup addonsConf.js
Fügen Sie das Addon der Masterportal Applikation im addons Ordner hinzu.
Erstellen oder editieren Sie die addonsConf.js und fügen Sie folgenden Eintrag hinzu:
{
    "configSwitcher": "view.js"
}
Fügen Sie das Addon zur config.js Datei im Abschnitt addons hinzu:
addons: [
    "configSwitcher"
]
Konfiguration und Funktionalität des configSwitchers für den Kartenbaum
... in Kürze
Konfiguration und Funktionalität des configSwitchers für Hintergrundkarten im Backgroundswitcher
In der Datei config.json können Hintergrundkarten definiert werden, die im Kartenviewer angezeigt werden sollen. Es gibt zwei Arten von Hintergrundkarten: configSwitcher-abhängige und configSwitcher-unabhängige Karten. Nachfolgend eine Übersicht zur Konfiguration:
1. ConfigSwitcher-abhängige Hintergrundkarten
Diese Karten sind durch den configSwitcher gesteuert und werden über die Konfiguration ausgewählt.
Ein Beispiel für WebAtlasDE Fix 2021 Brandenburg mit der ID 14002 (Basiskarte grau) und einer Halbtonvariante mit der ID 140021:
{
  "name": "Hintergrundkarten",
  "isVisibleInTree": false,
  "type": "folder",
  "children": [
    {
      "id": "14002",
      "name": "Basiskarte",
      "visibility": true,
      "isNeverVisibleInTree": false,
      "isVisibleInTree": false,
      "isBRWBackground": true
    },
    {
      "id": "140021",
      "name": "Basiskarte",
      "visibility": false,
      "isNeverVisibleInTree": false,
      "isVisibleInTree": false,
      "isBRWBackground": true
    }
  ]
}
Eigenschaften
ID-Zuweisung:
- Die ID ist entscheidend für die Steuerung der Webdienste im Backgroundswitcher.
 - Die ID 
14002ist die Default-ID und wird standardmäßig angezeigt. - Die ID 
140021gehört zum selben Set wie14002und erweitert dessen Funktionalität. - Zusätzliche IDs (z. B. 
140022,140023) können dem Set hinzugefügt werden.
Wichtig: Die Default-ID (14002) muss als Grundlage in den IDs des Sets enthalten sein. 
Attribut isBRWBackground:
- Das Attribut 
"isBRWBackground": trueweist darauf hin, dass diese Karten speziell für den BORIS Viewer vorgesehen sind. - Diese Karten werden im Backgroundswitcher durch spezifische Funktionen gesteuert.
 
2. ConfigSwitcher-unabhängige Hintergrundkarten
Diese Karten stehen unabhängig vom configSwitcher immer im Backgroundswitcher zur Auswahl.
Beispiel
Ein Beispiel für Luftbilder mit den IDs 291-bg und 290-bg sowie kombinierte Luftbilder und Topografie mit der ID 7004:
{
  "id": ["291-bg", "290-bg"],
  "name": "Luftbilder",
  "visibility": false,
  "isBRWBackground": false,
  "isRestBackground": true,
  "isVisibleInTree": false
},
{
  "id": "7004",
  "name": "Luftbilder & Topogr.",
  "visibility": false,
  "isBRWBackground": false,
  "isRestBackground": true,
  "isVisibleInTree": false
}
Eigenschaften
Unabhängig vom ConfigSwitcher:
- Diese Karten sind immer im Backgroundswitcher verfügbar, unabhängig von den Konfigurationen des 
configSwitchers. 
Attribute:
"isBRWBackground": falsezeigt an, dass diese Karten nicht speziell für den BORIS Viewer gedacht sind."isRestBackground": truekennzeichnet sie als allgemein verfügbare Hintergrundkarten.- Sie werden standardmäßig im Backgroundswitcher gelistet.
 
Zusammenfassung
- 
ConfigSwitcher-abhängige Karten:
Werden durch die Attribute"isBRWBackground": trueund spezifische Sets definiert. Sie sind speziell für den BORIS Viewer optimiert und werden durch denconfigSwitchergesteuert. - 
ConfigSwitcher-unabhängige Karten:
Werden durch"isBRWBackground": falseund"isRestBackground": truegekennzeichnet und stehen im Backgroundswitcher immer zur Verfügung. 
Hintergrundkonfigurationen im ConfigSwitcher über einzelne JSON-Dateien
Konfiguration in der config.js (Aufbau)
In der config.js werden die einzelnen Konfigurationen definiert. Die Standardwerte und spezifischen Einstellungen sind wie folgt:
Standardwert
classicTreeCfgDefault: "01.01.2024"
Dieser Wert definiert den Standardwert für die Konfiguration.
Konfigurationen
Die Konfigurationen werden im Objekt classicTreeCfg definiert. Jede Konfiguration besteht aus einem Titel (title) und einer Datei (file), die den Ort der Dateikonfiguration angibt.
Beispiel für eine Konfiguration
cfg2024: {
    title: "01.01.2024",
    file: "configurations/BRW-2024.json"
}
Vollständige Liste der Konfigurationen
classicTreeCfg: {
    cfg2024: {
        title: "01.01.2024",
        file: "configurations/BRW-2024.json"
    },
    cfg2023: {
        title: "01.01.2023",
        file: "configurations/BRW-2023.json"
    },
    cfg2022: {
        title: "01.01.2022",
        file: "configurations/BRW-2022.json"
    },
    cfg2020: {
        title: "31.12.2020",
        file: "configurations/BRW-2021.json"
    },
    cfg2019: {
        title: "31.12.2019",
        file: "configurations/BRW-2020.json"
    },
    cfg2018: {
        title: "31.12.2018",
        file: "configurations/BRW-2019.json"
    },
    cfg2017: {
        title: "31.12.2017",
        file: "configurations/BRW-2018.json"
    },
    cfg2016: {
        title: "31.12.2016",
        file: "configurations/BRW-2017.json"
    },
    cfg2015: {
        title: "31.12.2015",
        file: "configurations/BRW-2016.json"
    },
    cfg2014: {
        title: "31.12.2014",
        file: "configurations/BRW-2015.json"
    },
    cfg2013: {
        title: "31.12.2013",
        file: "configurations/BRW-2014.json"
    },
    cfg2012: {
        title: "31.12.2012",
        file: "configurations/BRW-2013.json"
    },
    cfg2011: {
        title: "01.01.2012",
        file: "configurations/BRW-2012.json"
    },
    cfg2010: {
        title: "01.01.2011",
        file: "configurations/BRW-2011.json"
    },
    cfg2009: {
        title: "01.01.2010",
        file: "configurations/BRW-2010.json"
    },
    cfg2022a: {
        title: "01.01.2022 (Grundsteuer)",
        file: "configurations/BRW-2022-grund.json",
        label: "borderTop"
    }
}
Besonderheiten
cfg2022a:- Titel: "01.01.2022 (Grundsteuer)"
 - Datei: 
configurations/BRW-2022-grund.json - Zusätzliches Label: 
borderTop 
Über den configSwitcher können verschiedene Hintergrundkonfigurationen aktiviert werden. Diese Konfigurationen sind in separaten JSON-Dateien definiert. Jede Datei beschreibt spezifische Eigenschaften und Dienste, die je nach Konfiguration ein- oder ausgeblendet werden.
Beispiel einer Konfiguration "configurations/BRW-2024.json"
Nach dem Wechsel zu einer Konfiguration werden folgende Änderungen vorgenommen:
- 
Angezeigte Dienste:
- Die Dienste mit den IDs 
14002und140021werden dargestellt. - Alle Dienste mit den Eigenschaften:
"isBRWBackground": false"isRestBackground": true
 
 - Die Dienste mit den IDs 
 - 
Besonderheit des Dienstes
1237:- Der Dienst 
1237wird auf der Karte dargestellt. - Er erscheint jedoch nicht in der Auswahl des Backgroundswitchers, da er die Eigenschaft 
"isNeverVisibleInTree": truebesitzt. 
 - Der Dienst 
 
JSON-Struktur einer Beispielkonfiguration
{
    "name": "Hintergrundkarten",
    "isVisibleInTree": false,
    "type": "folder",
    "children": [
        {
            "id": "14002",
            "name": "Basiskarte",
            "visibility": true
        },
        {
            "id": "140021",
            "name": "Basiskarte",
            "visibility": false
        },
        {
            "id": "1237",
            "name": "topplus",
            "isVisibleInTree": false,
            "isNeverVisibleInTree": true,
            "visibility": true
        }
    ]
}