OGC——WMS服务 三、WMS服务中的操作 四、总结

一、引言

        一直用arcgis javascript的二次开发,经常使用它的一些服务WMS、WMTS、WFS、MapService等,并没有深入了解这些服务内部机制,直到最近学习了geoserver,由于毕竟它是开源的要遵循行业老大OGC制定的标准,这样通用性比较强一些,所以发的服务基本都是WMS、WTMS、WFS、WCS==

        so了解这些东西是必须的了,后悔当时没有跟遥感院第一美男老师好好学啊,现在开始看着还是懵逼状态,硬着头皮看完梳理了一下==

二、WMS服务发布

        这里可以用geoserver发布,也可以用arcgisserver或者mapserver,由于我经常使用arcgis,这里用了arcgis server发布的。发布很简单==

        这里只要比正常发布的时候多勾个选项就可以了。发布后的服务如下面右图:

OGC——WMS服务
三、WMS服务中的操作
四、总结    OGC——WMS服务
三、WMS服务中的操作
四、总结

 
WMS提供了以下的操作
 

WMS requests can perform the following operations:

OGC——WMS服务
三、WMS服务中的操作
四、总结

3.1GetCapabilities(获取服务中的要素类及支持的操作)

3.1.1基本介绍


The GetCapabilities operation requests metadata about the operations, services, and data (“capabilities”) that are offered by a WMS server.

The parameters for the GetCapabilities operation are:
OGC——WMS服务
三、WMS服务中的操作
四、总结

3.1.2举例介绍

请求方式:

这里主要就是三个参数,request就是WMS的操作方法,这里是GetCapabilities

请求结果:

这里看着比较复杂,一下子肯定看不懂,后面可以慢慢理解,这个内容很有用的==

<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
<WMS_Capabilities version="1.3.0" updateSequence="2014-05-30T16:26:00Z"  xmlns="http://www.opengis.net/wms"   xmlns:sld="http://www.opengis.net/sld"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:ms="http://mapserver.gis.umn.edu/mapserver"   xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd  http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/sld_capabilities.xsd  http://mapserver.gis.umn.edu/mapserver https://worldwind25.arc.nasa.gov/wms?service=WMS&amp;version=1.3.0&amp;request=GetSchemaExtension">

<!-- MapServer version 7.0.0 OUTPUT=PNG OUTPUT=JPEG OUTPUT=KML SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO SUPPORTS=SVG_SYMBOLS SUPPORTS=RSVG SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE -->

<Service>
  <Name>WMS</Name>
  <Title>World Wind Server</Title>
  <Abstract>NASA WorldWind WMS Service that contains the following data: ...</Abstract>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/>
  <ContactInformation>
    <ContactPersonPrimary>
      <ContactPerson>Randolph Kim</ContactPerson>
      <ContactOrganization>NASA</ContactOrganization>
    </ContactPersonPrimary>
      <ContactPosition> </ContactPosition>
  <ContactElectronicMailAddress>rkim@mail.arc.nasa.gov</ContactElectronicMailAddress>
  </ContactInformation>
  <MaxWidth>2048</MaxWidth>
  <MaxHeight>2048</MaxHeight>
</Service>

