Wow; Lion added the "great" autocorrect feature from iPhone into the mix. Let me try that again.
"Taking" discussion to the bug report; there is a fix (committed) that you can try on Monday. -- Jody Garnett On Saturday, 24 September 2011 at 10:12 PM, Jody Garnett wrote: > Thanking discussion to the bug report; I have applied a fix and would like > to ask you to test when you are back at work. > > -- > Jody Garnett > > > On Saturday, 24 September 2011 at 3:56 PM, Jody Garnett wrote: > > > Back from foss4g now so I can focus on this one. Thanks for the > > http://jira.codehaus.org/browse/UDIG-1818 bug report. > > > > Sorry for the earlier confused response BasicFeatureRenderer is our code > > and we should be able to fix this. Both the old and the new code snippet > > are using the retired DefaultMapLayer. I would like to make sure we use > > FeatureLayer and avoid a round of indirection. > > > > Here is my problem with the old code - ForceCoordinateSystemFeatureResults > > is basically us not trusting the FeatureCollection provided by the > > datastore; and wrapping it up in something we know will know will copy all > > the values; and package them up into a new feature with the "Correct" CRS. > > > > The problem is we lose the ability of make fast queries as we pan and zoom > > around! Resulting in a much much slower application. > > > > So could we try the following: > > a) update the code to use FeatureLayer > > b) sort out what DataStore implementations are giving us problems (it > > sounds like Shapefile?). > > c) For each datastore that is not working we can fix the GeoTools code. > > Example: Internally to shapefile we can have it wrap the returned (smaller) > > result with ForceCoordinateSystemFeatureResults as it pans around the > > screen. > > > > It also looks like the second code has a trouble; there are two methods we > > can use when defining a Query > > (http://docs.geotools.org/latest/userguide/library/api/datastore.html#simplefeaturesource): > > > > Override this value in the event the datasource is incorrect and your user > > knows the correct CoordianteReferenceSystem. > > > > Query.getCoordinateSystem() > > Query.setCoordinateSystem(CoordinateReferenceSystem) > > > > > > Used to transform the information to requested CoordinateReferenceSystem. > > > > Query.getCoordinateSystemReproject() > > Query.setCoordinateSystemReproject(CoordinateReferenceSystem) > > > > > > With that in mind the second code example looks correct; it uses > > setCoordianteReferenceSystem correctly. It is just the implementation of > > the datastore that is wrong? > > > > -- > > Jody Garnett > > > > > > On Friday, 16 September 2011 at 9:26 AM, Emily Gouge wrote: > > > > > I did some digging and found in the BasicFeatureRenderer these lines > > > (from the prepareDraw) function were commented out: > > > > > > FeatureCollection<SimpleFeatureType, SimpleFeature> reprojectingFc = new > > > ForceCoordinateSystemFeatureResults(featureSource.getFeatures(), > > > layer.getCRS()); > > > layers[0] = new DefaultMapLayer(reprojectingFc, style, "Test"); > > > > > > and replaced with this: > > > > > > layers[0] = new DefaultMapLayer(featureSource, style, "Test"); > > > DefaultQuery query = new DefaultQuery(Query.ALL); > > > query.setTypeName(featureSource.getSchema().getTypeName()); > > > query.setCoordinateSystem(layerCRS); > > > layers[0].setQuery(query); > > > > > > If I un-do this change then the layer renders fine. > > > > > > I think there are multiple issues with this "new" code: > > > 1) The layers[0].setQuery is called here, however it is also called > > > later in the execution process in the setQueries() function. So first > > > query which is supposed to set the CRS is over-written and not used when > > > rendering. > > > > > > 2) Geotools ignores the CoordinateSystem of the layer passed in the > > > layer. Even when I fixed the problem outlined in (1), the issues was > > > not resolved. I looked a bit into the geotools StreamingRenderer and it > > > didn't look to me like it used the CRS of the query, however I am not > > > familiar enough with this code to pinpoint the issue (if there even is > > > one). > > > > > > > > > I'm wondering if anyone knows what prompted this change in the rendering > > > process and if it can be reverted back or made to work so projections > > > can be set on layers. > > > > > > Thanks, > > > Emily >
_______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
