[mapserver-users] validation block

2012-08-21 Thread Marc-André Trottier
there is my layer's definition :

LAYER
VALIDATION
ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
#ID_REG '[[a-zA-Z0-9]{0,10},??]*'
END
INCLUDE "../layers/bd/adn_station_max_v.map"
CLASSGROUP "BASSIN"
NAME "adn_station_bassin"
END

LAYER
VALIDATION
#ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
ID_REG '[[a-zA-Z0-9]{0,10},??]*'
END
INCLUDE "../layers/bd/adn_station_max_v.map"
CLASSGROUP "REG_ADMIN"
NAME "adn_station_reg_admin"
END

with these commented lines a got this error :
msValidateParameter(): Regular expression error. Parameter pattern
validation failed.

without comment, i got no error.

CLASSGROUP 'BASSIN' contains many class but each class use only 'ID_BASSIN'
and
CLASSGROUP 'REG_ADMIN' contains many class but each class use only 'ID_REG'

is it the right thing to do ? or like i thought, the validation block can
contains only the variable used by the layer ?
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] validation block

2012-08-21 Thread thomas bonfort
On Tue, Aug 21, 2012 at 5:38 PM, Marc-André Trottier
 wrote:
> there is my layer's definition :
>
> LAYER
> VALIDATION
> ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
> #ID_REG '[[a-zA-Z0-9]{0,10},??]*'
> END
> INCLUDE "../layers/bd/adn_station_max_v.map"
> CLASSGROUP "BASSIN"
> NAME "adn_station_bassin"
> END
>
> LAYER
> VALIDATION
> #ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
> ID_REG '[[a-zA-Z0-9]{0,10},??]*'
> END
> INCLUDE "../layers/bd/adn_station_max_v.map"
> CLASSGROUP "REG_ADMIN"
> NAME "adn_station_reg_admin"
> END
>
> with these commented lines a got this error :
> msValidateParameter(): Regular expression error. Parameter pattern
> validation failed.
>
> without comment, i got no error.
>
> CLASSGROUP 'BASSIN' contains many class but each class use only 'ID_BASSIN'
> and
> CLASSGROUP 'REG_ADMIN' contains many class but each class use only 'ID_REG'

Are you certain of that? You are including the same file in both ...

>
> is it the right thing to do ? or like i thought, the validation block can
> contains only the variable used by the layer ?
>
>
> ___
> mapserver-users mailing list
> mapserver-users@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] validation block

2012-08-21 Thread Stephen Woodbridge

You probably need to quote:

  'ID_BASSIN' '[[a-zA-Z0-9]{0,10},??]*'
  "#ID_REG' '[[a-zA-Z0-9]{0,10},??]*'

And I would be very suspicious that '#ID_REG' is a value identifier 
because of the '#' character.


-Steve W

On 8/21/2012 11:38 AM, Marc-André Trottier wrote:

there is my layer's definition :

 LAYER
 VALIDATION
 ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
 #ID_REG '[[a-zA-Z0-9]{0,10},??]*'
 END
 INCLUDE "../layers/bd/adn_station_max_v.map"
 CLASSGROUP "BASSIN"
 NAME "adn_station_bassin"
 END

 LAYER
 VALIDATION
 #ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
 ID_REG '[[a-zA-Z0-9]{0,10},??]*'
 END
 INCLUDE "../layers/bd/adn_station_max_v.map"
 CLASSGROUP "REG_ADMIN"
 NAME "adn_station_reg_admin"
 END

with these commented lines a got this error :
msValidateParameter(): Regular expression error. Parameter pattern
validation failed.

without comment, i got no error.

CLASSGROUP 'BASSIN' contains many class but each class use only
'ID_BASSIN' and
CLASSGROUP 'REG_ADMIN' contains many class but each class use only 'ID_REG'

is it the right thing to do ? or like i thought, the validation block
can contains only the variable used by the layer ?



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



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


Re: [mapserver-users] validation block

2012-08-21 Thread Marc-André Trottier
here is an example of two class in 'adn_station_max_v.map' :

CLASS
NAME "Information non disponible (grande échelle)"
EXPRESSION ( '[etat]' = 'GRIS' AND [id_bassin] in '%ID_BASSIN%')
GROUP "BASSIN"
MINSCALEDENOM 0
MAXSCALEDENOM 15
STYLE
SYMBOL 'circle'
COLOR 128 128 128
OUTLINECOLOR 0 0 0
SIZE 9
END

