Eine Polymap2-Applikation besteht im Grunde aus zwei Teilen: den Datenlieferanten (“Provider”) und den Sichten (“Map”) darauf. Die Sichten werden in der Oberfläche durch den Sichtenbaum repräsentiert. Die Provider stellen (alle möglichen) Daten in Polymap2 zur Verfügung - die Sichten wiederum bestimmen ob und wie diese Daten zu einem bestimmten Zeitpunkt tatsächlich aussehen. Sie enthalten dafür frei wählbare Kommandos (“Command”). Kommandos sind meist spezifisch für einen Provider. Wird eine Sicht in der Oberfläche “an” geschaltet, dann werden alle Kommandos dieser und aller darüber liegenden Sichten ausgeführt.
Ein Provider ist zum Beispiel polymap2.sinca.SincaSession, dieser liefert Daten aus einem SINCA-Server (PolyGIS). Er kennt die Kommandos: polymap2.sinca.LoginCommand (Login) und polymap2.sinca.LoadLayersCommand (Ebenen einer Arbeitssitzung laden). Wo diese Kommandos im Baum auftauchen wird einzig durch die Bedürfnisse der jeweiligen Applikation bestimmt. Wird zum Beispiel in allen Sichten dieser Provider benötigt, kann man in der Root-Sicht/Map das Login-Kommando platzieren. So wird durch Aktivierung irgendeiner Sicht immer zuerst sichergestellt, dass die Verbindung zum SINCA-Server besteht. Über die einzelnen Sichten kann dann jeweils eine Arbeitssitzung aktiviert werden. Siehe auch: Polymap2Konfiguration/sichten.xml
.
Ohne weiteres sind die einzelnen Sichten im Baum exklusiv anwählbar; d.h. es ist jeweils nur eine Sicht aktiv. Wird die nächste Sicht aktiviert, so wird automatisch die aktuelle Sicht deaktiviert und deren Kommandos “zurückgefahren”. Um mehrere Sichten zusammen aktivieren zu können, müssen sie in einer Selektions-Gruppe (“SelectionGroup”) zusammengefasst werden. Siehe dazu den Parameter selectionGroup bei der Konfiguration einer Sicht.
Provider allgemein
<wms1 label="..." class="...">
[Parameter des Providers...]
</wms1>
- label: Beschreibung des Providers; für den Nutzer sinnvoll (im Moment nicht benutzt)
- class: die Definition des Providers (siehe einzelne Provider)
Bei Karten-Providern (MapImageProvider)
- zPriority: (ab Version 1.2) optional: bestimmt die Überlagerung der Provider; mögliche Werte: -100 bis 100
- opacity: (ab Version 1.2) optional: bestimmt das ‘Durchscheinen’ der darunter liegenden Provider; mögliche Werte: 0 bis 100;
Achtung: InternetExplorer (IE) ist nicht immer in der Lage diese Eigenschaft richtig anzuzeigen. Bei Darstellungsfehlern sollte der Wert auf 100 gesetzt werden.
Der Name des umschliessenden Tags ist frei wählbar, muss aber eindeutig unter allen Providern sein. Die Kommandos beziehen sich in ihrem providerId Parameter darauf.
Sichten allgemein
Der Name des umschliessenden Tags ist frei wählbar, muss aber eindeutig unter allen Maps sein.
<wms3 label="..." parentId="..." order="[int]" selectionGroup="..." mandatory="true|false" defaultActive="true|false">
[0, 1 oder mehrere Kommandos...]
</wms3>
- label: die Bezeichnung dieser Sicht im Baum
- parentId: der Eintrag, unter dem diese Sicht im Baum erscheint; die parentId-Sicht wird dadurch automatisch zu einem Ordner, der nicht mehr alleine aktiviert werden kann; die Sicht root existiert immer
- order (optional): Ordnungskriterium im Baum; sortiert die Sichten im Baum
- selectionGroup (optional): Zusammenfassung mehrere Sichten; diese können dadurch zusammen aktiviert (“verschnitten”) werden; der Name ist frei wählbar; im Moment kann eine Sicht nur in einer SelectionGroup sein
- mandatory (optional): schaltet diese Sicht zwingend an, wenn irgendeine andere Sicht aus derselben SelectionGroup angeschaltet wird.
- defaultActive (optional): schaltet die Sicht initial ein.
Kommandos allgemein
Der Name des umschliessenden Tags ist frei wählbar, muss aber eindeutig unter allen Kommandos dieser Map sein.
<command providerId="wms1" class="polymap2.wms.LoadLayerCommand" order="[int]">
[Parameter des Kommandos...]
</command>
- providerId: der Provider auf den sich dieses Kommando bezieht
- class: die Definition des Kommandos (siehe jeweiligen Provider)
- order: Reihenfolge der Kommandos; kleinste Werte werden zuerst ausgeführt





