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).
Definition der Ebeneneigenschaften the Parameterfiels an der Ebene:
Notieren Sie hier den Namen der Spalte, die den Winkel enthält.
Passen Sie das Skript im Symboleditor an. Fügen Sie die Zeile
RegisterParameters(6,for:"MARKER",angle:0);
hinzu.
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.
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
Im folgenden Beispiel werden über ein Legendenskript Symbolgröße und Farbe aus einer Datenbankspalte ausgelesen.
Voraussetzung:
Für die Ebene richten Sie eine neue Legende ein. Hier muss als Legende die Skripteingabe gewählt werden.
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.
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: