From: Michael B. <mic...@gm...> - 2012-11-05 10:21:50
|
Hi Ratnadeep, The format for world files is detailed here: http://docs.geotools.org/latest/userguide/library/coverage/image.html#world-file Michael On 5 November 2012 01:48, Ratnadeep Raxsith <qe...@gm...> wrote: > OK. Now after much banging the head on the wall, I came to realize that my > code would only work if I have a .pgw (world) file along with the .png file > I get from the WMS server. Now can anyone tell me how do I make a .pgw file > from geotools or even geoserver? I am completely stuck :( > > > On Sun, Nov 4, 2012 at 10:36 AM, Ratnadeep Raxsith <qe...@gm...> wrote: >> >> I am trying to overlay a shp file on wms layer using the example >> http://docs.geotools.org/latest/userguide/tutorial/raster/image.html. >> >> Each time I want to read the format of the file to get a reader I get this >> error : >> >> Exception in thread "main" java.lang.UnsupportedOperationException: Trying >> to get a reader from an unknown format. >> at >> org.geotools.coverage.grid.io.UnknownFormat.getReader(UnknownFormat.java:62) >> at com.qedrix.map.maplotr.Demo1.displayLayers(Demo1.java:127) >> at com.qedrix.map.maplotr.Demo1.main(Demo1.java:260) >> >> My code follows: >> >> public void displayLayers() { >> >> File rasterFile = fetchWmsImage(); >> >> AbstractGridFormat format = GridFormatFinder.findFormat(rasterFile); >> >> this.reader = format.getReader(rasterFile); >> >> // Initially display the raster in greyscale using the >> // data from the first image band >> Style rasterStyle = createRGBStyle(); >> >> // Create a basic style with yellow lines and no fill >> Style shpStyle = SLD.createPointStyle("point", Color.YELLOW, >> Color.GRAY, 0.0f, 1.5f); >> >> MapContent map = new MapContent(); >> map.setTitle("ImageLab"); >> >> MapViewport vp = new MapViewport(); >> >> org.geotools.map.Layer rasterLayer = new GridReaderLayer(reader, >> rasterStyle); >> map.addLayer(rasterLayer); >> >> saveImage(map, "final.jpeg", 583); >> >> } >> >> public File fetchWmsImage() { >> >> URL url = null; >> try { >> url = new >> URL("http://184.106.187.247:8080/geoserver/rg/wms?version=1.1.0"); >> } catch (MalformedURLException e) { >> // will not happen >> } >> >> WebMapServer wms = null; >> try { >> wms = new WebMapServer(url); >> >> WMSCapabilities capabilities = wms.getCapabilities(); >> Layer[] layers = WMSUtils.getNamedLayers(capabilities); >> >> GetMapRequest request = wms.createGetMapRequest(); >> >> request.setFormat("image/png"); >> request.setDimensions("583", "420"); >> request.setTransparent(true); >> request.setSRS("EPSG:900913"); >> >> request.setBBox("-13019428.542822,3922163.1648461,-13013051.407366,3929863.8567165"); >> //request.setProperty("isBaseLayer", "false"); >> //request.setProperty("opacity", ".2"); >> >> for (Layer layer : WMSUtils.getNamedLayers(capabilities)) { >> if (layer.getName().equals("rg:parcels")) >> request.addLayer(layer); >> } >> >> System.out.println(request.getFinalURL()); >> >> GetMapResponse response = (GetMapResponse) >> wms.issueRequest(request); >> BufferedImage image = ImageIO.read(response.getInputStream()); >> >> File rasterFile = new >> File("C:\\Users\\samabhik\\Workspace\\MAP\\data\\out.png"); >> ImageIO.write(image, "png", rasterFile); >> >> try{ >> Thread.sleep(2000); >> }catch(InterruptedException e){} >> >> return rasterFile; >> >> } catch (ServiceException e) { >> // TODO Auto-generated catch block >> e.printStackTrace(); >> } catch (IOException e) { >> // TODO Auto-generated catch block >> e.printStackTrace(); >> } finally { >> >> } >> >> return null; >> } >> >> I am using Maven so my dependency is this: >> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-shapefile</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-swing</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-epsg-hsql</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-geotiff</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-image</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-wms</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-coverage</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> <dependency> >> <groupId>org.geotools</groupId> >> <artifactId>gt-imageio-ext-gdal</artifactId> >> <version>${geotools.version}</version> >> </dependency> >> >> I have JAI/ImageIO/Gdal native libs installed and using a JDK 32bit >> version. >> >> I am using geotools version 9-SNAPSHOT >> >> I even tested the geoserver WMS URL and it works: >> >> >> http://184.106.187.247:8080/geoserver/rg/wms?SERVICE=WMS&LAYERS=rg:parcels&ISBASELAYER=false&FORMAT=image/png&OPACITY=.2&HEIGHT=420&TRANSPARENT=TRUE&REQUEST=GetMap&BBOX=-13019428.542822,3922163.1648461,-13013051.407366,3929863.8567165&WIDTH=583&STYLES=&SRS=EPSG:900913&VERSION=1.1.1 >> >> >> >> Just ran gdalinfo.exe to read the image content and it follows: >> >> Driver: PNG/Portable Network Graphics Files: >> ....\Workspace\MAP\data\out2.png Size is 583, 420 Coordinate System is `' >> Image Structure Metadata: INTERLEAVE=PIXEL Corner Coordinates: Upper Left ( >> 0.0, 0.0) Lower Left ( 0.0, 420.0) Upper Right ( 583.0, 0.0) Lower Right ( >> 583.0, 420.0) Center ( 291.5, 210.0) Band 1 Block=583x1 Type=Byte, >> ColorInterp=Red Mask Flags: PER_DATASET ALPHA Band 2 Block=583x1 Type=Byte, >> ColorInterp=Green Mask Flags: PER_DATASET ALPHA Band 3 Block=583x1 >> Type=Byte, ColorInterp=Blue Mask Flags: PER_DATASET ALPHA Band 4 Block=583x1 >> Type=Byte, ColorInterp=Alpha >> >> Please help. >> >> >> > > > ------------------------------------------------------------------------------ > LogMeIn Central: Instant, anywhere, Remote PC access and management. > Stay in control, update software, and manage PCs from one command center > Diagnose problems and improve visibility into emerging IT issues > Automate, monitor and manage. Do more in less time with Central > http://p.sf.net/sfu/logmein12331_d2d > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > |