... | ... | @@ -50,40 +50,17 @@ Wenn ein namentlich passender Steckbrief gefunden wurde, wird dieser geparst. |
|
|
|
|
|
Der Name des Steckbriefes muss dabei nach folgender Form aufgebaut sein: **steckbrief_XX_XX_XX.xml** (X steht dabei für die jeweiligen Zahlen aus der HLNUG-Sammlungsnummer)
|
|
|
|
|
|
Im nächsten Schritt werden innerhalb von dieser Funktion die oben beschriebenen Funktionen aufgerufen. Zuerst werden die WFS-Daten abgefragt (fetchWFSData()). Hier ist zu beachten, dass die HLNUG-Sammlungsnummer, über die die Informationen aus den Steckbriefen verbunden werden sich in WFS und XML unterscheiden.
|
|
|
In der XML-Datei enthalten die Sammlungsnummern Unterstriche. In der WFS-Antwort werden diese hingegen mit Bindestrichen kodiert. Aus diesem Grund wird im Funktionsaufruf von fetchWFSData eine replace-Funktion auf die Sammlungsnummer angewendet.
|
|
|
Sobald die Funktion alle benötigten Daten abgerufen hat, werden diese an die HTML-Tabelle übergeben (generateProfileHTML()).
|
|
|
Durch den Funktionsaufruf "fetchProfile()" in der main.js, wird die Funktion in der eigentlichen Anwendung ausgeführt und umgesetzt.
|
|
|
|
|
|
1. generateProfileHTML(...)
|
|
|
Funktion: Diese Funktion nimmt alle Werte aus XML und WFS entgegen und gibt sie als HTML-Tabelle zurück.
|
|
|
2. fetchWFSData()
|
|
|
Funktion: Die Funktion fragt einen WFS an und liefert alle Antworten als JSON-Datei zurück.
|
|
|
Fehlerbehandlung: Falls der WFS nicht erreichbar ist, wird eine Fehlermeldung ausgegeben.
|
|
|
3. fetchProfile(steckbriefName)
|
|
|
Gesamtübersicht: Diese Funktion erledigt die gesamte Arbeit der Profilabfrage und -anzeige.
|
|
|
|
|
|
Schritt 1: Prüfung der Objektauswahl
|
|
|
|
|
|
Zunächst prüft die Funktion, ob in der Karte ein Objekt angeklickt wurde.
|
|
|
Kein Objekt ausgewählt: Falls kein Objekt ausgewählt wurde, wird im Steckbrieffenster die Meldung "Kein Handstück ausgewählt" angezeigt.
|
|
|
Schritt 2: Steckbrief-Prüfung
|
|
|
|
|
|
Sobald ein Objekt ausgewählt wurde, prüft die Funktion, ob zu dem angeklickten Kartenobjekt ein Steckbrief hinterlegt ist.
|
|
|
Kein Steckbrief vorhanden: Falls kein Steckbrief vorhanden ist, wird die Meldung "Kein Steckbrief vorhanden" angezeigt.
|
|
|
Steckbrief gefunden: Wenn ein namentlich passender Steckbrief gefunden wurde, wird dieser geparst.
|
|
|
Namenskonvention für Steckbriefe:
|
|
|
|
|
|
Der Name des Steckbriefes muss nach folgender Form aufgebaut sein: steckbrief_XX_XX_XX.xml (wobei X für die jeweiligen Zahlen aus der HLNUG-Sammlungsnummer steht).
|
|
|
Schritt 3: Aufruf der benötigten Funktionen:
|
|
|
|
|
|
Abruf der WFS-Daten: Zuerst werden die WFS-Daten mittels fetchWFSData() abgefragt.
|
|
|
Unterschiede in der Sammlungsnummer:
|
|
|
In der XML-Datei enthalten die Sammlungsnummern Unterstriche (_).
|
|
|
In der WFS-Antwort werden diese jedoch mit Bindestrichen (-) kodiert.
|
|
|
Lösung: Daher wird auf die Sammlungsnummer eine replace-Funktion angewendet, um die Unterstriche durch Bindestriche zu ersetzen.
|
|
|
Übergabe der Daten an die HTML-Tabelle: Sobald alle benötigten Daten abgerufen wurden, werden diese an die HTML-Tabelle übergeben, indem die Funktion generateProfileHTML() aufgerufen wird.
|
|
|
Ausführung in der Anwendung:
|
|
|
|
|
|
Die Funktion fetchProfile() wird in der main.js-Datei aufgerufen und sorgt dafür, dass die gesamte Logik in der eigentlichen Anwendung umgesetzt wird.
|
|
|
- **Abfrage der WFS-Daten:**
|
|
|
- Zuerst werden die WFS-Daten über die Funktion `fetchWFSData()` abgerufen.
|
|
|
- Dabei ist zu beachten, dass sich die **HLNUG-Sammlungsnummer** in der WFS-Antwort und der XML-Datei unterscheidet:
|
|
|
- In der XML-Datei enthalten die Sammlungsnummern Unterstriche (`_`).
|
|
|
- In der WFS-Antwort werden diese jedoch mit Bindestrichen (`-`) kodiert.
|
|
|
- Daher wird auf die Sammlungsnummer eine `replace`-Funktion angewendet, um die Unterstriche durch Bindestriche zu ersetzen.
|
|
|
|
|
|
- **Übergabe der Daten an die HTML-Tabelle:**
|
|
|
- Nachdem die Funktion alle benötigten Daten abgerufen hat, werden diese an die HTML-Tabelle übergeben.
|
|
|
- Dafür wird die Funktion `generateProfileHTML()` verwendet.
|
|
|
|
|
|
- **Ausführung in der Anwendung:**
|
|
|
- Die gesamte Funktionalität wird durch den Aufruf von `fetchProfile()` in der `main.js`-Datei in der Anwendung ausgeführt und umgesetzt.
|
|
|
[(Zurück zum Inhalt des Endberichts)](https://gitlab-ce.hs-bochum.de/fachbereich-geodaesie/gi-projekte/web3dscans/-/wikis/Endbericht) |