Package org.geotools.data.ows

Examples of org.geotools.data.ows.Layer


public class WMSUtilsTest extends TestCase {

  public void testFindCommonEPSGs() {
    List layers = new ArrayList();
   
    Layer layer1 = new Layer();
    TreeSet set1 = new TreeSet();
    set1.add("EPSG:4326");
    set1.add("EPSG:3005");
    set1.add("EPSG:42101");
    layer1.setSrs(set1);
   
    Layer layer2 = new Layer();
    TreeSet set2 = new TreeSet();
    set2.add("EPSG:3005");
    set2.add("EPSG:42101");
    layer2.setSrs(set2);
   
    Layer layer3 = new Layer();
    TreeSet set3 = new TreeSet();
    set3.add("EPSG:42111");
    layer3.setSrs(set3);
   
    layers.add(layer1);
    layers.add(layer2);
   
    Set results1 = WMSUtils.findCommonEPSGs(layers);
View Full Code Here


    assertEquals(capabilities.getRequest().getGetFeatureInfo().getFormats().get(1), "text/plain");
    assertEquals(capabilities.getRequest().getGetFeatureInfo().getFormats().get(2), "text/html");
    assertEquals(capabilities.getRequest().getGetFeatureInfo().getFormats().get(3), "text/swf");
    assertEquals(capabilities.getRequest().getGetFeatureInfo().getGet(), new URL("http://www2.demis.nl/wms/wms.asp?wms=WorldMap&"));
   
    Layer topLayer = (Layer) capabilities.getLayerList().get(0);
    assertNotNull(topLayer);
    assertNull(topLayer.getParent());
    assertFalse(topLayer.isQueryable());
    assertEquals(topLayer.getTitle(), "World Map");
    assertEquals(topLayer.getSrs().size(), 1);
    assertTrue(topLayer.getSrs().contains("CRS:84"));
   
    CRSEnvelope llbbox = topLayer.getLatLonBoundingBox();
    assertNotNull(llbbox);
    assertEquals(llbbox.getMinX(), -180, 0.0);
    assertEquals(llbbox.getMaxX(), 180, 0.0);
    assertEquals(llbbox.getMinY(), -90, 0.0);
    assertEquals(llbbox.getMaxY(), 90, 0.0);
   
    assertEquals(topLayer.getBoundingBoxes().size(), 1);
   
    CRSEnvelope bbox = (CRSEnvelope) topLayer.getBoundingBoxes().get("CRS:84");
    assertNotNull(bbox);
    assertEquals(bbox.getEPSGCode(), "CRS:84");
    assertEquals(bbox.getMinX(), -184, 0.0);
    assertEquals(bbox.getMaxX(), 180, 0.0);
    assertEquals(bbox.getMinY(), -90.0000000017335, 0.0);
    assertEquals(bbox.getMaxY(), 90, 0.0);
   
    Layer layer = (Layer) capabilities.getLayerList().get(1);
    assertEquals(layer.getParent(), topLayer);
    assertTrue(layer.isQueryable());
    assertEquals(layer.getName(), "Bathymetry");
    assertEquals(layer.getTitle(), "Bathymetry");
    assertEquals(layer.getMetadataURL().get(0).getUrl().toString(), "http://www.example.com/?");
    assertEquals(layer.getMetadataURL().get(0).getFormat(), "text/html");
    assertEquals(layer.getMetadataURL().get(0).getType(), "FGDC");
    assertEquals(layer.getStyles().get(0).getLegendURLs().get(0), "http://www.osgeo.org/sites/all/themes/osgeo/logo.png");
   
    // Added test to verify inheritance, should be same as previous llbbox
    llbbox = layer.getLatLonBoundingBox();
    assertNotNull(llbbox);
    assertEquals(llbbox.getMinX(), -180, 0.0);
    assertEquals(llbbox.getMaxX(), 180, 0.0);
    assertEquals(llbbox.getMinY(), -90, 0.0);
    assertEquals(llbbox.getMaxY(), 90, 0.0);
   
    bbox = (CRSEnvelope) layer.getBoundingBoxes().get("CRS:84");
    assertNotNull(bbox);
    assertEquals(bbox.getEPSGCode(), "CRS:84");
    assertEquals(bbox.getMinX(), -180, 0.0);
    assertEquals(bbox.getMaxX(), 180, 0.0);
    assertEquals(bbox.getMinY(), -90, 0.0);
    assertEquals(bbox.getMaxY(), 90, 0.0);
   
    assertEquals(capabilities.getLayerList().size(), 21);
   
    layer = (Layer) capabilities.getLayerList().get(20);
    assertEquals(layer.getParent(), topLayer);
    assertTrue(layer.isQueryable());
    assertEquals(layer.getName(), "Ocean features");
    assertEquals(layer.getTitle(), "Ocean features");
   
    // Added test to verify inheritance, should be same as previous llbbox
    llbbox = layer.getLatLonBoundingBox();
    assertNotNull(llbbox);
    assertEquals(llbbox.getMinX(), -180, 0.0);
    assertEquals(llbbox.getMaxX(), 180, 0.0);
    assertEquals(llbbox.getMinY(), -90, 0.0);
    assertEquals(llbbox.getMaxY(), 90, 0.0);
   
    bbox = (CRSEnvelope) layer.getBoundingBoxes().get("CRS:84");
    assertNotNull(bbox);
    assertEquals(bbox.getEPSGCode(), "CRS:84");
    assertEquals(bbox.getMinX(), -180, 0.0);
    assertEquals(bbox.getMaxX(), 179.999420166016, 0.0);
    assertEquals(bbox.getMinY(), -62.9231796264648, 0.0);
View Full Code Here

       
    assertTrue("Capabilities failed to parse", object instanceof WMSCapabilities);
   
    WMSCapabilities capabilities = (WMSCapabilities) object;
   
    Layer Layer_with_Abstract_in_Style = (Layer) capabilities.getLayerList().get(1);
    assertEquals(Layer_with_Abstract_in_Style.getName(), "Layer_with_Abstract_in_Style");
    assertEquals(Layer_with_Abstract_in_Style.getTitle(), "Layer with Abstract in Style");
    assertEquals("http://www.osgeo.org/sites/all/themes/osgeo/logo.png", Layer_with_Abstract_in_Style.getStyles().get(0).getLegendURLs().get(0));
   
    Layer Layer_with_empty_Abstract_in_Style = (Layer) capabilities.getLayerList().get(2);
    assertEquals(Layer_with_empty_Abstract_in_Style.getName(), "Layer_with_empty_Abstract_in_Style");
    assertEquals(Layer_with_empty_Abstract_in_Style.getTitle(), "Layer with empty Abstract in Style");
    assertEquals("http://www.osgeo.org/sites/all/themes/osgeo/logo.png", Layer_with_empty_Abstract_in_Style.getStyles().get(0).getLegendURLs().get(0));
   
  }
View Full Code Here

        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;
            }
        }