<Capability>
  <Request>
    <GetCapabilities>
      <Format>text/xml</Format>
      <DCPType>
        <HTTP>
          <Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Get>
          <Post><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Post>
        </HTTP>
      </DCPType>
    </GetCapabilities>
    <GetMap>
      <Format>image/png</Format>
      <Format>image/tiff</Format>
      <Format>image/jp2k</Format>
      <Format>image/jpeg</Format>
      <Format>image/png; mode=8bit</Format>
      <Format>application/x-pdf</Format>
      <Format>image/svg+xml</Format>
      <Format>application/vnd.google-earth.kml+xml</Format>
      <Format>application/vnd.google-earth.kmz</Format>
      <DCPType>
        <HTTP>
          <Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Get>
          <Post><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Post>
        </HTTP>
      </DCPType>
    </GetMap>
    <GetFeatureInfo>
      <Format>text/plain</Format>
      <Format>application/vnd.ogc.gml</Format>
      <DCPType>
        <HTTP>
          <Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Get>
          <Post><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Post>
        </HTTP>
      </DCPType>
    </GetFeatureInfo>
  </Request>
  <Exception>
    <Format>XML</Format>
    <Format>INIMAGE</Format>
    <Format>BLANK</Format>
  </Exception>
  <Layer>
    <Title>World Wind Server</Title>
    <Abstract>NASA WorldWind WMS Service that contains the following data: ...</Abstract>
    <CRS>EPSG:4326</CRS>
    <CRS>EPSG:4269</CRS>
    <CRS>EPSG:3857</CRS>
    <EX_GeographicBoundingBox>
        <westBoundLongitude>-180</westBoundLongitude>
        <eastBoundLongitude>180</eastBoundLongitude>
        <southBoundLatitude>-90</southBoundLatitude>
        <northBoundLatitude>90</northBoundLatitude>
    </EX_GeographicBoundingBox>
    <BoundingBox CRS="EPSG:4326"
                minx="-90" miny="-180" maxx="90" maxy="180" />
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200401</Name>
        <Title>BlueMarble January 2004</Title>
        <Abstract>BlueMarble imagery for January 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200402</Name>
        <Title>BlueMarble February 2004</Title>
        <Abstract>BlueMarble imagery for February 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200403</Name>
        <Title>BlueMarble March 2004</Title>
        <Abstract>BlueMarble imagery for March 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200404</Name>
        <Title>BlueMarble April 2004</Title>
        <Abstract>BlueMarble imagery for April 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200405</Name>
        <Title>BlueMarble May 2004</Title>
        <Abstract>BlueMarble imagery for May 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200406</Name>
        <Title>BlueMarble June 2004</Title>
        <Abstract>BlueMarble imagery for June 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200407</Name>
        <Title>BlueMarble July 2004</Title>
        <Abstract>BlueMarble imagery for July 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200408</Name>
        <Title>BlueMarble August 2004</Title>
        <Abstract>BlueMarble imagery for August 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200409</Name>
        <Title>BlueMarble September 2004</Title>
        <Abstract>BlueMarble imagery for September 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200410</Name>
        <Title>BlueMarble October 2004</Title>
        <Abstract>BlueMarble imagery for October 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200411</Name>
        <Title>BlueMarble November 2004</Title>
        <Abstract>BlueMarble imagery for November 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>BlueMarble-200412</Name>
        <Title>BlueMarble December 2004</Title>
        <Abstract>BlueMarble imagery for December 2004</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>esat</Name>
        <Title>ESAT</Title>
        <Abstract>I-Cubed ESAT World Landsat7 Mosaic</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-58</southBoundLatitude>
            <northBoundLatitude>82</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-58" miny="-180" maxx="82" maxy="180" />
    </Layer>
    <Layer queryable="0" opaque="0" cascaded="0">
        <Name>earthatnight</Name>
        <Title>Earth_At_Night_2012</Title>
        <Abstract>Earth At Night 2012</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-05-17T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
        <Style>
          <Name>default</Name>
          <Title>default</Title>
          <LegendURL width="59" height="20">
             <Format>image/png</Format>
             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="https://worldwind25.arc.nasa.gov/wms?version=1.3.0&amp;service=WMS&amp;request=GetLegendGraphic&amp;sld_version=1.1.0&amp;layer=earthatnight&amp;format=image/png&amp;STYLE=default"/>
          </LegendURL>
        </Style>
        <MinScaleDenominator>2.67857e+06</MinScaleDenominator>
    </Layer>
    <Layer queryable="0" opaque="0" cascaded="0">
        <Name>FAAchart</Name>
        <Title>FAA navigation charts</Title>
        <Abstract>FAA navigation charts</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-05-17T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-173.49</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>35.9465</southBoundLatitude>
            <northBoundLatitude>72.3357</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="35.9465" miny="-173.49" maxx="72.3357" maxy="180" />
        <Style>
          <Name>default</Name>
          <Title>default</Title>
          <LegendURL width="58" height="20">
             <Format>image/png</Format>
             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="https://worldwind25.arc.nasa.gov/wms?version=1.3.0&amp;service=WMS&amp;request=GetLegendGraphic&amp;sld_version=1.1.0&amp;layer=FAAchart&amp;format=image/png&amp;STYLE=default"/>
          </LegendURL>
        </Style>
    </Layer>
    <Layer queryable="0" opaque="1" cascaded="0">
        <Name>scaletest</Name>
        <Title>Scale test</Title>
        <Abstract>Max and min scale test</Abstract>
        <KeywordList>
            <Keyword>LastUpdate= 2013-07-02T16:26:00Z</Keyword>
        </KeywordList>
        <CRS>EPSG:4326</CRS>
        <EX_GeographicBoundingBox>
            <westBoundLongitude>-180</westBoundLongitude>
            <eastBoundLongitude>180</eastBoundLongitude>
            <southBoundLatitude>-90</southBoundLatitude>
            <northBoundLatitude>90</northBoundLatitude>
        </EX_GeographicBoundingBox>
        <BoundingBox CRS="EPSG:4326"
                    minx="-90" miny="-180" maxx="90" maxy="180" />
        <MinScaleDenominator>1.78571e+06</MinScaleDenominator>
    </Layer>
  </Layer>
