[Mapserver-DE] Ausrichtung von Symbolen? mehrere Labelitems?

Torsten Weber TWeber at traffic-consult.de
Mon Mai 15 10:59:11 CEST 2006


Hallo Christian,

ich hatte ein ähnliches Problem. Hier meine Lösung:
Symboldatei:

SYMBOL
				NAME "mysymbol"
				TYPE pixmap
			  IMAGE "symgifs/mysymbol.gif"
END

Map-Datei:
	LAYER
		NAME "annolayer"
		PROJECTION
			"init=epsg:31467"
		END
    		DEBUG OFF
		CONNECTION "user/pass at ORABDB"
		CONNECTIONTYPE oraclespatial
		DATA "GEOLOC FROM (SELECT GEOLOC, ID FROM GEODATA) USING UNIQUE ID SRID 
31467"
		TYPE ANNOTATION
		CLASS
			NAME "symbolclass"
			TEMPLATE "void"
			STYLE
				ANGLE 90
				SYMBOL "mysymbol"
				SIZE 16
				MAXSIZE 50
				MINSIZE 20
			END
			TEXT ' ' # kein leerer Text sondern 1 Leerzeichen!
			LABEL
				COLOR 255 255 255 # Die Farbe ist eigentlich unwichtig
			END
		END # Class
	END # Layer

Das Ganze ist ein wenig "von Hinten durch die Brust ins Auge!"
Das kommt dabei raus:
Die Daten werden aus der Datenbank geholt (bei mir Linien-Objekte). Hierfür 
werden Label-Positionen automatisch berechnet. An diesen Stellen wird das Gif 
Symbol um 90 Grad gedreht dargestellt.

Folgendermaßen funktioniert es:
Der Annotaion Layer wird nur dargestellt, wenn er Text enthält. Wenn man nur 
den Style Block mit dem Symbol angibt kommt nix raus. Daher der Trick einfach 
ein Leerzeichen als Label zu benutzen. Ich gehe mal davon aus, dass das 
Leerzeichen auch gerendert wird, jedoch als Leerzeichen unsichtbar bleibt.

Ob das Ganze im Sinne der Entwickler ist, weiß ich nicht. Kann also sein, dass 
es nicht bei allen Versionen funktioniert. Es funktioniert bei mir aber mit 
dem Mapserver 4.8.3.

Ich hoffe das hilft weiter.

Grüße

Torsten Weber

Am Montag, 15. Mai 2006 09:56 schrieb Christian Wilmes:
> >Hallo,
>
> danke erst mal fuer die Antwort. Vll hab ich mich in der letzten email
> etwas ungluecklich ausgedrueckt aber was ich wollte sind schon gedrehte
> Symbole. Hatte dann den Tipp bekommen, dass man so etwas ueber Labels
> realisieren kann. Also was mir jetzt im Prinzip fehlt ist das Fontset. Als
> Symbol moechte ich gif-Grafiken verwenden. Hoffe das das irgendwie geht und
> mir vll auch jemand weiterhelfen kann wie das Fontset fuer so etwas
> aussehen muss.
>
> Danke
> Christian
>
>
>
> --- Ursprüngliche Nachricht ---
>
> > Von: "Flavio Hendry" <flavio at tydac.ch>
> > An: "Christian Wilmes" <C.Wilmes at gmx.de>, Mapserver-DE at freegis.org
> > Betreff: Re: [Mapserver-DE] Ausrichtung von Symbolen? mehrere Labelitems?
> > Datum: Fri, 12 May 2006 16:39:12 +0200
> >
> > hi christian
> >
> > beispiel mit mapinfo daten wie folgt:
> >
> > - die "labelitems" steuern winkel, grösse und text; beim text handelt es
> > sich um das eigentliche smybol (buchstabe korrespondiert mit symbol in
> > der fontdatei, also u=Ovalschacht); s. auch http://umn.mapserver.ch
> > unter true type symbole; smybole müssen aber in diesem fall nicht
> > definiert werden, es sind ja alles texte .........
> > - klassen steuern dann die farben
> > - in der beilage das resultat: schächte etc. gedreht ...
> >
> > LAYER
> > 	NAME "Leitungen, Symbole"
> > 	TYPE ANNOTATION
> > 	MAXSCALE 600
> > 	STATUS ON
> > 	CONNECTIONTYPE OGR
> > 	CONNECTION "LK/Symbole_MI.TAB"
> > 	LABELITEM "text"
> > 	LABELANGLEITEM "angle"
> > 	LABELSIZEITEM "size"
> > 	POSTLABELCACHE true
> > 	SIZEUNITS inches
> > 	CLASSITEM igds_color
> > 		CLASS
> > 			EXPRESSION "4"
> > 			LABEL
> > 				ANTIALIAS TRUE
> > 				TYPE TRUETYPE
> > 				FONT lids
> > 				COLOR 0 170 255
> > 				POSITION ur
> > 			END
> > 		END
> > 		CLASS
> > 			EXPRESSION "40"
> > 			LABEL
> > 				ANTIALIAS TRUE
> > 				TYPE TRUETYPE
> > 				FONT lids
> > 				COLOR 80 80 80
> > 				POSITION ur
> > 			END
> > 		END
> > 		CLASS
> > 			EXPRESSION "41"
> > 			LABEL
> > 				ANTIALIAS TRUE
> > 				TYPE TRUETYPE
> > 				FONT lids
> > 				COLOR 0 0 225
> > 				POSITION ur
> > 			END
> > 		END
> > 		CLASS
> > 			EXPRESSION "42"
> > 			LABEL
> > 				ANTIALIAS TRUE
> > 				TYPE TRUETYPE
> > 				FONT lids
> > 				COLOR 0 225 0
> > 				POSITION ur
> > 			END
> > 		END
> > 	PROJECTION
> > 	 "init=world:CH1903"
> > 	END
> > END
> >
> > Mit freundlichem Gruss / Best Regards
> > Flavio Hendry
> >
> > ----------------------------------------------------------------
> > TYDAC NEWS http://www.tydac.ch/german/index.php?menu=News_actual
> > ----------------------------------------------------------------
> > ############      Mit freundlichen Gruessen / Kind Regards
> > ############             mailto:flavio at tydac.ch
> > ############         TYDAC AG - http://www.tydac.ch
> > ####    ####        Geographic Information Solutions
> > ####    ####         Luternauweg 12 -- CH-3006 Bern
> > ############   Tel +41 (0)31 368 0180 - Fax +41 (0)31 368 1860
> > ----------------------------------------------------------------




This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)