Anpassungsmöglichkeiten der Ebenendarstellung in cardo4

In cardo4 gibt es eine Trennung zwischen der physischen Ebene und deren Ausgestaltung.

Ebenen werden im Managementcenter durch den Betreuer definiert oder ad-hoc, bspw. über den Datenbrowser bereitgestellt.

Bei der Definition einer Ebene gibt es Standardvorgaben für die Darstellung. Konkret handelt es sich dabei um den Sichtbarkeitsmaßstab und die Symbolik (Klassifikation).

In einigen Fällen möchte der Benutzer diese Vorgaben überschreiben.

Für administrativ bereitgestellte Ebenen muss die Verfügbarkeit der Option über die Berechtigung "Darstellung anpassen" gesteuert werden. Für eigene Ebenen ist dies immer möglich.

Anpassungsmöglichkeiten der Ebenendarstellung in cardo4

Folgende Möglichkeiten werden in cardo4 zur Anpassung der Darstellung bereitgestellt (ab Version 4.0.10):

  • gefilterte Darstellung der Kartenelemente,

  • benutzerdefinierter Sichtbarkeitsmaßstab,

  • Beschriftungen für Ebenen,

  • Anpassung der Symbolik,

  • individuelle Einstellungen pro Kartenfenster,

  • Speichern und Wiederherstellen aller Eigenschaften im Sitzungsstatus / Kartenstatus

Alle Optionen, ausgenommen der Anpassung des Sichtbarkeitsmaßstabs und der Filter, werden dabei nur von Iwan7 unterstützt.

Zur Umsetzung der Anforderungen wurde das Ebenenmodell überarbeitet. Alle Einstellungen sind an der Instanz der Ebene im jeweiligen Kartenfenster hinterlegt und werden bei jeder Kartenanforderung an den Server mit übermittelt.

Je nach Umfang der Anpassung kann die zu übermittelnde Datenmenge dabei nicht ganz unbeträchtlich sein, z.B. umfangreiche CSS Angaben. Diese Daten werden bei jeder Kartenbildanforderung neu übermittelt.

Alle vorgenommenen Einstellungen können jederzeit gespeichert und wiederhergestellt werden. Dabei werden wie üblich keine Daten, sondern nur die Einstellungen gespeichert.

Bei strukturellen Änderungen an der Datenquelle kann es bei der Wiederherstellung der Einstellungen Fehler geben, bspw. wenn Spalten die in einem Filter verwendet werden, nicht mehr vorhanden sind.

Da die genannten Einstellungen in einer konkreten Kartenansicht vorgenommen werden, sind diese auch nur dort verfügbar und nicht bspw. in der Anwendung "Themenbaum" oder anderweitig global.

Interne Aktionen bei "Beschriftungsebene erstellen" oder "Symbolik anpassen"

Diese Aktionen setzen voraus, dass die Ebene in Iwan7 verfügbar ist. Damit die Nutzung dieser Funktionen nicht das Umstellen aller Ebenen erfordert, wird intern bei Bedarf der Layer als Iwan7 Ebene geladen. Wenn es sich bereits um einen Iwan7 Ebenentyp handelt, entfällt dieser Schritt.

Automatische Konvertierung als Iwan7 Ebene

Wenn die Ebene als Iwan6 Ebene definiert ist, dann wird diese bei Bedarf im Hintergrund als Iwan7 Ebene geladen und in Iwan6 registriert.

Der Name der Ebene in Iwan6 ist dabei immer IC7_{original}, der in Iwan7 wie der ursprüngliche Iwan6 Name.

Bsp.: Ebene "L1" ist als Shapefile im Managementcenter definiert. Diese wird in Iwan7 unter dem Namen "L1" geladen und in Iwan6 als "IC7_L1" registriert.

Die Log Auswertung der Ebene geht z.Z. nur über Iwan6. Das Zuordnen der Layer zu den Admin-Ebenen über den bisherigen Namen funktioniert daher z.Z. nicht.

Konkret bedeutet dies:

  • Quellformate die derzeit nicht in Iwan7 implementiert sind, können nicht verwendet werden. Eine Auflistung der verfügbaren Datentypen für Iwan7 ist hier dokumentiert.

  • Iwan7 ist u.U. strikter bei der Auswertung der Quellen, d.h. in Iwan6 ist die Ebene ladbar, beim Erstellen der Iwan7 Ebene wird ein entsprechender Fehler gemeldet.

  • das Konzept der "DesignLayer" gibt es in Iwan7 nicht, hier stehen die umfangreichen Möglichkeiten per GeoCSS zur Verfügung, solche Einstellungen werden nicht übernommen.

Alle weiteren Aktionen an der Ebene (MapTip, Selektion etc.) gehen weiter auf die Iwan6 Ebene.

Gefilterte Darstellung

Um nur bestimmte Datensätze einer Ebene in der Karte darzustellen, kann ein Filter auf die Datenquelle angewandt werden. Der Filter kann dabei alle verfügbaren Attribute der Quelle verwenden, also "normale" Sachdatenspalten und/oder die Geometriespalte(n).

