From: Justin D. <jde...@op...> - 2007-06-13 01:16:44
|
Hi Richard, I do not believe there is anything in the Filter spec directly which will support this. However with a little bit of coding you should be able to achieve this with filter functions. For instance. <Filter> <PropertyIsEqualTo> <Function name="bitwiseAnd"> <PropertyName>attributes</PropertyName> <Literal>0a</Literal> <Function> <Literal>0a</Literal> </PropertyIsEqualTo> </Filter> To pull this off you would have to implement the "bitewiseAnd" function at the geotools level. An implementation might look something like: class BitwiseAndFunction extends org.geotools.filter.FunctionExpressionImpl { public BitwiseAndFunction() { super("bitwiseAnd"); } public int getArgCount() { return 2; } public Object evaluate( Object feature ) { //get the value of attribute as an integer Integer value = getExpression(0).evaluate(feature, Integer.class); //get the string value of the mask String mask = getExpression(1).evaluate(null); //convert the mask to int int intMask = Integer.parseInt( mask, 16 ): return Integer.toHexString( value.intValue() & intMask ); } } This is just a crack off the top of my head so I am sure it will not work as written :), but the general strategy holds. Hopefully this makes sense. If you have any more questions or anything is unclear please don't hesitate to ask. -Justin Shaw, Richard A wrote: > Does anybody know if it is possible to have bitwise operator in SLD files ? > > I hve the following data > > Geom, attributes > > Where attributes is an integer containing bit values as follows - > > 0x01 - motorway > 0x02 - a road > 0x04 - b road > 0x08 - single carriageway > 0x10 - dual carriageway > > I want to draw dual carriageway A roads in dark green and single carriageway A roads in light green - > > ((attributes & 0x0a) == 0x0a) use dark green > ((attributes & 0x12) == 0x12) use light green > > > Richard Shaw > > ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤ > > Richard Shaw > Technical Design Authority - Information Solutions Consultancy > Intelligent Transport Systems > > Atkins Highways and Transportation > Woodcote Grove, Ashley Road, Epsom, Surrey, KT18 5BW > > Tel: +44 (0) 1372 756407 > Fax: +44 (0) 1372 740055 > Mob: 07740 817586 > E-mail: ric...@at... > > www.atkinsglobal.com/its > > > > This email and any attached files are confidential and copyright protected. If you are not the addressee, any dissemination of this communication is strictly prohibited. Unless otherwise expressly agreed in writing, nothing stated in this communication shall be legally binding. > > The ultimate parent company of the Atkins Group is WS Atkins plc. Registered in England No. 1885586. Registered Office Woodcote Grove, Ashley Road, Epsom, Surrey KT18 5BW. > > Consider the environment. Please don't print this e-mail unless you really need to. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Geoserver-users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geoserver-users > > !DSPAM:4007,466f328550591637810514! > -- Justin Deoliveira The Open Planning Project jde...@op... |