SetNewSymbolCount | ||||||||||||||||||||||||||||||||||||||||||||||||
Verändert die Anzahl der Symbol in dem Symbolset. Es werden keine Symbole gelöscht, nur hinzugefügt. Syntax: SetNewSymbolCount(NewCount,MitPinsel,MitStiften);Umfasst das Symbolset weniger als "NewCount" Elemente, wird die Anzahl der Symbole entsprechend erhöht. Ist "MitPinsel" als wahr definiert, werden den neuen Symbolen Standardpinsel zugewiesen (Schwarz gefüllt). Wurde "MitStiften" als wahr angegeben, werden auch Standardstifte zugewiesen. (0px,Schwarz,nicht skaliert). Eine Kombination ist natürlich möglich. |
||||||||||||||||||||||||||||||||||||||||||||||||
SetMinMaxWidth | ||||||||||||||||||||||||||||||||||||||||||||||||
Diese Option bietet die Möglichkeit eine Größenbeschränkung in Pixeln für ein beliebiges Sybmol zu definieren. Die Eigenschaften beziehen sich auf:
|
||||||||||||||||||||||||||||||||||||||||||||||||
SetROPCode | ||||||||||||||||||||||||||||||||||||||||||||||||
definiert die Angabe wie die Pixel dieses Objektes mit darunterliegenden Pixeln kombiniert wird. Die ROP-Codes sind z.B. der MSDN zu entnehmen und der Funktion im Klartext zu übergeben. Syntax: SetROPCode(SymbolNummer,"R2_MASKPEN");... wobei R2_MASKPEN einen der gültigen Werte darstellt. |
||||||||||||||||||||||||||||||||||||||||||||||||
SetSymbolRule | ||||||||||||||||||||||||||||||||||||||||||||||||
Dieser Befehl ermöglicht die Auswahl einer maßstabsabhängigen Symboldarstellung. Die Regel kann beliebig verschachtelt werden.
SetSymbolRule(SymbolNummer,AlternativeSmbNr,minScale,maxScale);Bsp: SetSymbolRule(16,17,0,10000); Legt fest, dass das Symbol mit Nummer 16 dann zu Symbol Nummer 17 wird, wenn der Kartenmaßstab NICHT im Bereich von 0 <= x <= 10000 liegt. |
||||||||||||||||||||||||||||||||||||||||||||||||
SetSymbolTypes | ||||||||||||||||||||||||||||||||||||||||||||||||
Legt die Typen (Linie,Punkt,Fläche,Schrift) eines Symbol fest. Wird der Typ aktiviert und ist noch nicht vorhanden, wird ein Standardtyp erstellt. Syntax:SetSymbolTypes(SymbolNummer,Pinsel,Stift,Marker,Schrift);Die Angaben werden als Boolean Werte interpretiert (true,false,0,1,"y",...) |
||||||||||||||||||||||||||||||||||||||||||||||||
SetSymbolOffset | ||||||||||||||||||||||||||||||||||||||||||||||||
Gibt den Offset für Symbole in Pixeln an. wird Z.z. nur für Liniensymbole ausgewertet. Der Offset ist immer ein Wert in der Einheit Pixel. Syntax: SetSymbolOffset(SymbolNummer,:pixelWert);Für die Werte werden benannte Argumente verwendet. Die Angabe erfolgt in der Form : Argument:Wert. Möglich sind dabei z.Z.:
|
||||||||||||||||||||||||||||||||||||||||||||||||
SetPrintColors | ||||||||||||||||||||||||||||||||||||||||||||||||
Hierbei kann für jedes Element eines Symboles eine alternative Farbe gewählt werden. Diese kommt dann zum Einsatz, wenn das entsprechende Flag vor der Bilderstellung gesetzt wurde.
SetPrintColors(SymbolNummer,:Color);Für die Symboleigenschaft werden benannte Argumente verwendet. Die Angabe erfolgt in der Form : Argument:Wert. Soll z.B. die Farbe des Stiftes und des Pinsel gesetzt werden ist ein Aufruf in der Form: SetPrintColors(10,Pen:"Red",Brush:"#FF00DD"); erforderlich. |
||||||||||||||||||||||||||||||||||||||||||||||||
RegisterParameters | ||||||||||||||||||||||||||||||||||||||||||||||||
Oft steht das Problem bestimmte Formen der Darstellung in Abhängigkeit von Attributen der Datenquelle zu realisieren. Die bisherigen Möglichkeiten durch Legendendateien sind nicht in jedem Fall ausreichend. Soll z.B. ein Punktsymbol in Abhängigkeit eines Wertes gedreht werden, müssen entsprechende Klassifikationen vorgenommen werden. Um dieses Vorgehen zu vereinfachen besteht ab Server Version 3.3.1.1020 die Möglichkeit Parameteran Datenquellen zu definieren, welche bei der Darstellung des jeweiligen Datensatzes dem Symbol übergeben werden. Die Parameter beeinflussen bei allen Arten der Symboldefinition die Darstellung, sei es aus einer Klassifikation oder als Einzelsymbol. Ebenso werden alle weiteren Symboleigenschaften (z.b. Regeln, Min/Max Angaben) berücksichtigt. RegisterParameters(ForSymbol,For:"SUBTYPE",Alle Argumente außer der Symbolnummern werden als "Benannte" Argumente übergeben. Es muss mindestens eine Option sowie die Angabe für den Subtype enthalten sein. Zulässige Argumente für den Parameter For sind:
|
-- Ab Version 3.4.x stehen folgende weitere Optionen zur Verfügung --
beachten Sie auch die Hinweise zur Kartenqualität.
SetAntialias
Um die Qualität der Ausgabe zu verbessern, kann Antialiasing verwendet werden.
SetAntialias(SymbolNummer,<true|false>);
Diese Option erwirkt ein Wechsel der Renderingengine. Dadurch stehen einige Optionen nicht zur Verfügung.
Hinweis: Zur Zeit sollten diese Option nur mit durchgezogenen Linien (Typ: SOLID) verwendet werden. Weitere Hinweise finden Sie unter Kartenqualität.
SetAlphaValue
Um halbtransparente Flächen (oder Linien) darzustellen kann der Alpha-Wert für ein Symbol definiert werden
SetAlphaValue(SymbolNummer,<0...100>);
Auch diese Option erwirkt ein Wechsel der Renderingengine mit entsprechenden Einschränkungen.
Hinweis: Zur Zeit sollte diese Option nur in Verbindung mit durchgezogenen Linien (Typ: SOLID) und/oder voll gefüllten Flächen verwendet werden.
Je kleiner der Alphawert ist, desto durchscheinender wird die Darstellung ausfallen. 100 bedeute "Keine Transparenz". Wie bereits erwähnt, hat diese Angabe z.Z. keine Auswirkungen auf Punkte oder Texte. Bei Symbolen, welche nicht der genannten Beschreibung entsprechen, werden alle weiteren Attribute, wie z.B. Schraffuren etc., ignoriert.
MakeSymbolGroup
Die Darstellung von Symbolen aus mehreren Ebenen stellt ein besonderes Problem dar. Typisch dafür sind Straßendarstellungen. Eine dickere Linie wird mit einer andersfarbigen dünneren überlagert und so entsteht eine Darstellung wie aus dem Stadtplan gewohnt. Es können beliebig viele solcher Ebenen definiert werden. Die Zeichenreihenfolge entspricht der Definition.
MakeSymbolGroup(parentSymbolNumber,childSymbolNumber);
Das Objekt wird erst mit Symbol "Parent" gezeichnet, unmittelbar danach mit dem Symbol "Child". Die Performance ist dabei nicht sehr gut.
Hinweis: Die neuen Möglichkeiten bei der Definition einer Klassifikation (ILF) sind möglichst vorzuziehen. Dabei sind sowohl die Geschwindigkeit als auch in der Darstellungsqualitätbedeutend besser.
SetBrushPropEx | |||
Überschreibt Farbangaben eines Pinsel. Bei Schraffuren kann hier die Transparenz deaktiviert werden. Syntax: SetBrushPropEx(SymbolNummer,Transparent,Um schraffierten Flächen eine Hintergrundfarbe zuzuweisen (*nicht* durchsichtig) muss dem Argument Transparent "false" übergeben werden. Soll die Rahmenfarbe nicht geändert werden, wird hier das Argument "null" erwartet (als Zeichenkette). |
|||
SetBrushStyle | |||
Überschreibt Stile eines Pinsel. Syntax: SetBrushStyle(SymbolNummer,Stil,Hatch);Setzt den Stil eines Pinsels, (BS_SOLID,BS_NULL,BS_HATCHED). Wenn der Stil BS_HATCHED ist, können folgende Schraffurwerte angeben werden : HS_BDIAGONAL,HS_CROSS,HS_DIAGCROSS,HS_FDIAGONAL,HS_HORIZONTAL,HS_VERTICAL. Alternativ ist der Wert "NONE" anzugeben. |
|||
BeginPattern / EndPattern | |||
Durch die folgenden Funktionen kann ein Füllmuster (Pattern) generiert werden. Die Definition erfolgt in einem Block, beginnend mit BeginPattern und wird mit EndPattern beendet. Eine Schachtelung ist nicht möglich. Innerhalb eines Pattern können beliebig viele Zeichenoperationen angegeben werden. Ein Pattern wird intern als Bitmap erzeugt und in gewissen (festzulegenden) Bereichen skaliert. Eine transparente Darstellung ist z.Z. *nicht* möglich. Diese Bitmap wird dann als "Pinsel" verwendet und wiederholt in die Fläche gezeichnet. Alle folgenden Befehle sind nur innerhalb einer Patterndefinition zu verwenden. BeginPattern(SymbolNummer,Grundfarbe,Breite_in_mm,Höhe_in_mm,Bezugsmaßstab);Diese Angabe weist dem angegeben Symbol dieses Pattern zu und beginnt den Definitionsblock. Wird diese Symbol später zur Flächendarstellung verwendet, werden alle anderen Fülleigenschaften dieses Symbol ignoriert Die Größenangabe erfolg in mm bei angegebenem Maßstab. Ist der Maßstab "0", wird das Patter nicht skaliert.
Nachdem alle Angaben für dieses Pattern getroffen wurden, wird der Definitionsblock mit EndPattern();
beendet. ein Beispiel:
Beispiele für Bitmapmodus: Go; /* Diese Angabe erzeugt ein Pattern für Symbol N° 1 mit rotem Hintergrund und Grünen Linien. Die Definition erfolgt als Bit-Block. Die Bitmap besteht aus 8x8 Pixel mit einer Farbtiefe von einem Bit (monochrome). */ BeginPattern(1,"Red",8,8,0); SetPatternMode("BITMAP","Green"); SetBitmap(1,"stipple: 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001" ); EndPattern(); End;
Go;
|
-- Ab Version 3.4.x stehen folgende weitere Optionen zur Verfügung -- beachten Sie auch die Hinweise zur Kartenqualität. Für die Darstellung von komplexen Linientypen können auch die von Brushs bekannten Pattern eingesetzt werden. Dabei handelt es sich um (auch skalierbare) Bitmaps, welche entlang der Linie dargestellt werden. Die Darstellungsmöglichkeiten werden nahezu unbegrenzt erweitert. Um ein Pattern für eine Linie zu aktivieren, muss das Pattern mit dem Befehl: SetPatternTargetPen() für ein Liniensymbol festgelegt werden. Mit diesem Befehl wird das Pattern nicht zur Flächenfüllung, sondern nur für die Linieneigenschaften des jeweils darzustellenden Objektes festgelegt. Ein Beispiel (Auszug aus einer Ipalx-Datei):
Erzeugt diese Ausgabe: |
|||||||||||
SetTextProp | |||||||||||||||
Ändert/aktiviert die Schriftart für das angegebene Symbol Syntax: SetTextProp(SymbolNummer,Schriftart,Schriftart ist der Name der Schriftart, z.B. "Arial". Referenzscale von "0" erstellt eine nichskalierende Schrift. Ansonsten "Größe" bei "RefScale". Für "Kursiv" wird eine boolsche Angabe ("true/false") erwartet. Bei der Schriftstärke kann optional "true/false" (Fett oder nicht) oder ein Wichtungswert eingegeben werden (in 100'er Schritten, wobei 400=Normal,700=Bold ist) |
|||||||||||||||
SetTextPropEx | |||||||||||||||
Dient der Einstellung erweiterter Textparameter. Alle Argumente außer der Symbolnummern werden als "Benannte" Argumente erwartet und sind somit optional. Die möglichen Argumente im einzelen...
Syntax: SetTextPropEx(SymbolNummer,Quality:"NONANTIALIASED",Underline:true);Definiert in diesem Beispiel eine Schrift mit deaktivierten Antialias unter einer Unterstreichung. Für weitere Informationen zu den Parametern sei auf die MSDN verwiesen. |