A co-worker of mine had a question regarding anti-aliasing settings and SLD 
files. I took a look through the GeoTools code base and haven’t been able to 
answer him, and I was wondering if anyone here could point me in the right 
direction.

My co-worker is using an Ajax-based web browser application that requests 
transparent GIF files using a WMS request to GeoServer. He uses these GIF’s to 
create a sandwich of overlays, allowing the user to switch between different 
combinations of images depending on what he wants to see (some of the images 
are produced by data systems that are outside scope of the GeoServer 
implementation).
 
Everything works fine except that the line and text graphics produced by 
GeoServer are rendered with anti-aliasing. Now typically, when a graphics 
environment draws a black line on a white background with anti-aliasing, it 
will attempt to soften that saw-tooth effect that is sometimes visible on 
angled lines by setting the color of pixels on or adjacent to the line to some 
intermediate color tone. Thus when my co-worker requests an overlay of 
geopolitical outlines drawn in a rather dark color and the anti-aliasing in 
GeoServer assumes a white background, the transparent GIF comes back with dark 
lines speckled with light gray dots. Of course, he could just change the 
background, but even as a band-aid fix that doesn’t really work because 
sometimes he needs to sandwich images on light background and sometimes he uses 
dark. If we adjust the SLD files for light-colored lines on a dark background, 
we get a corresponding unsightly effect.

So the question: What’s the best way to suppress the anti-aliasing effects? A 
couple of obvious ideas suggest themselves immediately, but looking through the 
GeoTools code I don’t see any place where they might be implemented (I haven’t 
looked through the GeoServer code because I am still struggling to learn 
GeoTools, and don’t think I could handle another challenge right now). I know 
that an application can suppress aliasing by using the java.awt.RenderingHints 
class, but I’m not sure how to get the proper values passed into GeoTools. I 
thought that there might be a specification in the SLD format to turn off 
aliasing, but I don’t see it in the OpenGIS documents I’ve searched. An 
alternative approach might be to hack the GeoServer code so that when a WMS 
request comes in for a transparent GIF, it just turns off anti-aliasing… except 
that, first, I don’t believe in doing that kind of non-standard stuff if it can 
be avoided and, second, I don’t know where to begin to make the change even if 
I concluded that was the only way to get the job done.

Anyway, I apologize in advance if there’s an easy way of doing this and I’ve 
missed something obvious in the documentation. Thanks for your help.

Gary


P.S. My co-worker has produced some sample images that do an admirable job 
showing the anti-aliasing effect. If anyone is unfamiliar with the effect and 
would like to see what it does, please let me know and I will send copies of 
the images.


---------------------------------------------------------------------------------
Computer Science is the Art of the Possible
Gary W. Lucas, Senior Software Engineer
Sonalysts, Inc
215 Parkway North
Waterford, CT 06320
(860) 326-3682

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to