Package org.geotools.data.wms

Examples of org.geotools.data.wms.WebMapServer$LayerInfo


        assertNotNull(wms.getCapabilities());
    }

    public void testIssueGetMapRequest() throws Exception {
        WebMapServer wms = new WebMapServer(serverURL);

        WMSCapabilities capabilities = wms.getCapabilities();

        GetMapRequest request = wms.createGetMapRequest();

        //request.setVersion("1.1.1");

        Layer[] layers = WMSUtils.getNamedLayers(capabilities);
        Iterator iter = Arrays.asList(layers).iterator();
        int count = -1;
        while (iter.hasNext()) {

            Layer layer = (Layer) iter.next();
            count++;
            if (count >= 5) {
                break;
            }
                       
            List styles = layer.getStyles();

            if (styles.size() == 0) {
                request.addLayer(layer);
                continue;
            }

            Random random = new Random();
            int randomInt = random.nextInt(styles.size());
           
            request.addLayer(layer, (StyleImpl) styles.get(randomInt));
        }

        Set srss = WMSUtils.getSRSs(capabilities);
        request.setSRS((String) srss.iterator().next());
        request.setDimensions("400", "400");

        String format = "image/gif";
        List formats = wms.getCapabilities().getRequest().getGetMap().getFormats();
        if (!formats.contains("image/gif")) {
            format = (String) formats.get(0);
        }
        request.setFormat(format);

        request.setBBox("366800,2170400,816000,2460400");

        //System.out.println(request.getFinalURL());
        GetMapResponse response = (GetMapResponse) wms.issueRequest(request);

        assertEquals(response.getContentType(), format);
        //System.out.println("Content Type: " + response.getContentType());

        BufferedImage image = ImageIO.read(response.getInputStream());
View Full Code Here


        assertTrue(textFound);
*/
    }
       
    public void testGetEnvelope() throws Exception {
        WebMapServer wms = new WebMapServer(featureURL);
       
        WMSCapabilities caps = wms.getCapabilities();
       
        Layer layer = (Layer) caps.getLayerList().get(0);
        CoordinateReferenceSystem crs = CRS.decode("EPSG:4326");
       
        GeneralEnvelope envelope = wms.getEnvelope(layer, crs);
       
//        minx="-172.367" miny="35.6673" maxx="-11.5624" maxy="83.8293" />
        assertEquals(envelope.getMinimum(0), -172.367, 0.0);
        assertEquals(envelope.getMinimum(1), 35.6673, 0.0);
        assertEquals(envelope.getMaximum(0), -11.5624, 0.0);
        assertEquals(envelope.getMaximum(1), 83.8293, 0.0);

        crs = CRS.decode("EPSG:42304");
        envelope = wms.getEnvelope(layer, crs);
       
//        minx="-2.2e+06" miny="-712631" maxx="3.0728e+06" maxy="3.84e+06" />
        assertEquals(envelope.getMinimum(0), -2.2e+06, 0.0);
        assertEquals(envelope.getMinimum(1), -712631, 0.0);
        assertEquals(envelope.getMaximum(0), 3.0728e+06, 0.0);
        assertEquals(envelope.getMaximum(1), 3.84e+06, 0.0);
       
        layer = (Layer) caps.getLayerList().get(2);
        crs = CRS.decode("EPSG:4326");
       
        envelope = wms.getEnvelope(layer, crs);
       
//        minx="-178.838" miny="31.8844" maxx="179.94" maxy="89.8254" />
        assertEquals(envelope.getMinimum(0), -178.838, 0.0);
        assertEquals(envelope.getMinimum(1), 31.8844, 0.0);
        assertEquals(envelope.getMaximum(0), 179.94, 0.0);
View Full Code Here

        assertEquals(envelope.getMaximum(0), 179.94, 0.0);
        assertEquals(envelope.getMaximum(1), 89.8254, 0.0);
    }
   
    public void testServiceExceptions  () throws Exception {
      WebMapServer wms = new WebMapServer(featureURL);
      GetMapRequest request = wms.createGetMapRequest();
      request.addLayer("NoLayer", "NoStyle");
      try {
        //System.out.println(request.getFinalURL());
        GetMapResponse response = wms.issueRequest(request);
        assertTrue(false);
      } catch (ServiceException e) {
        //e.printStackTrace();
      }     
    }
View Full Code Here

