[udig-devel] Default style for generic geometry fails to render from SQL datastore

Jesse Eichar jeichar at refractions.net
Wed Jul 12 08:01:45 PDT 2006


As I commented on the JIRA issue.  Cory is working on this issue and  
should have it resolved in a day or two so the next release will  
feature a fix for this.

Thanks for the report though.  Keep them coming.   :-)

Jesse
On 12-Jul-06, at 5:55 AM, Aleksander Bandelj wrote:

> This bug involves default style for generic geometry in UDIG, but  
> is actually caused by geotools issues. I opened
>
> http://jira.codehaus.org/browse/GEOT-890
>
> on Geotools JIRA, but I thought I would also post here for possible  
> UDIG test cases or workarounds.
>
> I have a postgis table with generic geometry type. Udig (correctly)  
> sets up style in SLDContent#createGeometrySLD by creating several  
> rules with different symbolizers, one for each geometry type case.  
> But condition parts of these rules somehow leak through  
> StreamingRenderer, resulting in this bounding box filtering  
> condition on datastore:
>
> [[ geometry bbox POLYGON ((5285442.209046828 4969855.4245647825,  
> 5285442.209046828 5343298.0754352175, 5722524.790953172  
> 5343298.0754352175, 5722524.790953172 4969855.4245647825,  
> 5285442.209046828 4969855.4245647825)) ] AND [[[[[[[ geometryType 
> (geometry,) = Point ] OR [ geometryType(geometry,) = MultiPoint ]]  
> OR [ geometryType(geometry,) = LineString ]] OR [ geometryType 
> (geometry,) = LinearRing ]] OR [ geometryType(geometry,) =  
> MultiLineString ]] OR [ geometryType(geometry,) = Polygon ]] OR  
> [ geometryType(geometry,) = MultiPolygon ]]]
>
> Since neither SQLEncoder nor SQLEncoderPostgisGeos knows how to  
> deal with FunctionExpressions, layer rendering is aborted with  
> following stack trace:
>
> net.refractions.udig.project.render.RenderException: Problem  
> rendering: Exception rendering layer DefaultMapLayer[ Test,  
> VISIBLE, style=StyleImpl<NO_PARENT>[ name=Default Styler],  
> data=net.refractions.udig.project.internal.impl.UDIGFeatureStore at 9830b 
> c, query=Query: [Request All Features]
>  feature type: null
>  filter: Filter.NONE
>  [properties:  ALL ]]
>       at  
> net.refractions.udig.render.internal.feature.basic.BasicFeatureRendere 
> r.render(BasicFeatureRenderer.java:304)
>       at  
> net.refractions.udig.render.internal.feature.basic.BasicFeatureRendere 
> r.render(BasicFeatureRenderer.java:221)
>       at  
> net.refractions.udig.project.internal.render.impl.TilingRenderer.rende 
> r(TilingRenderer.java:79)
>       at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RenderJob.startRendering(RenderExecutorImpl.java:285)
>       at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RenderJob.run(RenderExecutorImpl.java:348)
>       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
> Caused by: java.lang.Exception: Exception rendering layer  
> DefaultMapLayer[ Test, VISIBLE, style=StyleImpl<NO_PARENT> 
> [ name=Default Styler],  
> data=net.refractions.udig.project.internal.impl.UDIGFeatureStore at 9830b 
> c, query=Query: [Request All Features]
>  feature type: null
>  filter: Filter.NONE
>  [properties:  ALL ]]
>       at org.geotools.renderer.lite.StreamingRenderer.paint 
> (StreamingRenderer.java:508)
>       at org.geotools.renderer.lite.StreamingRenderer.paint 
> (StreamingRenderer.java:412)
>       at  
> net.refractions.udig.render.internal.feature.basic.BasicFeatureRendere 
> r.render(BasicFeatureRenderer.java:293)
>       ... 5 more
> Caused by: java.lang.UnsupportedOperationException: Function  
> expression support not yet added.
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:620)
>       at org.geotools.filter.FunctionExpressionImpl.accept 
> (FunctionExpressionImpl.java:79)
>       at org.geotools.filter.SQLEncoderPostgis.visit 
> (SQLEncoderPostgis.java:282)
>       at org.geotools.filter.CompareFilterImpl.accept 
> (CompareFilterImpl.java:378)
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:377)
>       at org.geotools.filter.LogicFilterImpl.accept 
> (LogicFilterImpl.java:336)
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:377)
>       at org.geotools.filter.LogicFilterImpl.accept 
> (LogicFilterImpl.java:336)
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:377)
>       at org.geotools.filter.LogicFilterImpl.accept 
> (LogicFilterImpl.java:336)
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:377)
>       at org.geotools.filter.LogicFilterImpl.accept 
> (LogicFilterImpl.java:336)
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:377)
>       at org.geotools.filter.LogicFilterImpl.accept 
> (LogicFilterImpl.java:336)
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:377)
>       at org.geotools.filter.LogicFilterImpl.accept 
> (LogicFilterImpl.java:336)
>       at org.geotools.filter.SQLEncoder.visit(SQLEncoder.java:377)
>       at org.geotools.filter.LogicFilterImpl.accept 
> (LogicFilterImpl.java:336)
>       at org.geotools.filter.SQLEncoder.encode(SQLEncoder.java:212)
>       at org.geotools.filter.SQLEncoder.encode(SQLEncoder.java:236)
>       at org.geotools.data.postgis.PostgisSQLBuilder.sqlWhere 
> (PostgisSQLBuilder.java:147)
>       at org.geotools.data.jdbc.DefaultSQLBuilder.buildSQLQuery 
> (DefaultSQLBuilder.java:175)
>       at org.geotools.data.jdbc.JDBC1DataStore.constructQuery 
> (JDBC1DataStore.java:727)
>       at org.geotools.data.jdbc.JDBC1DataStore.getFeatureReader 
> (JDBC1DataStore.java:654)
>       at org.geotools.data.jdbc.JDBCFeatureCollection.reader 
> (JDBCFeatureCollection.java:78)
>       at org.geotools.renderer.lite.StreamingRenderer.getReader 
> (StreamingRenderer.java:1090)
>       at org.geotools.renderer.lite.StreamingRenderer.processStylers 
> (StreamingRenderer.java:1188)
>       at org.geotools.renderer.lite.StreamingRenderer.paint 
> (StreamingRenderer.java:506)
>       ... 7 more
>
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel



More information about the udig-devel mailing list