Hi,
I've been using GeoTools for some time now and I think it gives great results.
However
I seem to be having some problems with TextSymbolizer.
Many labels, especially longer ones don't seem to be getting rendered. I have
tried setting
the "spaceAround" option to negative values, which increases the number of
labels displayed
(some of which overlap each other), but many labels are still not being
rendered. Changing the
magnitude of the negative spaceAround value makes no difference. Changing the
placement
also doesn't solve the problem.
I have even tried rendering with a single feature (I.e. only one label in the
entire map), but still
the label does not show up.
I suspect this may be due to a predefined maximum size for labels, but I can't
find any option
to override such a thing. Am I overlooking some option, or doing this in the
wrong way?
Hope to get some ideas. Thanks a lot.
Code:
....
....
//create labels
TextSymbolizer textSym = styleBuilder.createTextSymbolizer(
Color.BLACK, styleBuilder.createFont("Arial", false,
false, 9),
"building_n");
textSym.setHalo(styleBuilder.createHalo(Color.WHITE, 1));
textSym.setPlacement(styleBuilder.createPointPlacement(0.5, 0.5, 0, 0, 0));
textSym.addToOptions("spaceAround", "-1");
Rule rule4 = styleBuilder.createRule(textSym);
Rule[] rules = {rule, rule2, rule3, rule4};
FeatureTypeStyle featureTypeStyle = styleBuilder.
createFeatureTypeStyle("Feature", rules);
style.addFeatureTypeStyle(featureTypeStyle);
DefaultMapContext mc = new DefaultMapContext();
DefaultMapLayer layer = new DefaultMapLayer(intBdlgsCollection, style); //layer
containing labels
DefaultMapLayer layer2 = new DefaultMapLayer(landlotCollection, style2);
mc.addLayer(layer2);
mc.addLayer(layer);
StreamingRenderer renderer = new StreamingRenderer();
renderer.setContext(mc);
java.awt.Rectangle rc = new java.awt.Rectangle();
rc.setBounds(0, 0, 1280, 800);
g2d.setColor(Color.BLUE); //fill background first
g2d.fillRect(0, 0, 1280, 800);
//render map
renderer.paint(g2d, rc,
new ReferencedEnvelope( 17500, 23000, 28000, 33437,
mc.getCoordinateReferenceSystem()));
Cheers,
Mann Ern------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users