Hi All,

Can someone please point me to my error. I've been trying to display a 
GridCoverage2D object in a JMapFrame. I keep getting the following casting 
error. I know I can just use the reader object (and it works) to display the 
image, however, I need to be able to display a passed GridCoverage2D object.

Thanks for your help,
Mike

Error:
2011-04-28 16:09:54 SEVERE: org.geotools.feature.simple.SimpleFeatureImpl 
cannot be cast to org.geotools.coverage.grid.GridCoverage2D 
(StreamingRenderer.fireErrorEvent())
 java.lang.ClassCastException: org.geotools.feature.simple.SimpleFeatureImpl 
cannot be cast to org.geotools.coverage.grid.GridCoverage2D
     
org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:2219)
     
org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:2158)
     
org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2014)
     
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1934)
     
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:766)
     org.geotools.swing.RenderingExecutor$Task.call(RenderingExecutor.java:149)
     org.geotools.swing.RenderingExecutor$Task.call(RenderingExecutor.java:105)
     java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
     java.util.concurrent.FutureTask.run(FutureTask.java:166)
     
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     java.lang.Thread.run(Thread.java:636)


Code:

        AbstractGridFormat format = GridFormatFinder.findFormat( rasterFile ); 
        AbstractGridCoverage2DReader reader = format.getReader(rasterFile);
        GridCoverage2D grid = reader.read(null);
                
        CoordinateReferenceSystem crs = CRS.decode("EPSG:26911");
                
        MapContext mapcontext = new MapContext(crs);
        mapcontext.addLayer( grid, createGreyscaleStyle(1));
                
        JMapFrame frame = new JMapFrame(mapcontext);
        frame.setSize(965, 600);
        frame.enableStatusBar(true);
        frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE);
        frame.setVisible(true);

private static Style createGreyscaleStyle(int band)  {
       ContrastEnhancement ce = sf.contrastEnhancement(ff.literal(1.0), 
ContrastMethod.NORMALIZE);
       SelectedChannelType sct = 
sf.createSelectedChannelType(String.valueOf(band), ce);

       RasterSymbolizer sym = sf.getDefaultRasterSymbolizer();
       ChannelSelection sel = sf.channelSelection(sct);
       sym.setChannelSelection(sel);

       return SLD.wrapSymbolizers(sym);
   }
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to