[mapserver-users] Rendering Challenges

Stephen Woodbridge woodbri at swoodbridge.com
Mon May 9 16:30:54 EDT 2011


Brent,

I think this is an excellent list of features that we should strive to 
support in mapserver. I here that you ideal stated goal is to use the 
files as published, but as a close alternative I can see that having a 
utility to preprocess the files might make implementation faster and and 
more consistent. This thought is based on some simple ideas:

1. what is inside/outside of a polygon? While we can compute this for 
every polygon on every draw, I do not think we want to do that, so 
having a preprocessor that standardizes polygon node ordering would 
avoid this.

2. polygon label point and orientations. It would be nice to have a 
utility, or the one above, that can do some basic analysis of a polygon 
and pick the ideal label point and orientation. This then might create a 
companion label point shapefile or add additional attribute columns for 
this purpose. This approach also has the benefit that you could then 
edit the label point file to override the automatically generated point.

I think these two items would greatly increase our ability to implement 
in a consistent manner items 1, 2, 3, and 4.

On 5/9/2011 3:51 PM, Brent Fraser wrote:
> 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

For this one, do you want to erase ALL lines or just suspend drawing the 
line of the object being labeled? If you truely want to erase all lines, 
then you have to define what is a line! antialiased? wide lines? how is 
a line different from the highlighted edge of a polygon? or a line that 
has been drawn as a wide street with shoulders and a centerline?

Currently we support drawing a multi-pixel halo around the text the in 
effect erases/replaces everything under the halo.

I like your example image as a great use case.

Thanks,
   -Steve

>
> 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