Hi,

 

I want to draw a postgis layer (polygon) with a simple style (as well as
an alpha color). 

But I always get a cast error. Here is the code, maybe somebody has an
idea ?

 

Manfred

 

 

Error :

 

 

java.lang.ClassCastException: java.awt.Color cannot be cast to
java.lang.String

      at
org.geotools.renderer.style.SLDStyleFactory.evalToColor(SLDStyleFactory.
java:1447)

      at
org.geotools.renderer.style.SLDStyleFactory.getStrokePaint(SLDStyleFacto
ry.java:986)

      at
org.geotools.renderer.style.SLDStyleFactory.createLineStyle(SLDStyleFact
ory.java:398)

      at
org.geotools.renderer.style.SLDStyleFactory.createStyleInternal(SLDStyle
Factory.java:332)

      at
org.geotools.renderer.style.SLDStyleFactory.createStyle(SLDStyleFactory.
java:295)

      at
org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(Streamin
gRenderer.java:1730)

      at
org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.j
ava:1657)

      at
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRen
derer.java:1601)

      at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.jav
a:641)

      at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.jav
a:473)

      at com.bg.union.pa.GeoToolsEngine.paint(GeoToolsEngine.java:116)

      at
com.bg.union.pa.GeoToolsRenderService.execute(GeoToolsRenderService.java
:23)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)

      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)...

 

 

First problem based on this code: (no alpha)

 

      StyleBuilder builder = new StyleBuilder();

      PolygonSymbolizer symbolizer =
styleFactory.createPolygonSymbolizer();

      Stroke stroke = symbolizer.getStroke();

 

      if (stroke == null) {

          stroke = builder.createStroke(Color.blue);

          symbolizer.setStroke(stroke);

      }

 

      stroke.setColor(builder.colorExpression(Color.blue));

      

      Fill fill = symbolizer.getFill();

      if (fill == null) {

        fill = builder.createFill(Color.blue);

          symbolizer.setFill(fill);

      }

      

      Rule rule = styleFactory.createRule();

      rule.setSymbolizers(new Symbolizer[] { symbolizer });

      FeatureTypeStyle fts = styleFactory.createFeatureTypeStyle();

      fts.setRules(new Rule[] { rule });

      fts.setFeatureTypeName("polygonfeature");

      

      Style style = styleFactory.createStyle();

      style.addFeatureTypeStyle(fts);

 

 

Second problem (this time with alpha) but the same error message: 

 

PolygonSymbolizer polysym = styleFactory.createPolygonSymbolizer();

      Fill myFill = styleFactory.getDefaultFill();

 

// --- HERE 

      myFill.setOpacity(filterFactory.literal(0.5));

 

      myFill.setColor(filterFactory.literal("#FFAA00"));

      polysym.setFill(myFill);

      

      polysym.setStroke(styleFactory.getDefaultStroke());

      

      Rule rule0 = styleFactory.createRule();

      rule0.setSymbolizers(new Symbolizer[]{polysym});

      

      FeatureTypeStyle fts0 = styleFactory.createFeatureTypeStyle(new
Rule[]{rule0});

      //fts0.setFeatureTypeName("polygonfeature");

        

      style0 = styleFactory.createStyle();

      style0.addFeatureTypeStyle(fts0);

      

      return style0;

 

 

 

 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to