//        System.out.println("Total tested: "+total);
//        System.out.println("Total passed: "+passedCount);
    }

    public boolean serverTest(PrintStream out, URL url) {
        WebMapServer wms = null;

        boolean passed = true;
        out.println("Beginning tests for server:");
        out.println(url);
        out.print("Parsing Capabilities...");
        try {
            wms = new WebMapServer(url);
            out.println("passed.");
        } catch (ServiceException e) {
            out.println("failed.");
            passed = false;
            while (e != null) {
                if (e.getLocator() != null && e.getLocator().length() != 0) {
                    out.println("ServiceException at "+e.getLocator()+": "+e.getMessage()+"("+e.getCode()+")");
                }
                out.println("ServiceException: "+e.getMessage()+"("+e.getCode()+")");
                e = e.getNext();
            }
            return passed;
        } catch (IOException e) {
            out.println("failed.");
            passed = false;
            out.println("IOException: "+e.getMessage());
            e.printStackTrace(out);
            return passed;
        } catch (SAXException e) {
            out.println("failed.");
            passed = false;
            out.println("SAXException: "+e.getMessage());
            e.printStackTrace(out);
            return passed;
        }

        WMSCapabilities caps = wms.getCapabilities();
        assertNotNull(caps);

        out.println("Validating layer LatLonBoundingBoxes...");
        Iterator iter = caps.getLayerList().iterator();
        while (iter.hasNext()) {
            Layer layer = (Layer) iter.next();
            if (layer.getLatLonBoundingBox() == null) {
                if (layer.getName() != null) {
                    out.println("WARNING: Layer '"+layer.getName()+"' contains no LatLonBoundingBox.");
                    passed = false;
                }
            }
        }

        Layer layer = null;
        out.print("Looking for a named layer...");
        iter = caps.getLayerList().iterator();
        while (iter.hasNext()) {
            Layer tempLayer = (Layer) iter.next();
            if (tempLayer.getName() != null) {
                layer = tempLayer;
                out.println("found one. Using layer '"+layer.getName()+"'");
                break;
            }
        }
        String format = null;
        if (layer == null) {
            out.println("server contains no named layers. Cannot perform GetMap requests on it");
            passed = false;
        } else {
            out.print("Checking for GetMap operation...");
            if (caps.getRequest().getGetMap() == null) {
                out.println("NOT FOUND. Will attempt a request using 'image/gif' anyway.");
                passed = false;
                format = "image/gif";
            } else {
                out.println("found.");
                out.print("Searching for a suitable format...");
                List formats = caps.getRequest().getGetMap().getFormats();
                if (formats.contains("image/png")) {
                    format = "image/png";
                    out.println("using 'image/png'.");
                }

                if (format == null && formats.contains("image/gif")) {
                    format = "image/gif";
                    out.println("using 'image/gif'.");
                }

                if (format == null && formats.contains("image/jpeg")) {
                    format = "image/jpeg";
                    out.println("using 'image/jpeg'.");
                }

                if (format == null) {
                    format = (String) formats.get(0);
                    out.println("server does not support GIF, PNG or JPEG. Using '"+format+"'");
                    passed = false;
                }
            }
        }


        out.print("Performing GetMap operation...");
        GetMapRequest request = wms.createGetMapRequest();
       
        request.addLayer(layer);
        CRSEnvelope bbox = layer.getLatLonBoundingBox();
        request.setBBox(bbox);
        request.setFormat(format);
        request.setSRS("EPSG:4326");
        request.setDimensions("100","100");

        try {
            GetMapResponse response = wms.issueRequest(request);
            out.println("received a response.");

            out.print("Checking returned format...");
            if (response.getContentType().indexOf(format) == -1) {
                out.println("server returned bad format. Expected "+format+", got "+response.getContentType()+".");
View Full Code Here

            }

        };
       
       
        WebMapServer wms = new WebMapServer(new URL("http://test.org"), client);
        Layer layer = wms.getCapabilities().getLayer().getChildren()[2];
       
        Envelope env = wms.getEnvelope(layer, CRS.decode("EPSG:3005"));
       
        assertNotNull(env);
    }
View Full Code Here

                }
            }

        };
        // setup the reader
        WebMapServer server = new WebMapServer(new URL("http://geoserver.org/geoserver/wms"),
                client);
        WMSCoverageReader reader = new WMSCoverageReader(server, getLayer(server, "world4326"));
        return reader;
    }
View Full Code Here

                }
            }

        };
        // setup the reader
        WebMapServer server = new WebMapServer(new URL("http://geoserver.org/geoserver/wms"),
                client);
        WMSCoverageReader reader = new WMSCoverageReader(server, getLayer(server, "world4326"));
        return reader;
    }
View Full Code Here

                            "Don't know how to handle a get request over " + url.toExternalForm());
                }
            }

        };
        WebMapServer server = new WebMapServer(new URL("http://geoserver.org/geoserver/wms"),
                client);
        WMSCoverageReader reader = new WMSCoverageReader(server, getLayer(server, "world84"));

        // setup the request and check it
        CoordinateReferenceSystem wgs84 = CRS.decode("EPSG:4326", true);
View Full Code Here

            ReferencedEnvelope re = new ReferencedEnvelope(envelope.getMinimum(0), envelope
                    .getMaximum(0), envelope.getMinimum(1), envelope.getMaximum(1), wli
                    .getNativeCRS());
            // are we in crazy wms 1.3 land?
            if(wli.getNativeCRS() instanceof GeographicCRS) {
                WebMapServer mapServer = wms.getWebMapServer(null);
                Version version = new Version(mapServer.getCapabilities().getVersion());
                if(version.compareTo(new Version("1.3.0")) >= 0) {
                    // flip axis, the wms code won't actually use the crs
                    double minx = re.getMinX();
                    double miny = re.getMinY();
                    double maxx = re.getMaxX();
View Full Code Here

     * @throws IOException
     */
    public WebMapServer getWebMapServer(WMSStoreInfo info) throws IOException {
        try {
            String id = info.getId();
            WebMapServer wms = (WebMapServer) wmsCache.get(id);
            if (wms == null) {
                synchronized (wmsCache) {
                    wms = (WebMapServer) wmsCache.get(id);
                    if (wms == null) {
                        wms = new WebMapServer(new URL(info.getCapabilitiesURL()));

                        wmsCache.put(id, wms);
                    }
                }
            }
View Full Code Here

TOP

Related Classes of org.geotools.data.wms.WebMapServer$LayerInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.