Hi, I think it's the fixed MIN_GOODNESS_FIT value used by LabelCacheDefault that's causing the trouble. I've sidestepped this for now by passing a hint to StreamingRenderer to use LabelCacheImpl instead - all labels are showing up now . It would be great if LabelCacheDefault accepted an option to set MIN_GOODNESS_FIT instead of having it be a fixed constant value, maybe I'll do it myself, if I manage to figure out how to compile the GeoTools library lol.
Anyway thanks to anyone who read my question and spared it some thought. GeoTools is getting more and more fun to use! Cheers, Mann Ern From: Kang Mann Ern Sent: Sunday, October 18, 2009 1:46 PM To: [email protected] Subject: TextSymbolizer - Some Labels Not Showing 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
<<Emoticon1.gif>>
------------------------------------------------------------------------------ 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
