From: Debasish S. <Deb...@rm...> - 2003-02-12 13:03:38
|
Hi All: Am trying to load a shapefile and then generate an image from it . When I try to run I get the following error . I have attached the code for your reference. Sfh->Filecode 9994 Sfh->Filecode 9994 java.lang.NullPointerException at org.geotools.renderer.RendererUtilities.applyFill(RendererUtilities.java:266) at org.geotools.renderer.RenderedPolygon.render(RenderedPolygon.java:65) at org.geotools.renderer.Java2DRenderer.processStylers(Java2DRenderer.java:404) at org.geotools.renderer.Java2DRenderer.render(Java2DRenderer.java:222) at org.geotools.map.DefaultMap.render(DefaultMap.java:73) at GenMap.<init>(GenMap.java:49) at GenMap.main(GenMap.java:60) Process exited with exit code 0. import org.geotools.feature.*; import org.geotools.map.*; import org.geotools.renderer.*; import org.geotools.shapefile.*; import org.geotools.styling.*; import java.awt.*; import java.awt.image.*; import java.io.*; import java.net.*; import javax.imageio.*; import com.vividsolutions.jts.geom.Envelope; import org.geotools.datasource.extents.*; import org.geotools.data.*; import org.geotools.filter.*; public class GenMap { int width = 500; int height = 500; boolean transparent; public GenMap() { try { BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); org.geotools.map.Map map = new DefaultMap(); Java2DRenderer renderer = new Java2DRenderer(); renderer.setOutput(image.getGraphics(), new java.awt.Rectangle(width, height)); ShapefileDataSource sds = new ShapefileDataSource(new URL ("file:///d:\\gisdata\\world\\country")); Envelope bbox = sds.getBbox(false); FeatureCollectionDefault fc = new FeatureCollectionDefault(sds); // MemoryDataSource cache = new MemoryDataSource(); GeometryFilter filter = FilterFactory.createFilterFactory ().createGeometryFilter(AbstractFilter.GEOMETRY_BBOX); filter.addLeftGeometry(FilterFactory.createFilterFactory ().createBBoxExpression(bbox)); FeatureCollection temp = sds.getFeatures(filter); Feature[] list = temp.getFeatures(); for (int i = 0; i < list.length; i++) { cache.addFeature(list[i]); } // Style layerstyle = new BasicPolygonStyle(); map.addFeatureTable(temp, layerstyle); map.render(renderer, sds.getBbox()); File file = new File("d:\\temp\\mapinfo\\newimage.png"); ImageIO.write(image, "png", file); System.out.println("Complete"); } catch (Exception ex) { ex.printStackTrace(); } } public static void main(String[] args) { GenMap genMap = new GenMap(); } } Best Regards Debasish Sahu. Senior Software Engineer RMSI Pvt. Ltd. A-7,Sector-16 Noida-201301. Uttar Pradesh.India. Phone : +91-118-2511102 Fax : +91-118-2511109 Website : http://www.rmsi.com |