LABEL
COLOR   0 0 0
OUTLINECOLOR255 255 255
ANTIALIAS   FALSE
TYPETRUETYPE
FONT"ubuntu"
SIZE14
POSITION auto
FORCE TRUE
END
END

CLASS
NAME "Seuil d\'inondation majeure"
EXPRESSION ( '[etat]' = 'ROUGE' AND [region_admin_id] in '%ID_REG%')
GROUP "REG_ADMIN"
MINSCALEDENOM 11

STYLE
SYMBOL 'circle'
COLOR   255 0 0
OUTLINECOLOR 0 0 0
SIZE 14
END

LABEL
WRAP"!"
ALIGN   CENTER
COLOR   0 0 0
OUTLINECOLOR255 255 255
ANTIALIAS   FALSE
TYPETRUETYPE
FONT"ubuntu"
SIZE14
FORCE TRUE
OFFSET  0 12
END
END

if i understant this meant that for a layer, i must validate all variables
of all class even if i don't use them all.
My include of 'adn_station_max_v.map' contains X substitutions in X class
so i must have X validations even if i don't use all X class.

In my example, i include many class with 'adn_station_max_v.map' but i'm
using only one variable at a time. All class in CLASSGROUP 'REG_ADMIN' only
use 'ID_REG'.


2012/8/21 Stephen Woodbridge 

> You probably need to quote:
>
>   'ID_BASSIN' '[[a-zA-Z0-9]{0,10},??]*'
>
>   "#ID_REG' '[[a-zA-Z0-9]{0,10},??]*'
>
> And I would be very suspicious that '#ID_REG' is a value identifier
> because of the '#' character.
>
> -Steve W
>
>
> On 8/21/2012 11:38 AM, Marc-André Trottier wrote:
>
>> there is my layer's definition :
>>
>>  LAYER
>>  VALIDATION
>>  ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
>>  #ID_REG '[[a-zA-Z0-9]{0,10},??]*'
>>  END
>>  INCLUDE "../layers/bd/adn_station_max_**v.map"
>>  CLASSGROUP "BASSIN"
>>  NAME "adn_station_bassin"
>>  END
>>
>>  LAYER
>>  VALIDATION
>>  #ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
>>  ID_REG '[[a-zA-Z0-9]{0,10},??]*'
>>  END
>>  INCLUDE "../layers/bd/adn_station_max_**v.map"
>>  CLASSGROUP "REG_ADMIN"
>>  NAME "adn_station_reg_admin"
>>  END
>>
>> with these commented lines a got this error :
>> msValidateParameter(): Regular expression error. Parameter pattern
>> validation failed.
>>
>> without comment, i got no error.
>>
>> CLASSGROUP 'BASSIN' contains many class but each class use only
>> 'ID_BASSIN' and
>> CLASSGROUP 'REG_ADMIN' contains many class but each class use only
>> 'ID_REG'
>>
>> is it the right thing to do ? or like i thought, the validation block
>> can contains only the variable used by the layer ?
>>
>>
>>
>> __**_
>> mapserver-users mailing list
>> mapserver-users@lists.osgeo.**org 
>> http://lists.osgeo.org/**mailman/listinfo/mapserver-**users
>>
>>
> __**_
> mapserver-users mailing list
> mapserver-users@lists.osgeo.**org 
> http://lists.osgeo.org/**mailman/listinfo/mapserver-**users
>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] validation block

2012-08-21 Thread Stephen Woodbridge

Typically the SQL syntax is   column in (a,b,c,d)
So based on this

[id_bassin] in '%ID_BASSIN%'

would be problematic I think because your syntax is:

column in 'string'

Which is not valid. Also what is your validation for %ID_BASSIN%?
Is something like this?   ^\([0-9]+(,[0-9]+)*\)$

where ID_BASSIN=(123,234,345)

or do you want something like:

[id_bassin] in (%ID_BASSIN%)

with a valdiation like:  ^[0-9]+(,[0-9]+)*$

where ID_BASSIN=123,234,345

-Steve W

On 8/21/2012 1:33 PM, Marc-André Trottier wrote:

here is an example of two class in 'adn_station_max_v.map' :

