Legendenskript

Diese Registerseite zeigt die für die darzustellenden Symbole erstellten Skripte an. Das Bearbeiten des IPALX- und ILF-Code ist bei den Legendentypen "Einfaches Symbol", "Klassifikation - Einzelwert" und "Klassifikation - Bereich" nicht zulässig.

Legenden_skript.png

Diese Registerseite zeigt die für die darzustellenden Symbole erstellten Skripte an. Das Bearbeiten des IPALX- und ILF-Code ist bei den Legendentypen "Einfaches Symbol", "Klassifikation - Einzelwert" und "Klassifikation - Bereich" nicht zulässig.

Beim Legendentyp "Skript-Eingabe" müssen die IPALX-Datei und die ILF -Datei durch den Anwender mittels Texteingabe in  den dafür vorgesehenen Eingabefenstern erstellt werden. Eine Validierung der definierten Symbole kann mit Hilfe der Vorschau durchgeführt werden. (Syntax des IPALX-Code und ILF-Code)

Beachten Sie, dass die Werte im ILF Code TAB getrennt sind (keine Leerzeichen).

Wichtiger Hinweis: Soll die Eigenschaft "theParameterFields" bei der Erstellung der Symbole ausgewertet werden, dann ist obligatorisch der Legendentyp "Skript-Eingabe" zu verwenden.

 

Beispiel: Erstellung eines Markersymbols unter Verwendung der Eigenschaft "theParameterFields"

Definition der Ebeneneigenschaften the Parameterfiels an der Ebene:

Notieren Sie hier den Namen der Spalte, die den Winkel enthält.

RegisterParameters2.png

Passen Sie das Skript im Symboleditor an. Fügen Sie die Zeile

RegisterParameters(6,for:"MARKER",angle:0);

hinzu.

RegisterParameters.png

Speichern und aktualisieren Sie die Ebeneneinstellungen.

Tipp: Erstellen Sie im Symboleditor das entsprechende Symbol bspw. auch eine Klassifikation und kopieren Sie sich dann den IPALX Code aus dieser Legendendefinition (Reiter Legendenskript) heraus und fügen Sie dies als Skript in die neue Legende hinzu.

Beispiel: Verwendung einer Sachdatenspalte 'SYMBOL_NUMBER' als CharacterCode für einen TrueTypeMarker

Ebeneneigenschaft theParameterFields: SYMBOL_NUMBER

Dazugehörige Definition im Symboleditor:

...
/* Symbol Nr.: 3 */
SetTrueTypeMarker(3,"Wingdings 2",20,"NONE","RGB(227,0,0)",152);
RegisterParameters(3,for:"MARKER",CHRCODE:0);
SetMarkerSize(3,"20px");

...
Erläuterung: Der TrueTypeMarker wird erst mit einem Standardzeichen (152) definiert. Über RegisterParameters wird dann für den Marker das Zeichen (CharacterCode) überschrieben, und zwar mit dem Wert aus der ersten Sachdatenspalte (Index 0), welche in theParameterFields (hier: SYMBOL_NUMBER) angegeben ist. 

Weitere Informationen zur Verwendung des Befehls  "RegisterPararameters" sind in der Dokumentation des Iwan-Webmapservers zu finden.

-> weiteres Beispiel für die Darstellung von Farbe und Symbolgröße aus einer Sachdatenspalte

Beispiel: Farbe und Symbolgröße

Im folgenden Beispiel werden über ein Legendenskript Symbolgröße und Farbe aus einer Datenbankspalte ausgelesen.

Voraussetzung:

  • Spalte mit Symbolgröße existiert
  • Spalte mit Farbwert existiert (Farbwerte im IWAN -> hier informieren)

 skript_01.png

Für die Ebene richten Sie eine neue Legende ein. Hier muss als Legende die Skripteingabe gewählt werden.

skript_02.png

Geben Sie nun einen IPALX Code ein, bspw.:

Go;
//auto-generated Iwan symbol palette, Generator: IDU.IwanLegendWriter
SetNewSymbolCount(4,false,false);

/* Symbol Nr.: 0 */
SetLinePropEx(0,"RGB(255,255,0)",0.5,0,
"PS_SOLID","NONE","PS_ENDCAP_ROUND","PS_JOIN_ROUND");
/* Symbol Nr.: 1 */
SetLinePropEx(1,"RGB(255,255,0)",0.5,0,
"PS_SOLID","NONE","PS_ENDCAP_ROUND","PS_JOIN_ROUND");
/* Symbol Nr.: 2 */
SetLinePropEx(2,"RGB(255,255,0)",0.5,0,
"PS_SOLID","NONE","PS_ENDCAP_ROUND","PS_JOIN_ROUND");
SetBrushPropEx(2,true,"RGB(255,255,0)","NONE","NULL");
SetBrushStyle(2,"BS_HATCHED","HS_FDIAGONAL");
/* Symbol Nr.: 3 */
SetTrueTypeMarker(3,"Webdings",15,"NONE","RGB(0,0,0)",110);
SetMarkerSize(3,"15px");
RegisterParameters(3,for:"MARKER",size:0,fgcolor:1);
End;

Die rote Zeile enthält die Angabe für die Symbolgröße (size) und die Symbolfarbe (fgcolor). Die Zahlen dahinter definieren die Spalten, die über die Eigenschaft theParameterFields in den Eigenschaften an der Ebene definiert wurden, beginnend bei 0.

 skript_03.png

Des Weiteren müssen Sie das Symbol aus der Legende im Feld theSymbol noch einrichten. (Auswahl aus der Liste).

Speichern und aktualisieren Sie die Ebene. Im Auskunftssystem wäre für dieses Beispiel Folgendes zu sehen:

skript_04.png

Rotationswinkel bei Punkten

Der Rotationswinkel ist für Iwan6 und Iwan7 Ebenen identisch. Startpunkt ist Nord, entgegengesetzt dem Uhrzeigersinn.