[mapserver-users] Rendering Challenges

Brent Fraser bfraser at geoanalytic.com
Tue May 10 07:06:58 PDT 2011


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:bfraser at geoanalytic.com]
> Sent: Monday, May 09, 2011 5:18 PM
> To: Lime, Steve D (DNR)
> Cc: mapserver-users at lists.osgeo.org
> 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: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Brent Fraser
>> Sent: Monday, May 09, 2011 2:52 PM
>> To: mapserver-users at lists.osgeo.org
>> 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.
>>
>
>
>




More information about the MapServer-users mailing list