[GIS] OGC WMS Validation

ogcwms

We're trying to validate our WMS server with OGC standards,to do so OGC has a test page available.

Here,only stacked on a single error

 wms:profiles-basic-1 (View Details): Failed

When we look into detail
http://cite.opengeospatial.org/test_engine/wms/1.1.1/exec_summary
page requires following conditions in order to validate WMS 1.1.1 standards:

  1. It must support image/png or image/gif for GetMap requests.
  2. It must contain the CITE dataset in layers that are subsetable and resizable and support EPSG:4326.
  3. The EPSG:4326 support must be precise up to the ten-thousandth of a degree.
  4. The default style for the cite:Lakes layer must fill in the polygon with non-white pixels.

Condition 1 is clear and is supported on the system.The problem is I believe on the others (2,3,4)
What causes validation test to fail ?

Best Regards

Best Answer

I found the answer,that we should implement layers in capabilities xml.

<Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>citeLayers</Name> <Title>Cite Layers</Title> <SRS>EPSG:4326</SRS> <LatLonBoundingBox minx="-1.0" miny="-1.0" maxx="1.0" maxy="1.0" /> <BoundingBox SRS="EPSG:4326" minx="-1.0" miny="-1.0" maxx="1.0" maxy="1.0" resx="-1.0" resy="-1.0" /> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:BasicPolygons</Name> <Title>cite:BasicPolygons</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:Bridges</Name> <Title>cite:Bridges</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:Buildings</Name> <Title>cite:Buildings</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:DividedRoutes</Name> <Title>cite:DividedRoutes</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:Forests</Name> <Title>cite:Forests</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:Lakes</Name> <Title>cite:Lakes</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:MapNeatline</Name> <Title>cite:MapNeatline</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:NamedPlaces</Name> <Title>cite:NamedPlaces</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:Ponds</Name> <Title>cite:Ponds</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:RoadSegments</Name> <Title>cite:RoadSegments</Title> <SRS>EPSG:4326</SRS> </Layer> <Layer cascaded="0" noSubsets="0" opaque="0" queryable="1"> <Name>cite:Streams</Name> <Title>cite:Streams</Title> <SRS>EPSG:4326</SRS> </Layer> </Layer>

Therefore,I found xslt variable which returns false and validated with output xml file.

<xsl:variable name="VAR_STDDATA_EXISTS">
<xsl:value-of select="count(//Layer[(Title = 'cite:BasicPolygons' or    Title = 'cite:Bridges' or    Title = 'cite:Buildings' or    Title = 'cite:DividedRoutes' or    Title = 'cite:Forests' or    Title = 'cite:Lakes' or    Title = 'cite:MapNeatline' or    Title = 'cite:NamedPlaces' or    Title = 'cite:Ponds' or    Title = 'cite:RoadSegments' or    Title = 'cite:Streams')    and ancestor-or-self::Layer/SRS[contains(., 'EPSG:4326')]    and not(@noSubsets = 1)    and (not(@fixedWidth) or @fixedWidth = 0)    and (not(@fixedHeight) or @fixedHeight = 0)]) = 11   "/>

Related Question