[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