Filter können aktiviert oder deaktiviert sein. Es ist nur ein Filter pro Ebene möglich. Dieser kann aber komplex erstellt werden.

Bei jeder Zeichenanforderung wird der Filter erneut angewandt (dann immer in Kombination mit der Bounding-Box der Kartenanforderung). Beachten Sie, dass es hierbei u.U. zu erhöhter Last der beteiligten Server (z.B. Datenbank, WFS etc.) kommen kann.

Da der Filter nur in der Kartenansicht angewendet wird wo er definiert ist, berücksichtigen Aktionen aus weiteren Modulen heraus diesen Filter nicht. In der erstellenden Kartenansicht sind im Kontextmenü entsprechende Einträge separat vorhanden.

Bei Interaktionen mit der Kartenansicht, wo der Filter erstellt wurde, wird dieser bei den Aktionen:

  • MapTip,
  • Selektion,
  • Zeichenvorgang,
  • Ausdruck

wenn der Filter aktiv ist, entsprechend ausgewertet.

Beschriftungsebenen

Das Konzept einer Beschriftungsebene wurde eingeführt, da es sich hierbei um ein häufiges Anwendungsmuster handelt.

Technisch betrachtet ist es nur eine Ebene mit einem GeoCSS Stil, der "nur" die Features der Quelle beschriftet. Dieses Verhalten könnte auch über "Symbolik anpassen" realisiert werden.

Durch die Spezialisierung ist folgendes Verhalten festgelegt:

  • Eine Beschriftungsebene wird im Themenbaum der Kartenansicht immer als Unterelement (unabhängig einschaltbar) der Bezugsebene dargestellt.

  • Filter und Sichtbarkeitsmaßstab der Bezugsebene wirken immer unmittelbar auf die Beschriftungsebene.

  • Weitere Aktionen im Kontextmenü werden nicht angeboten (z.B. Selektion etc.).

  • Der MapTip geht immer nur auf die Bezugsebene (d.h. doppelte Ausgaben finden nicht statt).

  • Der Symboleditor zeigt nur Optionen zur Beschriftung an.

Wird eine Beschriftungsebene einmalig erstellt, werden die ersten zwanzig Datensätze aus der Quelle abgerufen. Dies dient der Bestimmung der vorhandenen Geometrietypen (in Iwan sind gemischte Geometrietypen pro Quelle zulässig).

Der Symboleditor bietet dann nur Optionen für die gefundenen Typen an. In Iwan7 werden die Geometrietypen separat betrachtet, d.h. die Einstellungen für Beschriftung von Punkten unterscheidet sich von denen von Linien- oder Flächenelementen.

Symbolik anpassen

Hier wird, wie oben beschrieben, bei Bedarf eine Iwan7 Kopie der Ebene erstellt. In diesem Fall wird versucht die Symbolik aus der Iwan6 Ebenenbeschreibung in das neue GeoCSS zu konvertieren. Elemente die dort nicht verfügbar sind, bspw. DesignLayer, werden ignoriert.

Dem Benutzer wird dann ein Editor zum Anpassen des GeoCSS präsentiert (Quellcode mit Syntax-Highlight finden Sie unter der Textansicht).

Wir halten es derzeit nicht für praktikabel mehrere Kopien der gleichen Quelle in einer Kartenansicht zu haben. Es handelt sich dabei also um eine Modifikation einer Ebene, nicht wie bei der Beschriftungsebene um eine Kopie innerhalb dieser Kartenansicht.

Wurde im Zuge der "Symbolik anpassen" Aktion eine Iwan7 Kopie erzeugt, wird diese nur für die Kartenansicht verwendet, alle weiteren Aktionen verwenden die Iwan6 Ebene weiter (bspw. Selektion).


cardo3 - Gegenüberstellung bisheriger Ansatz

Bisher (cardo3 / Iwan6) war das Ändern dieser Einstellungen mit dem Neuladen der Ebene verbunden (es entstanden sitzungsbezogene Kopien dieser Ebenen).

Dieses Konzept wird in cardo4 in dieser Form nicht weiterverfolgt.

Mit der Behandlung als sitzungsbezogene Ebene waren bisher verschiedene Einschränkungen verbunden:

  • die Bereitstellung war u.U. recht "teuer" (was das Wiederherstellen aufwendig macht),
  • ein Sitzungsstatus ist unbedingt erforderlich,
  • ... und das Hauptproblem: es gibt nur eine Variante dieser Darstellung (in cardo4 gibt es mehrere Kartenansichten)

Der Hauptvorteil steht damit auch nicht mehr zur Verfügung und muss anderweitig implementiert werden:

  • Es gab eine einheitliche Sicht auf die Anpassungen für alle Module, der Ebenenname blieb identisch (bspw. Ebeneninformationen, Ausdruck). Jetzt müssen diese Anpassungen von jedem Modul separat ausgewertet werden.

  • Der Transport der Informationen erfolgt nur einmalig zum Server. Jetzt werden die Daten bei jeder Anforderung vom Client zum Server übermittelt.


Zuletzt geändert: 24.09.2024 17:54:52 (erstmals erstellt 09.12.2018)