I've attached a patch against trunk that adds the difference function. It's untested, give it a whirl and let me know how it goes... You'll have to re-build the lexer and parser.
Steve -----Original Message----- From: Brent Fraser [mailto:[email protected]] Sent: Tuesday, May 10, 2011 9:42 AM To: Lime, Steve D (DNR) Cc: [email protected] Subject: Re: [mapserver-users] Rendering Challenges I think it would be very valuable.... Best Regards, Brent Fraser On 5/10/2011 8:25 AM, Lime, Steve D (DNR) wrote: > I don't have a difference operator implemented. Wouldn't take much though... > > -----Original Message----- > From: Brent Fraser [mailto:[email protected]] > Sent: Tuesday, May 10, 2011 9:07 AM > To: Lime, Steve D (DNR) > Cc: [email protected] > Subject: Re: [mapserver-users] Rendering Challenges > > Using > > STYLE > GEOMTRANSFORM "difference([shape],buffer([shape], -5))" > COLOR 255 211 127 > END > > results in the entire original polygon being filled. > > Using > GEOMTRANSFORM (difference([shape],buffer([shape], -5))) > results in no fill. > > Best Regards, > Brent Fraser > > > On 5/9/2011 4:20 PM, Lime, Steve D (DNR) wrote: >> That's were a difference operator might come in handy since you're looking >> for more of a fill-type effect: >> >> GEOMTRANSFORM (difference([shape], buffer([shape], -2))) >> >> or something like that. >> >> Steve >> >> -----Original Message----- >> From: Brent Fraser [mailto:[email protected]] >> Sent: Monday, May 09, 2011 5:18 PM >> To: Lime, Steve D (DNR) >> Cc: [email protected] >> Subject: Re: [mapserver-users] Rendering Challenges >> >> Steve L., >> >> Good point; I couldn't do any of this in pre-6.0 either! >> >> I tried the buffer and it worked great (but we might have to work on >> the end-cap types in PDF output)! See http://i52.tinypic.com/2qjc9yv.jpg >> >> Best Regards, >> Brent Fraser >> >> >> On 5/9/2011 2:36 PM, Lime, Steve D (DNR) wrote: >>> These aren't specific to 6.0 though- more of a wish list... >>> >>> Item 1 might be doable in 6.0 as it sits. In 6.0 a style GEOMTRANSFORM is >>> really an expression and I exposed >>> the GEOS buffer operator as a proof-of-concept. For example: >>> >>> STYLE >>> GEOMTRANSFORM (buffer([shape], -2)) >>> OUTLINECOLOR 255 0 0 >>> END >>> >>> Should generate a single pixel red line on the inside of a polygon shape. >>> You can render it however you'd like. >>> Note that a GEOMTRANSFORM is performed AFTER a shape is converted from map >>> to image coordinates so it's effective >>> for rendering effects only. >>> >>> If we exposed a few others you'd be able to do some other interesting >>> things (like fills just inside a line...). >>> >>> The rest of the ideas are interesting and worthy of discussion. >>> >>> Steve >>> >>> -----Original Message----- >>> From: [email protected] >>> [mailto:[email protected]] On Behalf Of Brent Fraser >>> Sent: Monday, May 09, 2011 2:52 PM >>> To: [email protected] >>> Subject: [mapserver-users] Rendering Challenges >>> >>> While testing v6, I can up with the following list of things I >>> couldn't do (see http://i56.tinypic.com/8vvprn.png for a graphic): >>> >>> 1. Render lines inside polygon boundary (with or without opacity) >>> 2. Place polygon annotation on/inside boundary line >>> (http://trac.osgeo.org/mapserver/ticket/1592 point 8.) >>> 3. Rotate anno if required to fit inside a polygon >>> 4. Place polygon annotation outside polygon if anno doesn't fit inside >>> 5. Place line anno above (or below) when using ANGLE FOLLOW >>> 6. Rotate vector symbols to follow lines (a font might work but is a >>> pain to create) >>> 7. User specified character spacing >>> 8. Erase lines (but not other objects) under annotation >>> >>> My goal was to use the published shp files >>> (http://ftp2.cits.rncan.gc.ca/pub/canvec/50k_shp/092/h/canvec_092h06_shp.zip) >>> without modification and see how close I could get to the published PDF >>> (http://ftp2.cits.rncan.gc.ca/pub/cantopo/50k_geopdf/092/h/cantopo_092h06_geopdf.zip). >>> >>> >>> Any suggested rendering techniques are appreciated. I'll file >>> tickets for those problems deemed worthy. >>> >> >> > > >
difference.patch
Description: difference.patch
_______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