View Full Code Here

           
            assertNull(capabilities.getRequest().getGetFeatureInfo());
           
            assertEquals(capabilities.getLayerList().size(), 4);
           
            Layer layer = (Layer) capabilities.getLayerList().get(0);
            assertNotNull(layer);
            assertNull(layer.getName());
            assertEquals(layer.getTitle(), "Microsoft TerraServer Map Server");
            assertEquals(layer.getSrs().size(), 1);
            assertTrue(layer.getSrs().contains("EPSG:4326" ));
           
            validateBoundingBox(layer.getLatLonBoundingBox(),
                    -168.67, 17.84, -65.15, 71.55);
           
            assertNull(layer.getParent());
            assertEquals(layer.getBoundingBoxes().size(), 0);
            assertEquals(layer.getStyles().size(), 0);
           
            layer = (Layer) capabilities.getLayerList().get(1);
            assertEquals(layer.getName(), "DOQ");
            assertEquals(layer.getTitle(), "USGS Digital Ortho-Quadrangles");
            // changed expected to 14 to account for inherited srs
            assertEquals(layer.getSrs().size(), 14);
            // Added additional check to test for inherited srs
            assertTrue(layer.getSrs().contains("EPSG:4326"));
            assertTrue(layer.getSrs().contains("EPSG:26905"));
            assertTrue(layer.getSrs().contains("EPSG:26920"));
            assertEquals(layer.getBoundingBoxes().size(), 13);
            CRSEnvelope bbox = (CRSEnvelope) layer.getBoundingBoxes().get("EPSG:26905");
            assertNotNull(bbox);
            assertEquals(bbox.getEPSGCode(), "EPSG:26905");
            assertEquals(bbox.getMinX(), 552600.0, 0.0);
            assertEquals(bbox.getMinY(), 6540200.0, 0.0);
            assertEquals(bbox.getMaxX(), 670200.0, 0.0);
            assertEquals(bbox.getMaxY(), 6794800.0, 0.0);
            assertEquals(10, layer.getScaleHintMin(), 0);
            assertEquals(10000, layer.getScaleHintMax(), 0);
           
            bbox = (CRSEnvelope) layer.getBoundingBoxes().get("EPSG:26920");
            assertNotNull(bbox);
            assertEquals(bbox.getEPSGCode(), "EPSG:26920");
            assertEquals(bbox.getMinX(), 181800.0, 0.0);
            assertEquals(bbox.getMinY(), 1985200.0, 0.0);
            assertEquals(bbox.getMaxX(), 269400.0, 0.0);
            assertEquals(bbox.getMaxY(), 2048600.0, 0.0);
           
            // Changed expected value, no duplicates allowed by spec
            assertEquals(layer.getStyles().size(), 18);
            assertTrue(layer.getStyles().contains(new StyleImpl("UTMGrid")));
            assertTrue(layer.getStyles().contains(new StyleImpl("GeoGrid_Cyan")));
            assertTrue(layer.getStyles().contains(new StyleImpl("GeoGrid_Black")));
            assertTrue(layer.getStyles().contains(new StyleImpl("GeoGrid_Gray")));
            assertTrue(layer.getStyles().contains(new StyleImpl("GeoGrid_White")));
           
            StyleImpl utmGrid = (StyleImpl) layer.getStyles().get(0);
            assertEquals(utmGrid.getName(), "UTMGrid");
            assertEquals(utmGrid.getAbstract().toString(), "Display grid lines in Goldenrod on the DOQ image");
            assertEquals(utmGrid.getTitle().toString(), "Goldedrod Grid Lines on UTM coordinates");
           
            assertFalse(layer.isQueryable());
           
            // Added test to verify inheritance, should be same as previous llbbox
            validateBoundingBox(layer.getLatLonBoundingBox(),
                    -168.67, 17.84, -65.15, 71.55);
           
           
           
            layer = (Layer) capabilities.getLayerList().get(2);
            assertNotNull(layer);
            assertEquals(layer.getName(), "DRG");
            assertEquals(layer.getTitle(), "USGS Raster Graphics (Topo Maps)");
            // Added test to verify inheritance, should be same as previous llbbox
            validateBoundingBox(layer.getLatLonBoundingBox(),
                    -168.67, 17.84, -65.15, 71.55);
           
            assertEquals(50, layer.getScaleHintMin(), 0);
           
            layer = (Layer) capabilities.getLayerList().get(3);
            assertNotNull(layer);
            assertEquals(layer.getName(), "UrbanArea");
            assertEquals(layer.getTitle(), "USGS Urban Areas Ortho-Imagery");
            // Added test to verify inheritance, should be same as previous llbbox
            validateBoundingBox(layer.getLatLonBoundingBox(),
                    -168.67, 17.84, -65.15, 71.55);
            assertEquals(50000, layer.getScaleHintMax(), 0);
           
        } catch(java.net.ConnectException ce){
            if(ce.getMessage().indexOf("timed out")>0){
                System.err.println("Unable to test - timed out: "+ce);
            } else{
View Full Code Here

        assertTrue("Capabilities failed to parse", object instanceof WMSCapabilities);

        WMSCapabilities capabilities = (WMSCapabilities) object;

        // Get first test layer
        Layer layer = (Layer) capabilities.getLayerList().get(0);
        assertNotNull(layer);
        assertEquals(3,layer.getDimensions().size());
        assertEquals("ISO8601",layer.getDimension("time").getUnits());

        // Get next test layer, it's nested 3 deep
        List<Layer> allLayers = capabilities.getLayerList();
       
        layer = (Layer) allLayers.get(2);
        assertNotNull(layer);
        assertNotNull(layer.getParent());
        assertEquals(3,layer.getDimensions().size());

        // Should be false by default since not specified in layer or ancestors
        assertFalse(layer.isQueryable());
        assertEquals(layer.getTitle(), "Coastlines");

        // Should be 5 total after accumulating all ancestors
        assertEquals(5,layer.getSrs().size());
        assertTrue(layer.getSrs().contains("EPSG:26906"));
        assertTrue(layer.getSrs().contains("EPSG:26905"));
        assertTrue(layer.getSrs().contains("EPSG:4326"));
        assertTrue(layer.getSrs().contains("AUTO:42003"));
        assertTrue(layer.getSrs().contains("AUTO:42005"));

        // 2 total, this layer plus top most layer
        assertEquals(layer.getStyles().size(), 2);
        assertTrue(layer.getStyles().contains(new StyleImpl("TestStyle")));
        assertTrue(layer.getStyles().contains(new StyleImpl("default")));

        // Next test layer, nested 3 deep but different path
        layer = (Layer) capabilities.getLayerList().get(4);
        assertNotNull(layer);
        assertNotNull(layer.getParent());
        assertEquals(3, layer.getDimensions().size());
        assertEquals(1, layer.getExtents().size());
        assertEquals(layer.getExtent("time").getName(), "time");

        // Should be true by default since inherited from parent
        assertEquals(layer.getName(), "RTOPO");
        assertTrue(layer.isQueryable());
    }
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

        Attributes attrs, Map hints) throws SAXException,
        OperationNotSupportedException {

            List childLayers = new ArrayList();

      Layer layer = new Layer();

      Set crs = new TreeSet();
      HashMap boundingBoxes = new HashMap();
      HashMap dimensions = new HashMap();
      HashMap extents = new HashMap();
      List styles = new ArrayList();
      List metadataURLS = new ArrayList();

      for (int i = 0; i < value.length; i++) {
        if (sameName(elems[0], value[i])) {
          layer.setName((String) value[i].getValue());
        }

        if (sameName(elems[1], value[i])) {
          layer.setTitle((String) value[i].getValue());
        }

          if (sameName(elems[2], value[i])) {
              layer.set_abstract((String) value[i].getValue());
          }
          if (sameName(elems[3], value[i])) {
              layer.setKeywords((String[]) value[i].getValue());
          }

        if (sameName(elems[4], value[i])
            || sameName(elems[19], value[i])) {
          String[] crss = ((String) value[i].getValue()).split(" ");
                    for (int j = 0; j < crss.length; j++) {
                        crs.add(crss[j].toUpperCase());
                    }
        }

        if (sameName(elems[5], value[i])
            || sameName(elems[20], value[i])) {
          layer.setLatLonBoundingBox((CRSEnvelope) value[i]
              .getValue());
        }

        if (sameName(elems[6], value[i])) {
          CRSEnvelope bbox = (CRSEnvelope) value[i].getValue();

          boundingBoxes.put(bbox.getEPSGCode(), bbox);
        }

         if (sameName(elems[7], value[i])) {
           Dimension dim = (Dimension) value[i].getValue();
           dimensions.put(dim.getName(), dim);
         }
         if (sameName(elems[8], value[i])) {
           Extent ext = (Extent) value[i].getValue();
           extents.put(ext.getName(), ext);
           // NOTE: dim might be null here, because at this point a sublayer without
           // dimension tags may not yet have inherited parent dimensions.
           //Dimension dim = layer.getDimension(ext.getName());
           //dim.setExtent(ext);
         }
        // if (sameName(elems[9], value[i])) {
        // //TODO attribution ignored
        // }
        // if (sameName(elems[10], value[i])) {
        // //TODO authorityURL ignored
        // }
        // if (sameName(elems[11], value[i])) {
        // //TODO identifier ignored
        // }
         if (sameName(elems[12], value[i])) {
          MetadataURL metadataUrl = (MetadataURL)value[i].getValue();
          metadataURLS.add(metadataUrl);
         }
        // if (sameName(elems[13], value[i])) {
        // //TODO dataURL ignored
        // }
        // if (sameName(elems[14], value[i])) {
        // //TODO featureLIstURL ignored
        // }

        if (sameName(elems[15], value[i])) {
          styles.add(value[i].getValue());
        }
        if (sameName(elems[16], value[i])) {
          Double min = (Double) value[i].getValue();
          layer.setScaleDenominatorMin(min.doubleValue());
        }
        if (sameName(elems[17], value[i])) {
          Double max = (Double) value[i].getValue();
          layer.setScaleDenominatorMax(max.doubleValue());
        }
        if (sameName(elems[18], value[i])) {
          Layer childLayer = (Layer) value[i].getValue();
          childLayer.setParent(layer);
          childLayers.add(childLayer);
        }
        if (sameName(elems[21], value[i])) {
          double[] scaleHint = (double[]) value[i].getValue();
         
View Full Code Here

    public void testLocalGeoServer() {
        assertNotNull(wms);
        assertNotNull(capabilities);

        assertEquals("Version Negotiation", "1.3.0", capabilities.getVersion());
        Layer root = capabilities.getLayer();
        assertNotNull(root);
        assertNull("root layer does not have a name", root.getName());
        assertNotNull("title", root.getTitle());
    }
View Full Code Here

        assertNull("root layer does not have a name", root.getName());
        assertNotNull("title", root.getTitle());
    }

    public void testStates() {
        Layer states = find("topp:states");
        assertNotNull(states);

        ResourceInfo info = wms.getInfo(states);
        assertNotNull(info);
        assertEquals(states.getTitle(), info.getTitle());

        ReferencedEnvelope bounds = info.getBounds();
        assertNotNull(bounds);
        assertFalse(bounds.isEmpty());
    }
View Full Code Here

TOP

Related Classes of org.geotools.data.ows.Layer

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.