</Capability>
</WMS_Capabilities>

3.2GetMap(获取地图)

3.2.1基本介绍
The GetMap operation requests that the server generate a map. The core parameters specify one or more layers and styles to appear on the map, a bounding box for the map extent, a target spatial reference system, and a width, height, and format for the output. The information needed to specify values for parameters such as layers, styles and srs can be obtained from the Capabilities document.

The response is a map image, or other map output artifact, depending on the format requested. GeoServer provides a wide variety of output formats, described in WMS output formats.

The standard parameters for the GetMap operation are:
OGC——WMS服务
三、WMS服务中的操作
四、总结

3.2.2举例介绍
请求方式:

这里需要注意的是,layers名字要写正确,crs坐标系,bbox图片范围,height图片高像素,width图片宽像素,format这个就不用多说了吧。其实填充的这些参数你都可以在上面GetCapabilities 请求结果中找到==
请求结果(返回的影像区域为河南南阳和湖北襄阳交界的南阳盆地地区):
OGC——WMS服务
三、WMS服务中的操作
四、总结

3.3GetFeatureInfo(根据地图上的像素点获取更详细的要素信息,类似Identify功能)

3.3.1基本介绍

The GetFeatureInfo operation requests the spatial and attribute data for the features at a given location on a map. It is similar to the WFS GetFeature operation, but less flexible in both input and output. Since GeoServer provides a WFS service we recommend using it instead of GetFeatureInfo whenever possible.

The one advantage of GetFeatureInfo is that the request uses an (x,y) pixel value from a returned WMS image. This is easier to use for a naive client that is not able to perform true geographic referencing.

The standard parameters for the GetFeatureInfo operation are:
OGC——WMS服务
三、WMS服务中的操作
四、总结

3.3.2举例介绍

请求方式:http://localhost:6080/arcgis/services/tttt/tt/MapServer/WMSServer?VERSION=1.3.0&REQUEST=GetFeatureInfo&QUERY_LAYERS=0&BBOX=110,35,120,45&crs=4326&INFO_FORMAT=text/html&I=200&J=100&WIDTH=256&HEIGHT=256

这里需要注意的参数QUERY_LAYERS请求的图层,BBOX图片的范围,INFO_FORMAT返回数据格式,I图片的像素横坐标,J图片像素纵坐标,width与height同getmap函数一样。同理这里的参数都可以在GetCapabilities中查找到奥==

还有一点要注意的是version版本问题要注意对上,网上很多资料由于版本不一致导致不能使用,并不是写错了==

