[mapserver-users] Issue with run-time substitution?

Stephen Davies sdavies at sdc.com.au
Tue Aug 30 18:33:21 PDT 2011


I have further reduced a test map file and changed the sequence of statements 
but one substitution still fails.

I have a number of other map files where substitution works as expected and the 
wfilter substitution in this example also works as expected but I cannot see 
what is different about the vucv case.

The URL looks like this:

http://www.agua.com.au/cgi-bin/mapserv?map=/tmp/q.map
&mapext=138.4324071+-35.2807010+138.5729945+-35.1222989
&mre=-1070114.26+-4230140.65+289096.72+-2872042.86
&wfilter=id+in+%2847%29&vucv=137_11

The minimal map file is:

# template map file for Agua Soil Database Water Mgt
#
MAP
  NAME watermgt
   

    PROJECTION
	"proj=eqc"
        "ellps=GRS80"
        "towgs84=0,0,0"
        "no_defs"
       "lon_0=138.503e"
    END

    SIZE 600 600
    FONTSET "/var/www/html2/benparts/fonts.list"
    SYMBOLSET "/var/www/html2/benparts/symbols"
    UNITS METERS
    IMAGETYPE  jpeg
    OUTPUTFORMAT
	NAME 'AGG_JPEG'
	DRIVER AGG/JPEG
	IMAGEMODE RGB
	FORMATOPTION "QUALITY=100"
    END
    IMAGECOLOR 255 255 255

    WEB
	template /var/www/html2/benparts/templates/test1.html
	imagepath "/var/www/html2/tmp/"
	imageurl  "/tmp/"
	LOG "/tmp/mapserv.log"
    END

    LEGEND
	KEYSIZE 18 12
	LABEL
	  TYPE BITMAP
	  SIZE MEDIUM
	  COLOR 0 0 94
	END
	STATUS ON
    END

    LAYER
      TYPE RASTER
      NAME "bkgrnd"
      STATUS ON
      PROJECTION
       "init=epsg:4283"
      END
      DATA "/var/www/html2/benparts/rasters/JB_Onka_IPOS_Ver2.jpg"
      PROCESSING "DITHER=YES"
    END

    LAYER
      CONNECTIONTYPE postgis
      NAME "weather"
      DATA "geom from weather_station"
      CONNECTION "user=scldad dbname=benparts"
      PROCESSING      "CLOSE_CONNECTION=DEFER"
      STATUS ON
      TYPE POINT
      VALIDATION
        wfilter 'id in.*'
      END
      FILTER  (%wfilter%)
      PROJECTION
        "init=epsg:4283"
      END
      LABELITEM "name"
      CLASS
        NAME       "Weather Station"
        STYLE
          COLOR        214 0 0
          SYMBOL 'circle'
          SIZE 7
        END
        LABEL
          MINDISTANCE 150
          POSITION CR
          SIZE TINY
          COLOR 9 9 9
          STYLE
                GEOMTRANSFORM 'labelpoly'
                COLOR   255 255 255
          END
        END
      END
    END
    
     LAYER
      CONNECTIONTYPE postgis
      NAME "battery"
      VALIDATION
	vucv '.*'
      END
      DATA "geom from wmd using unique id using SRID=4283"
      CONNECTION "user=scldad dbname=benparts"
      STATUS ON
      TYPE POINT
      FILTER  (uc='%vucv%' and stype='B')
      PROJECTION
        "init=epsg:4283"
      END
      MAXSCALE 5000000
      LABELITEM "label"
      CLASSITEM "state"
      CLASS
	EXPRESSION "G"
        STYLE
          COLOR        0 255 0
          SYMBOL 'dot'
	  SIZE 7
	  OFFSET 17 0
        END
        LABEL
          POSITION CR
          TYPE TRUETYPE
          FONT arial
          SIZE 8
          COLOR 0 255 0
	  OFFSET 20 0
	  FORCE TRUE
	  STYLE
		GEOMTRANSFORM 'labelpoly'
          	COLOR   255 255 255
	  END
        END
      END
      CLASS
	EXPRESSION "A"
        STYLE
          COLOR        255 215 0
          SYMBOL 'dot'
	  SIZE 7
	  OFFSET 17 0
        END
        LABEL
          POSITION CR
          TYPE TRUETYPE
          FONT arial
          SIZE 8
          COLOR 255 215 0
	  OFFSET 20 0
	  FORCE TRUE
	  STYLE
		GEOMTRANSFORM 'labelpoly'
          	COLOR   255 255 255
	  END
        END
      END
      CLASS
	EXPRESSION "R"
        STYLE
          COLOR        255 0 0
          SYMBOL 'dot'
	  SIZE 7
	  OFFSET 17 0
        END
        LABEL
          POSITION CR
          TYPE TRUETYPE
          FONT arial
          SIZE 12
          COLOR 255 0 0
	  OFFSET 20 0
	  FORCE TRUE
	  STYLE
		GEOMTRANSFORM 'labelpoly'
          	COLOR   255 255 255
	  END
        END
      END
    END
  #
  # Start of reference map
  #
  REFERENCE
    IMAGE /var/www/html2/benparts/refmaps/sa.png
    EXTENT -1070114.26 -4230140.65 289096.72 -2872042.86
    SIZE 120 120
    STATUS ON
    MINBOXSIZE 5
    MAXBOXSIZE 100
    COLOR 0 255 0
    OUTLINECOLOR 0 0 0
    MARKERSIZE 8
    MARKER 'star'
  END
  #
  # Start of scalebar
  #
  SCALEBAR
    IMAGECOLOR 0 0 0
    LABEL
      COLOR 255 255 255
      SIZE TINY
    END
    STYLE 1
    SIZE 200 2
    COLOR 255 255 255
    UNITS KILOMETERS
    INTERVALS 2
    TRANSPARENT TRUE
    STATUS ON
  END
END

When I run this, the Postgresql log shows:

LOG:  duration: 0.127 ms  execute <unnamed>: select 
"name",encode(ST_AsBinary(ST_Force_2D("geom"),'NDR'),'hex') as geom,"id" from 
weather_station where geom && GeomFromText('POLYGON((138.42349975 
-35.280701,138.42349975 -35.1222989,138.58190185 -35.1222989,138.58190185 
-35.280701,138.42349975 -35.280701))',find_srid('','weather_station','geom')) 
and (id in (47))
LOG:  duration: 0.060 ms  execute <unnamed>: select 
"state","label",encode(ST_AsBinary(ST_Force_2D("geom"),'NDR'),'hex') as 
geom,"id" from wmd where geom && GeomFromText('POLYGON((138.42349975 
-35.280701,138.42349975 -35.1222989,138.58190185 -35.1222989,138.58190185 
-35.280701,138.42349975 -35.280701))',4283) and (uc='%vucv%' and stype='B')

This illustrates that the wfilter substitution worked but the vucv substitution 
did not.

Cheers,
Stephen
-- 
=============================================================================
Stephen Davies Consulting P/L                             Voice: 08-8177 1595
Adelaide, South Australia.                                Fax  : 08-8177 0133
Records & Collections Management.                         Mobile:040 304 0583



More information about the MapServer-users mailing list