On 5/13/2011 6:30 AM, Lime, Steve D (DNR) wrote:
Cool. I committed that patch in trunk in what will be 6.2 if folks are
interested. I'll add a few other functions too (see ticket #3871).
Regarding other uses, sure it's possible. We'd need to add the GEOMTRANSFORM
processing to labels and execute it before computing a label point.
I've also thought about defining a layer-level GEOMTRANSFORM that would alter
the original geometry before any processing so all classes and styles would be
affected and you could query it. ;-)
Sounds powerful for buffered queries,etc. So would we have
Layer-level GEOMTRANSFORM (applies to rendered geometry, labels,
queries)
Style-level GEOMTRANSFORM (applies to rendered geometry only)
Label-level GEOMTRANSFORM (applies to label placement only)
Your last idea (8) is a bit different. Here's you're talking about a drawing
effect so we're back into styles, but in this case a label's style. Issue here
is that a label has two geometries - the point, and the bbox(es) so which are
you referencing with [shape]? I'm thinking that in this context we'd always
mean the bbox(es) so you could create a buffered convex hull easily and draw it
under a label.
How about having [labelpointshape] and [labelbboxshape]? And I'm not
sure the label's convex hull would be the way to go (for my problem at
least); it might erase too much in the case of a horseshoe shaped
label. Have a look at the example Daniel generated for the curved label
enhancement:
http://trac.osgeo.org/mapserver/attachment/ticket/3523/maxoverlapangle-2.png
A better polygon might be generated by
simplify(union(characterbboxshape)) .
Thanks!
Brent
Probably should create a couple of tickets...
Steve
-----Original Message-----
From: Brent Fraser [mailto:[email protected]]
Sent: Thursday, May 12, 2011 10:08 AM
To: Lime, Steve D (DNR)
Cc: [email protected]
Subject: Rendering Challenges - GEOMTRANSFORM
Steve,
Thanks to your patch I was able to render thick lines inside polygons
(http://i56.tinypic.com/1z347yq.jpg).
The solution of using a STYLE with GEOMTRANSFORM got me thinking of
using the technique to solve some of the labeling challenges:
2. Place polygon annotation on/inside boundary line
(http://trac.osgeo.org/mapserver/ticket/1592 point 8.)
- label the line geometry resulting from GEOMTRANSFORM
(buffer([shape], -3)) of the original polygon
5. Place line anno above (or below) when using ANGLE FOLLOW
- label the line geometry resulting from GEOMTRANSFORM
(buffer([shape], 5)) of the original line
Currently the LABEL object uses the original geometry. Do you think it
would be possible to [optionally?] use the GEOMTRANSFORMed geometry?
Similarly, would it be possible to have the LABEL's convex hull (or a
buffer the character boxes?) used as a clipping polygons of the layer's
geometry to address:
8. Erase layer's geometry (but not other layers) under label
- possible syntax: GEOMTRANSFORM ( clip( [labelpoly] ) )
Your thoughts?
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users