Letzte Änderung:  
29.03.2010 13:10:12
 
ein Counter...
Anmelden
  Dokumentation - [Symbole und Klassifikation] - [Symbole] - [Liniensymbole]  
Bild Über IWAN
Bild Das Produkt
Bild ein wenig Technik
Bild Referenzen
Bild Open GIS
Bild History
Bild Aktuelle Änderungen

Bild Dokumentation
Bild Datenzugriff
Bild IwanScript
Bild Symbole und Klassifikation
PixelBild Maßstabsab. Darstellung
PixelBild Symbole
PixelBild Allgemeine Befehle
PixelBild Flächensymbole
PixelBild Liniensymbole
PixelBild Punktsymbole
PixelBild Textsymbole
PixelBild Klassifikationen
PixelBild Kartenqualität
PixelBild Beispielsymbole
Bild How-To's
Bild Beispielskripten

Bild Kontakt/Impressum
Bild Kontakt
Bild Impressum
Bild Haftungsausschluss
Bild Copyright
Bild Weitere Links

 

Liniensymbole

SetLinePropEx
Überschreibt Angaben eines Stiftes
Syntax:
SetLinePropEx(SymbolNummer,Color,
Width,RefScale,
Style,UserStyle,{EndCap},{EndJoin});
Ändert die Farbe, Stärke und den Stil eines Stiftes.
Mögliche Werte für Style sind: PS_SOLID, PS_DASH, PS_DOT, PS_DASHDOT, PS_DASHDOTDOT, PS_NULL, PS_INSIDEFRAME, PS_USERSTYLE.
Bei der Angabe von PS_USERSTYLE muss ein UserStyle als kommaseparierte Zeichenkette übergeben werden.
Bei allen anderen Stilen muss "none" eingetragen werden.

Die optionalen Argumente "Cap" und "Join" stehen ab Version 3.2.0 zur Verfügung.
Eine Beschreibung der möglichen Parameter finden Sie z.B. hier. Zu beachten ist, das die Reihenfolge der Parameter zu berücksichtigen ist. So kann kein Jointyp angegeben werden ohne einen gültigen Cap-Type zu definieren. Werte für EndCap : PS_ENDCAP_ROUND,PS_ENDCAP_SQUARE,PS_ENDCAP_FLAT
Werte für EndJoin: PS_JOIN_BEVEL,PS_JOIN_MITER,PS_JOIN_ROUND

Go;
  /*
   Braune, 4mm starke Linie, nicht skaliert mit einem "Strich-keinstrich"
   Intervall von 10,20.
  */
  SetLinePropEx(12,"Brown",4,0,"PS_USERSTYLE","10,20");
End;

SetPenBrushStyle
Weist der Linie einen Pinsel zu Darstellung zu.
SetPenBrushStyle(SymbolNummer,"BrushType","BrushHatch");
Die möglichen Parameter sind unter SetBrushStyle dokumentiert.

SetLineWidthReference
Mit dieser Option kann die Breite eines Liniensymbol relativ zu einem anderen Symbol erfolgen.
SetLineWidthReference (ForSymbol,ReferenceSymbole,DistanceInPixel);
Bsp.:
SetLineWidthReference(10,11,5);
legt fest, dass das Symbol N° 10 immer 5 Pixel breiter als Symbol N° 11 dargestellt wird.
Alle anderen Breitenangaben für Symbol 10 werden dabei ignoriert.
Negative Werte sind ebenso zulässig. Zu beachten ist dabei, das diese in Quoten (Hochkomma) angegeben werden müssen.

SetLineEndType
Mit dieser Option wird der Linienabschluss für Liniengeometrieen festgelegt.
SetLineEndType(ForSymbol,
Type:{ARROWEND|ARROWSTART|ARROWBOTH},
Length:lengthInMM,
Radius:radiusInMM,
Angle:AngleInGrad);

Als Typ sind folgenden Angabe möglich:

  • ARROWSTART,ARROWEND,ARROWBOTH
  • CIRCLESTART,CIRCLEEND,CIRCLEBOTH

Je nach Type (Pfeil oder Kreis) werden die entsprechenden Argumente erwartet. Für Pfeile muss angegeben werden: length und Angle, für Kreise muss radius angegeben werden. Wiederholtes aufrufen für ein Symbol ist möglich. Wenn dieses Symbol eine Füllung definiert, dann wird auch der Kreis gefüllt dargestellt. Die Pfeile und Kreise skalieren dann, wenn die Linienskalierung durch einen Bezugsmaßstab definiert wurde.

Go;
/*
Stellt eine Linie mit Pfeil in Digitialisierichtung und
einem Kreis als Abschluss dar. Die Linienbreite wurde
als skalierende definiert, ist aber nur 0 Px - daher
konstant als 1Pixel Darstellung
*/
SetNewSymbolCount(5,false,false);
SetLinePropEx(4,"Red",0,10000,"PS_SOLID","none","PS_ENDCAP_SQUARE","PS_JOIN_BEVEL");
SetBrushPropEx(4,false,"red","none","null");
SetLineEndType(4,type:"ARROWEND",length:10,angle:15);
SetLineEndType(4,type:"CIRCLESTART",radius:2);
End;


-- 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):


BeginPattern(4,"White",8,8,10000);
SetPatternTargetPen();
SetPatternMode("COLOR","RED");
Line(3,0,50,100,50);
Line(3,50,50,50,30);
Box(7,40,30,60,10);
EndPattern();
SetAntialias(4,true);

Erzeugt diese Ausgabe:

Line als Pattern

Druckersymbol Druckversion dieser Seite 

Zuletzt geändert am 06.11.09 (th)
Seitenalias: "SetLinePropEx, SetPenBrushStyle, SetLineWidthReference,SetLineEndType"
   Sitemap | IDU Homepage: [http://www.idu.de] cardo Homepage: [http://www.cardogis.com] GDDB Homepage: [http://www.gddb.de]