Car track representation

Stéphane RIFF stephane.riff at CERENE.FR
Tue Jul 12 03:36:58 EDT 2005


Hello,

I develop a little apps that shaow gps tracks on a map.
I want to show all the car track in a day. Each track have a different 
color from the precedent.
To limit the number of classes i rotate on seven colors.
All track are classify by a start date and a stop date.

What i want to know is if i use the most efficient layer definition to 
do that ???
Here the layer def in the mapfile :

  LAYER
    CLASSITEM "gps_date"
    CONNECTION "host=localhost dbname=database1 port=5432 user=usr1 
password=pwd1"
    CONNECTIONTYPE POSTGIS
    DATA "geom from history"
      FILTER ( (natural_id=1002514153) AND (TIMESTAMP '2005-07-11 
00:00:01',TIMESTAMP '2005-07-11 23:59:59') OVERLAPS (date,INTERVAL '0 
days'))
    GROUP "G.P.S"
    LABELANGLEITEM "heading"
    LABELCACHE OFF
      METADATA
      END
    NAME "GPS_REM"
    PROJECTION
      "init=epsg:4326"
    END
    SIZEUNITS PIXELS
    STATUS ON
    TOLERANCE 6
    TOLERANCEUNITS PIXELS
    TRANSPARENCY 1000
    TYPE ANNOTATION
    UNITS METERS
    CLASS
      NAME "0"
      EXPRESSION ( ('[gps_date]' >= '2005-07-11 06:57:06' AND 
'[gps_date]' < '2005-07-11 07:02:36')
                                OR ('[gps_date]' >= '2005-07-11 
12:16:09' AND '[gps_date]' < '2005-07-11 12:18:49')
                                OR ('[gps_date]' >= '2005-07-11 
17:29:04' AND '[gps_date]' < '2005-07-11 17:37:54')
                                OR ('[gps_date]' >= '2005-07-11 
19:18:58' AND '[gps_date]' < '2005-07-11 19:19:13')
                                OR ('[gps_date]' >= '2005-07-11 
20:24:25' AND '[gps_date]' < '2005-07-11 20:38:05') )
      LABEL
        ANGLE -21.000000
        ANTIALIAS TRUE
        FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
        BUFFER 0
        COLOR 0 128 128
        FORCE TRUE
        MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
            END
      METADATA
      END
      STYLE
          COLOR 0 0 255
        MAXSIZE 500
        MINSIZE 1
        SIZE 14
        SYMBOL "point"
      END
      TEMPLATE "dummy"
      TEXT "b"
    END
    CLASS
      NAME "1"
      EXPRESSION ( ('[gps_date]' >= '2005-07-11 07:10:19' AND 
'[gps_date]' < '2005-07-11 07:48:45')
                                OR ('[gps_date]' >= '2005-07-11 
12:18:49' AND '[gps_date]' < '2005-07-11 12:34:15')
                                OR ('[gps_date]' >= '2005-07-11 
17:37:54' AND '[gps_date]' < '2005-07-11 18:00:53')
                                OR ('[gps_date]' >= '2005-07-11 
19:29:20' AND '[gps_date]' < '2005-07-11 19:30:05')
                                OR ('[gps_date]' >= '2005-07-11 
20:38:05' AND '[gps_date]' < '2005-07-11 20:44:50') )
      LABEL
        ANGLE -21.000000
        ANTIALIAS TRUE
        FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
        BUFFER 0
        COLOR 0 0 128
        FORCE TRUE
        MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
      END
      METADATA
      END
      STYLE
          COLOR 0 0 255
        MAXSIZE 500
        MINSIZE 1
        SIZE 14
        SYMBOL "point"
      END
      TEMPLATE "dummy"
      TEXT "b"
    END
        CLASS
      NAME "2"
      EXPRESSION ( ('[gps_date]' >= '2005-07-11 07:56:22' AND 
'[gps_date]' < '2005-07-11 08:00:22')
                                OR ('[gps_date]' >= '2005-07-11 
12:37:30' AND '[gps_date]' < '2005-07-11 12:44:30')
                                OR ('[gps_date]' >= '2005-07-11 
18:00:53' AND '[gps_date]' < '2005-07-11 18:33:29')
                                OR ('[gps_date]' >= '2005-07-11 
19:37:37' AND '[gps_date]' < '2005-07-11 19:39:52')
                                OR ('[gps_date]' >= '2005-07-11 
20:44:50' AND '[gps_date]' < '2005-07-11 20:46:35') )
      LABEL
        ANGLE -168.000000
        ANTIALIAS TRUE
        FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
        BUFFER 0
        COLOR 128 0 128
        FORCE TRUE
        MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
      END
      METADATA
      END
      STYLE
          COLOR 0 0 255
        MAXSIZE 500
        MINSIZE 1
        SIZE 14
        SYMBOL "point"
      END
      TEMPLATE "dummy"
      TEXT "b"
    END
    CLASS
      NAME "3"
      EXPRESSION ( ('[gps_date]' >= '2005-07-11 08:02:07' AND 
'[gps_date]' < '2005-07-11 08:19:54')
                                OR ('[gps_date]' >= '2005-07-11 
15:21:47' AND '[gps_date]' < '2005-07-11 15:38:00')
                                OR ('[gps_date]' >= '2005-07-11 
18:33:29' AND '[gps_date]' < '2005-07-11 18:42:53')
                                OR ('[gps_date]' >= '2005-07-11 
19:52:07' AND '[gps_date]' < '2005-07-11 20:05:55')
                                OR ('[gps_date]' >= '2005-07-11 
20:47:35' AND '[gps_date]' < '2005-07-11 20:47:50') )
      LABEL
        ANGLE -261.000000
        ANTIALIAS TRUE
        FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
                BUFFER 0
        COLOR 128 128 128
        FORCE TRUE
        MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
      END
      METADATA
      END
      STYLE
          COLOR 0 0 255
        MAXSIZE 500
        MINSIZE 1
        SIZE 14
        SYMBOL "point"
      END
      TEMPLATE "dummy"
      TEXT "b"
    END
    CLASS
      NAME "4"
      EXPRESSION ( ('[gps_date]' >= '2005-07-11 08:20:09' AND 
'[gps_date]' < '2005-07-11 08:21:24')
                                OR ('[gps_date]' >= '2005-07-11 
15:41:45' AND '[gps_date]' < '2005-07-11 16:53:00')
                                OR ('[gps_date]' >= '2005-07-11 
18:42:53' AND '[gps_date]' < '2005-07-11 18:46:38')
                                OR ('[gps_date]' >= '2005-07-11 
20:05:55' AND '[gps_date]' < '2005-07-11 20:10:40')
                                OR ('[gps_date]' >= '2005-07-11 
21:24:58' AND '[gps_date]' < '2005-07-11 21:25:28') )
      LABEL
        ANGLE -286.000000
        ANTIALIAS TRUE
        FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
        BUFFER 0
        COLOR 0 0 0
        FORCE TRUE
        MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
      END
      METADATA
      END
      STYLE
          COLOR 0 0 255
        MAXSIZE 500
                MINSIZE 1
        SIZE 14
        SYMBOL "point"
      END
      TEMPLATE "dummy"
      TEXT "b"
    END
    CLASS
      NAME "5"
      EXPRESSION ( ('[gps_date]' >= '2005-07-11 08:46:27' AND 
'[gps_date]' < '2005-07-11 09:15:20')
                                OR ('[gps_date]' >= '2005-07-11 
16:53:00' AND '[gps_date]' < '2005-07-11 17:20:19')
                                OR ('[gps_date]' >= '2005-07-11 
18:55:38' AND '[gps_date]' < '2005-07-11 18:59:08')
                                OR ('[gps_date]' >= '2005-07-11 
20:10:40' AND '[gps_date]' < '2005-07-11 20:20:10') )
      LABEL
        ANGLE -11.000000
        ANTIALIAS TRUE
        FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
        BUFFER 0
        COLOR 128 128 0
        FORCE TRUE
        MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
      END
      METADATA
      END
      STYLE
          COLOR 0 0 255
        MAXSIZE 500
        MINSIZE 1
        SIZE 14
        SYMBOL "point"
      END
      TEMPLATE "dummy"
      TEXT "b"
    END
    CLASS
      NAME "6"
      EXPRESSION ( ('[gps_date]' >= '2005-07-11 11:21:04' AND 
'[gps_date]' < '2005-07-11 11:50:10')
                                OR ('[gps_date]' >= '2005-07-11 
17:20:19' AND '[gps_date]' < '2005-07-11 17:29:04')
                                OR ('[gps_date]' >= '2005-07-11 
19:12:43' AND '[gps_date]' < '2005-07-11 19:16:58')
                                OR ('[gps_date]' >= '2005-07-11 
20:20:10' AND '[gps_date]' < '2005-07-11 20:21:25') )
      LABEL
        ANGLE -6.000000
        ANTIALIAS TRUE
                FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
        BUFFER 0
        COLOR 255 0 255
        FORCE TRUE
        MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
      END
      METADATA
      END
      STYLE
          COLOR 0 0 255
        MAXSIZE 500
        MINSIZE 1
        SIZE 14
        SYMBOL "point"
      END
      TEMPLATE "dummy"
      TEXT "b"
    END
    CLASS
      NAME "stop"
      EXPRESSION ( ('[gps_date]' eq '2005-07-10 23:04:48')  OR 
('[gps_date]' eq '2005-07-11 07:02:36')
                                OR ('[gps_date]' eq '2005-07-11 
07:48:45')  OR ('[gps_date]' eq '2005-07-11 07:53:52')
                                OR ('[gps_date]' eq '2005-07-11 
08:00:22')  OR ('[gps_date]' eq '2005-07-11 08:19:54')
                                OR ('[gps_date]' eq '2005-07-11 
08:21:24')  OR ('[gps_date]' eq '2005-07-11 08:22:24')
                                OR ('[gps_date]' eq '2005-07-11 
09:15:20')  OR ('[gps_date]' eq '2005-07-11 11:50:10')
                                OR ('[gps_date]' eq '2005-07-11 
12:34:15')  OR ('[gps_date]' eq '2005-07-11 12:44:30')
                                OR ('[gps_date]' eq '2005-07-11 
13:39:04')  OR ('[gps_date]' eq '2005-07-11 15:38:00')
                                OR ('[gps_date]' eq '2005-07-11 
18:46:38')  OR ('[gps_date]' eq '2005-07-11 18:59:08')
                                OR ('[gps_date]' eq '2005-07-11 
19:16:58')  OR ('[gps_date]' eq '2005-07-11 19:19:13')
                                OR ('[gps_date]' eq '2005-07-11 
19:30:05')  OR ('[gps_date]' eq '2005-07-11 19:34:37')
                                OR ('[gps_date]' eq '2005-07-11 
19:34:52')  OR ('[gps_date]' eq '2005-07-11 19:39:52')
                                OR ('[gps_date]' eq '2005-07-11 
19:41:52')  OR ('[gps_date]' eq '2005-07-11 19:45:22')
                                OR ('[gps_date]' eq '2005-07-11 
19:45:37')  OR ('[gps_date]' eq '2005-07-11 19:48:37')
                                OR ('[gps_date]' eq '2005-07-11 
19:48:52')  OR ('[gps_date]' eq '2005-07-11 19:50:07')
                                OR ('[gps_date]' eq '2005-07-11 
20:21:25')  OR ('[gps_date]' eq '2005-07-11 20:23:55')
                                OR ('[gps_date]' eq '2005-07-11 
20:46:35')  OR ('[gps_date]' eq '2005-07-11 20:47:50')
                                OR ('[gps_date]' eq '2005-07-11 
21:25:28')  OR ('[gps_date]' eq '2005-07-11 22:38:02') )
      LABEL
        ANGLE -244.000000
        ANTIALIAS TRUE
        FONT Symbols
        MAXSIZE 256
        MINSIZE 4
        SIZE 14
        TYPE TRUETYPE
        BUFFER 0
        COLOR 255 0 0
        FORCE TRUE
                MINDISTANCE -1
        MINFEATURESIZE -1
        OFFSET 0 0
        PARTIALS TRUE
        POSITION CC
      END
      METADATA
      END
      TEMPLATE "dummy"
      TEXT "f"
    END
  END

Maybe someone know a better definition to set Expression based on date ???
Thanks for reading



More information about the mapserver-users mailing list