请求结果:

OGC——WMS服务
三、WMS服务中的操作
四、总结

四、总结

  • 学习WMS迫在眉睫;
  • arcgis server发布WMS服务;
  • WMS中的三种操作方法介绍与举例。

 参考链接:

1、OGC——WMS详细介绍(arcgis server举例)

2、WMS GetMap GetCapabilities 参数详解

<?xml version='1.0' encoding="UTF-8" standalone="no" ?><WMS_Capabilities version="1.3.0" updateSequence="2014-05-30T16:26:00Z"  xmlns="http://www.opengis.net/wms"   xmlns:sld="http://www.opengis.net/sld"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:ms="http://mapserver.gis.umn.edu/mapserver"   xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd  http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/sld_capabilities.xsd  http://mapserver.gis.umn.edu/mapserver https://worldwind25.arc.nasa.gov/wms?service=WMS&amp;version=1.3.0&amp;request=GetSchemaExtension">
<!-- MapServer version 7.0.0 OUTPUT=PNG OUTPUT=JPEG OUTPUT=KML SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO SUPPORTS=SVG_SYMBOLS SUPPORTS=RSVG SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE -->
<Service>  <Name>WMS</Name>  <Title>World Wind Server</Title>  <Abstract>NASA WorldWind WMS Service that contains the following data: ...</Abstract>  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/>  <ContactInformation>    <ContactPersonPrimary>      <ContactPerson>Randolph Kim</ContactPerson>      <ContactOrganization>NASA</ContactOrganization>    </ContactPersonPrimary>      <ContactPosition> </ContactPosition>  <ContactElectronicMailAddress>rkim@mail.arc.nasa.gov</ContactElectronicMailAddress>  </ContactInformation>  <MaxWidth>2048</MaxWidth>  <MaxHeight>2048</MaxHeight></Service>
<Capability>  <Request>    <GetCapabilities>      <Format>text/xml</Format>      <DCPType>        <HTTP>          <Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Get>          <Post><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Post>        </HTTP>      </DCPType>    </GetCapabilities>    <GetMap>      <Format>image/png</Format>      <Format>image/tiff</Format>      <Format>image/jp2k</Format>      <Format>image/jpeg</Format>      <Format>image/png; mode=8bit</Format>      <Format>application/x-pdf</Format>      <Format>image/svg+xml</Format>      <Format>application/vnd.google-earth.kml+xml</Format>      <Format>application/vnd.google-earth.kmz</Format>      <DCPType>        <HTTP>          <Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Get>          <Post><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Post>        </HTTP>      </DCPType>    </GetMap>    <GetFeatureInfo>      <Format>text/plain</Format>      <Format>application/vnd.ogc.gml</Format>      <DCPType>        <HTTP>          <Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Get>          <Post><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://worldwind25.arc.nasa.gov/wms?"/></Post>        </HTTP>      </DCPType>    </GetFeatureInfo>  </Request>  <Exception>    <Format>XML</Format>    <Format>INIMAGE</Format>    <Format>BLANK</Format>  </Exception>  <Layer>    <Title>World Wind Server</Title>    <Abstract>NASA WorldWind WMS Service that contains the following data: ...</Abstract>    <CRS>EPSG:4326</CRS>    <CRS>EPSG:4269</CRS>    <CRS>EPSG:3857</CRS>    <EX_GeographicBoundingBox>        <westBoundLongitude>-180</westBoundLongitude>        <eastBoundLongitude>180</eastBoundLongitude>        <southBoundLatitude>-90</southBoundLatitude>        <northBoundLatitude>90</northBoundLatitude>    </EX_GeographicBoundingBox>    <BoundingBox CRS="EPSG:4326"                minx="-90" miny="-180" maxx="90" maxy="180" />    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200401</Name>        <Title>BlueMarble January 2004</Title>        <Abstract>BlueMarble imagery for January 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200402</Name>        <Title>BlueMarble February 2004</Title>        <Abstract>BlueMarble imagery for February 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200403</Name>        <Title>BlueMarble March 2004</Title>        <Abstract>BlueMarble imagery for March 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200404</Name>        <Title>BlueMarble April 2004</Title>        <Abstract>BlueMarble imagery for April 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200405</Name>        <Title>BlueMarble May 2004</Title>        <Abstract>BlueMarble imagery for May 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200406</Name>        <Title>BlueMarble June 2004</Title>        <Abstract>BlueMarble imagery for June 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200407</Name>        <Title>BlueMarble July 2004</Title>        <Abstract>BlueMarble imagery for July 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200408</Name>        <Title>BlueMarble August 2004</Title>        <Abstract>BlueMarble imagery for August 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200409</Name>        <Title>BlueMarble September 2004</Title>        <Abstract>BlueMarble imagery for September 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200410</Name>        <Title>BlueMarble October 2004</Title>        <Abstract>BlueMarble imagery for October 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200411</Name>        <Title>BlueMarble November 2004</Title>        <Abstract>BlueMarble imagery for November 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>BlueMarble-200412</Name>        <Title>BlueMarble December 2004</Title>        <Abstract>BlueMarble imagery for December 2004</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>esat</Name>        <Title>ESAT</Title>        <Abstract>I-Cubed ESAT World Landsat7 Mosaic</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-12-12T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-58</southBoundLatitude>            <northBoundLatitude>82</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-58" miny="-180" maxx="82" maxy="180" />    </Layer>    <Layer queryable="0" opaque="0" cascaded="0">        <Name>earthatnight</Name>        <Title>Earth_At_Night_2012</Title>        <Abstract>Earth At Night 2012</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-05-17T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />        <Style>          <Name>default</Name>          <Title>default</Title>          <LegendURL width="59" height="20">             <Format>image/png</Format>             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="https://worldwind25.arc.nasa.gov/wms?version=1.3.0&amp;service=WMS&amp;request=GetLegendGraphic&amp;sld_version=1.1.0&amp;layer=earthatnight&amp;format=image/png&amp;STYLE=default"/>          </LegendURL>        </Style>        <MinScaleDenominator>2.67857e+06</MinScaleDenominator>    </Layer>    <Layer queryable="0" opaque="0" cascaded="0">        <Name>FAAchart</Name>        <Title>FAA navigation charts</Title>        <Abstract>FAA navigation charts</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-05-17T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-173.49</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>35.9465</southBoundLatitude>            <northBoundLatitude>72.3357</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="35.9465" miny="-173.49" maxx="72.3357" maxy="180" />        <Style>          <Name>default</Name>          <Title>default</Title>          <LegendURL width="58" height="20">             <Format>image/png</Format>             <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="https://worldwind25.arc.nasa.gov/wms?version=1.3.0&amp;service=WMS&amp;request=GetLegendGraphic&amp;sld_version=1.1.0&amp;layer=FAAchart&amp;format=image/png&amp;STYLE=default"/>          </LegendURL>        </Style>    </Layer>    <Layer queryable="0" opaque="1" cascaded="0">        <Name>scaletest</Name>        <Title>Scale test</Title>        <Abstract>Max and min scale test</Abstract>        <KeywordList>            <Keyword>LastUpdate= 2013-07-02T16:26:00Z</Keyword>        </KeywordList>        <CRS>EPSG:4326</CRS>        <EX_GeographicBoundingBox>            <westBoundLongitude>-180</westBoundLongitude>            <eastBoundLongitude>180</eastBoundLongitude>            <southBoundLatitude>-90</southBoundLatitude>            <northBoundLatitude>90</northBoundLatitude>        </EX_GeographicBoundingBox>        <BoundingBox CRS="EPSG:4326"                    minx="-90" miny="-180" maxx="90" maxy="180" />        <MinScaleDenominator>1.78571e+06</MinScaleDenominator>    </Layer>  </Layer></Capability></WMS_Capabilities>