I have a problem that has me stumped.

I am trying to place text on a map as a LABEL which I can successfully do
with the following code:

LAYER CONNECTIONTYPE postgis
        NAME "CartographicText"
        CONNECTION "user=postgres dbname=MasterMap host=localhost"
        DATA "geom FROM (SELECT toid, featurecode, textstring,
orientation/10 AS orientation, fontnumber, anchorposition, textstyle, geom
FROM cartographictext) AS foo USING UNIQUE toid" 

        METADATA
                "IMAGEFORMAT" "AGGA"
        END

        STATUS DEFAULT
  
        MINSCALEDENOM 1
        MAXSCALEDENOM 1300
        SYMBOLSCALEDENOM 1250

        TYPE ANNOTATION

        LABELITEM textstring

        CLASS
                # Road Name Or Classification
                EXPRESSION ([featurecode] = 10169)
                LABEL
                        TYPE truetype
                        FONT arial
                        SIZE 10
                        MAXSIZE 30
                        MINSIZE 0
                        COLOR  0 0 0
                        ANTIALIAS TRUE
                        ANGLE [orientation]
                END # LABEL
        END # CLASS

        CLASS
                # Building or Structure Text
                EXPRESSION ([featurecode] = 10026)
                LABEL
                        TYPE truetype
                        FONT arial
                        SIZE 7
                        MAXSIZE 21
                        MINSIZE 0
                        COLOR  0 0 0
                        ANTIALIAS TRUE
                        ANGLE [orientation]
                END # LABEL
        END # CLASS

END # LAYER

I want to add POSITION based on [anchorposition] from the database.

The database grid for anchorposition is as follows:

2  5  8
1  4  7
0  3  6

Whereas MapServer is as follows

ul uc ur
cl cc cr
ll lc lr

Which is probably:

0  1  2
3  4  5
6  7  8

The question is: Is it possible to take the values from the database and
convert them for use within the LABEL e.g. 2 = ul = "POSITION ul" or 5 = uc
= "POSITION uc"?

I would also like to be able to change the Font based on [fontnumber] from
the database e.g. 0 = Arial = "FONT arial" or 1 = Times = "FONT times"

Are these things possible?

Many thanks.

Regards,

Donald Kerr

_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to