CLASS
 NAME "Information non disponible (grande échelle)"
 EXPRESSION ( '[etat]' = 'GRIS' AND [id_bassin] in '%ID_BASSIN%')
 GROUP "BASSIN"
 MINSCALEDENOM 0
 MAXSCALEDENOM 15
 STYLE
 SYMBOL 'circle'
 COLOR 128 128 128
 OUTLINECOLOR 0 0 0
 SIZE 9
 END

 LABEL
 COLOR   0 0 0
 OUTLINECOLOR255 255 255
 ANTIALIAS   FALSE
 TYPETRUETYPE
 FONT"ubuntu"
 SIZE14
 POSITION auto
 FORCE TRUE
 END
END

CLASS
 NAME "Seuil d\'inondation majeure"
 EXPRESSION ( '[etat]' = 'ROUGE' AND [region_admin_id] in '%ID_REG%')
 GROUP "REG_ADMIN"
 MINSCALEDENOM 11

 STYLE
 SYMBOL 'circle'
 COLOR   255 0 0
 OUTLINECOLOR 0 0 0
 SIZE 14
 END

 LABEL
 WRAP"!"
 ALIGN   CENTER
 COLOR   0 0 0
 OUTLINECOLOR255 255 255
 ANTIALIAS   FALSE
 TYPETRUETYPE
 FONT"ubuntu"
 SIZE14
 FORCE TRUE
 OFFSET  0 12
 END
END

if i understant this meant that for a layer, i must validate all
variables of all class even if i don't use them all.
My include of 'adn_station_max_v.map' contains X substitutions in X
class so i must have X validations even if i don't use all X class.

In my example, i include many class with 'adn_station_max_v.map' but i'm
using only one variable at a time. All class in CLASSGROUP 'REG_ADMIN'
only use 'ID_REG'.


2012/8/21 Stephen Woodbridge mailto:wood...@swoodbridge.com>>

You probably need to quote:

   'ID_BASSIN' '[[a-zA-Z0-9]{0,10},??]*'

   "#ID_REG' '[[a-zA-Z0-9]{0,10},??]*'

And I would be very suspicious that '#ID_REG' is a value identifier
because of the '#' character.

-Steve W


On 8/21/2012 11:38 AM, Marc-André Trottier wrote:

there is my layer's definition :

  LAYER
  VALIDATION
  ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
  #ID_REG '[[a-zA-Z0-9]{0,10},??]*'
  END
  INCLUDE "../layers/bd/adn_station_max___v.map"
  CLASSGROUP "BASSIN"
  NAME "adn_station_bassin"
  END

  LAYER
  VALIDATION
  #ID_BASSIN '[[a-zA-Z0-9]{0,10},??]*'
  ID_REG '[[a-zA-Z0-9]{0,10},??]*'
  END
  INCLUDE "../layers/bd/adn_station_max___v.map"
  CLASSGROUP "REG_ADMIN"
  NAME "adn_station_reg_admin"
  END

with these commented lines a got this error :
msValidateParameter(): Regular expression error. Parameter pattern
validation failed.

without comment, i got no error.

CLASSGROUP 'BASSIN' contains many class but each class use only
'ID_BASSIN' and
CLASSGROUP 'REG_ADMIN' contains many class but each class use
only 'ID_REG'

is it the right thing to do ? or like i thought, the validation
block
can contains only the variable used by the layer ?



_
mapserver-users mailing list
mapserver-users@lists.osgeo.__org

http://lists.osgeo.org/__mailman/listinfo/mapserver-__users



_
mapserver-users mailing list
mapserver-users@lists.osgeo.__org

http://lists.osgeo.org/__mailman/listinfo/mapserver-__users





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



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


Re: [mapserver-users] validation block

2012-08-21 Thread Fawcett, David (MPCA)
I do something like the second example in one of my applications.  I send the 
comma-delimited string for use as part of the IN statement.  

This basically allows you to symbolize features from your spatial data set 
based on data passed in through the URL.  

I pass these URL vars:
&group1=129,119,041,005,159,051,011,147,097,015,067,171,081,063,025,093,009,149,079,049,065,003,143,027,039,007,099,121,151,135,107,047,033,031,023,089,001,013,161,109,139,061,055,101,045,127,113,117,167,085,133,073,071,157,105,083,165,077,111,059,115,019,153,125,169,087,043,145,017,131,021,173,035,095,091,155,057,103,075,029,069&group2=137,163,037,141,123&group3=&group4=053

Here is the layer definition:

LAYER
  NAME "airdata"
  STATUS DEFAULT
  DATA 'county_thin'
  TYPE POLYGON
  TEMPLATE "templates/emiss_imap_template.html"

  VALIDATION
 group1 "^[0-9\,]+$"
 group2 "^[0-9\,]+$"
 group3 "^[0-9\,]+$"
 group4 "^[0-9\,]+$"
  END
  CLASS
 NAME "group1"
   EXPRESSION ('[county_fip]' IN '%group1%')
   STYLE
   COLOR 241 238 246
   END
  END
  CLASS
 NAME "group2"
   EXPRESSION ('[county_fip]' IN '%group2%')
   STYLE
   COLOR 189 201 225
   END
  END
  CLASS
 NAME "group3"
   EXPRESSION ('[county_fip]' IN '%group3%')
   STYLE
   COLOR 116 169 207
   END
  END
  CLASS
 NAME "group4"
   EXPRESSION ('[county_fip]' IN '%group4%')
   STYLE
   COLOR 5 112 176
   END
  END

END

David.

-Original Message-
From: mapserver-users-boun...@lists.osgeo.org 
[mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Stephen Woodbridge
Sent: Tuesday, August 21, 2012 1:16 PM
To: mapserver-users@lists.osgeo.org
Subject: Re: [mapserver-users] validation block

Typically the SQL syntax is   column in (a,b,c,d)
So based on this

[id_bassin] in '%ID_BASSIN%'

would be problematic I think because your syntax is:

column in 'string'

Which is not valid. Also what is your validation for %ID_BASSIN%?
Is something like this?   ^\([0-9]+(,[0-9]+)*\)$

where ID_BASSIN=(123,234,345)

or do you want something like:

[id_bassin] in (%ID_BASSIN%)

with a valdiation like:  ^[0-9]+(,[0-9]+)*$

where ID_BASSIN=123,234,345

-Steve W

On 8/21/2012 1:33 PM, Marc-André Trottier wrote:
> here is an example of two class in 'adn_station_max_v.map' :
>
> CLASS
>  NAME "Information non disponible (grande échelle)"
>  EXPRESSION ( '[etat]' = 'GRIS' AND [id_bassin] in '%ID_BASSIN%')
>  GROUP "BASSIN"
>  MINSCALEDENOM 0
>  MAXSCALEDENOM 15
>  STYLE
>  SYMBOL 'circle'
>  COLOR 128 128 128
>  OUTLINECOLOR 0 0 0
>  SIZE 9
>  END
>
>  LABEL
>  COLOR   0 0 0
>  OUTLINECOLOR255 255 255
>  ANTIALIAS   FALSE
>  TYPETRUETYPE
>  FONT"ubuntu"
>  SIZE14
>  POSITION auto
>  FORCE TRUE
>  END
> END
>
> CLASS
>  NAME "Seuil d\'inondation majeure"
>  EXPRESSION ( '[etat]' = 'ROUGE' AND [region_admin_id] in '%ID_REG%')
>  GROUP "REG_ADMIN"
>  MINSCALEDENOM 11
>
>  STYLE
>  SYMBOL 'circle'
>  COLOR   255 0 0
>  OUTLINECOLOR 0 0 0
>  SIZE 14
>  END
>
>  LABEL
>  WRAP"!"
>  ALIGN   CENTER
>  COLOR   0 0 0
>  OUTLINECOLOR255 255 255
>  ANTIALIAS   FALSE
>  TYPETRUETYPE
>  FONT"ubuntu"
>  SIZE14
>  FORCE TRUE
>  OFFSET  0 12
>  END
> END
>
> if i understant this meant that for a layer, i must validate all 
> variables of all class even if i don't use them all.
> My include of 'adn_station_max_v.map' contains X substitutions in X 
> class so i must have X validations even if i don't use all X class.
>
> In my example, i include many class with 'adn_station_max_v.map' but 
> i'm using only one variable at a time. All class in CLASSGROUP 'REG_ADMIN'
> only use 'ID_REG'.
>
>
> 2012/8/21 Stephen Woodbridge  <mailto:wood...@swoodbridge.com>>
>
> You probably need to quote:
>
>'ID_BASSIN&#

Re: [mapserver-users] validation block

2012-08-21 Thread Stephen Woodbridge

Hi David,

Thank you for the feedback, I have only done this with SQL statements. 
I'm surprised that we implemented this using a different syntax.
Anyway your complete example below will hopefully help others to get it 
working also.


Thanks,
  -Steve W

On 8/21/2012 3:28 PM, Fawcett, David (MPCA) wrote:

I do something like the second example in one of my applications.  I send the 
comma-delimited string for use as part of the IN statement.

This basically allows you to symbolize features from your spatial data set 
based on data passed in through the URL.

I pass these URL vars:
&group1=129,119,041,005,159,051,011,147,097,015,067,171,081,063,025,093,009,149,079,049,065,003,143,027,039,007,099,121,151,135,107,047,033,031,023,089,001,013,161,109,139,061,055,101,045,127,113,117,167,085,133,073,071,157,105,083,165,077,111,059,115,019,153,125,169,087,043,145,017,131,021,173,035,095,091,155,057,103,075,029,069&group2=137,163,037,141,123&group3=&group4=053

Here is the layer definition:

LAYER
   NAME "airdata"
   STATUS DEFAULT
   DATA 'county_thin'
   TYPE POLYGON
   TEMPLATE "templates/emiss_imap_template.html"

   VALIDATION
  group1 "^[0-9\,]+$"
  group2 "^[0-9\,]+$"
  group3 "^[0-9\,]+$"
  group4 "^[0-9\,]+$"
   END
   CLASS
  NAME "group1"
EXPRESSION ('[county_fip]' IN '%group1%')
   STYLE
   COLOR 241 238 246
   END
   END
   CLASS
  NAME "group2"
EXPRESSION ('[county_fip]' IN '%group2%')
   STYLE
   COLOR 189 201 225
   END
   END
   CLASS
  NAME "group3"
EXPRESSION ('[county_fip]' IN '%group3%')
   STYLE
   COLOR 116 169 207
   END
   END
   CLASS
  NAME "group4"
EXPRESSION ('[county_fip]' IN '%group4%')
   STYLE
   COLOR 5 112 176
   END
   END

END

David.

-Original Message-
From: mapserver-users-boun...@lists.osgeo.org 
[mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Stephen Woodbridge
Sent: Tuesday, August 21, 2012 1:16 PM
To: mapserver-users@lists.osgeo.org
Subject: Re: [mapserver-users] validation block

Typically the SQL syntax is   column in (a,b,c,d)
So based on this

[id_bassin] in '%ID_BASSIN%'

would be problematic I think because your syntax is:

column in 'string'

Which is not valid. Also what is your validation for %ID_BASSIN%?
Is something like this?   ^\([0-9]+(,[0-9]+)*\)$

where ID_BASSIN=(123,234,345)

or do you want something like:

[id_bassin] in (%ID_BASSIN%)

with a valdiation like:  ^[0-9]+(,[0-9]+)*$

where ID_BASSIN=123,234,345

-Steve W

On 8/21/2012 1:33 PM, Marc-André Trottier wrote:

here is an example of two class in 'adn_station_max_v.map' :

CLASS
  NAME "Information non disponible (grande échelle)"
  EXPRESSION ( '[etat]' = 'GRIS' AND [id_bassin] in '%ID_BASSIN%')
  GROUP "BASSIN"
  MINSCALEDENOM 0
  MAXSCALEDENOM 15
  STYLE
  SYMBOL 'circle'
  COLOR 128 128 128
  OUTLINECOLOR 0 0 0
  SIZE 9
  END

  LABEL
  COLOR   0 0 0
  OUTLINECOLOR255 255 255
  ANTIALIAS   FALSE
  TYPETRUETYPE
  FONT"ubuntu"
  SIZE14
  POSITION auto
  FORCE TRUE
  END
END

CLASS
  NAME "Seuil d\'inondation majeure"
  EXPRESSION ( '[etat]' = 'ROUGE' AND [region_admin_id] in '%ID_REG%')
  GROUP "REG_ADMIN"
  MINSCALEDENOM 11

  STYLE
  SYMBOL 'circle'
  COLOR   255 0 0
  OUTLINECOLOR 0 0 0
  SIZE 14
  END

  LABEL
  WRAP"!"
  ALIGN   CENTER
  COLOR   0 0 0
  OUTLINECOLOR255 255 255
  ANTIALIAS   FALSE
  TYPETRUETYPE
  FONT"ubuntu"
  SIZE14
  FORCE TRUE
  OFFSET  0 12
  END
END

if i understant this meant that for a layer, i must validate all
variables of all class even if i don't use them all.
My include of 'adn_station_max_v.map' contains X substitutions in X
class so i must have X validations even if i don't use all X class.

In my example, i include many class with 'adn_station_max_v.map' but
i'm using only one variable at a time. All class in CLASSGROUP 'REG_ADMIN'
only use 'ID_REG'.


2012/8/21 Stephen Woodbridge mailto:wood...@swoodbridge.com>>

 You probably n