У меня установлен и запущен MapCache ‹-> MapServer. MapCache настроен для доступа к WMS и используется для кэширования листов для определенных слоев, предоставляемых моим MapServer. Я могу получить доступ к возможностям WMS и отобразить плитку в моем браузере, получив доступ к WMS через MapCache и убедившись, что он кэшируется.
Отлично, именно то, что я хотел.
Затем я настраиваю клиент WorldWind для доступа к MapCache WMS. WorldWind жалуется, что корневой слой (то, что MapCache использует для обертывания всех слоев) не предоставляет географической ограничительной рамки. WorldWind регистрирует это как серьезное нарушение и начинает выдавать исключения. Я пытаюсь понять, в чем проблема. Требует ли стандарт WMS OGC, чтобы верхний уровень имел ограничивающую рамку, или клиент WorldWind не совместим с WMS? Ниже приведены сообщения об ошибках, которые я вижу. Ниже приведен ответ getCapabilities. Ниже находится XML-файл MapCache. Ниже находится файл карты MapServer.
Я также разместил это в WorldWind форум, но не уверен, что получу там ответ.
Любая помощь будет оценена.
Исключения:
SEVERE: No geographic bounding box given in WMS capabilities for layer rootlayer
SEVERE: No geographic bounding box given in WMS capabilities
SEVERE: WMS capabilities document is missing values necessary for component construction
UpdateSequence: none
ServiceName: OGC:WMS
ServiceTitle: map service
ServiceAbstract: none
Fees: none
AccessConstraints: none
Keywords: none
OnlineResource: href: [url]http://localhost/mapcache/?[/url], type: null
none
Max width = 0 Max height = 0
GetMap
Formats: image/jpeg, image/png,
DCPTypes:
HTTP, Get, href: [url]http://localhost/mapcache/?[/url], type: null
GetCapabilities
Formats: application/vnd.ogc.wms_xml,
DCPTypes:
HTTP, Get, href: [url]http://localhost/mapcache/?[/url], type: null
GetFeatureInfo
Formats: text/plain, application/vnd.ogc.gml,
DCPTypes:
HTTP, Get, href: [url]http://localhost/mapcache/?[/url], type: null
LAYERS
LAYER rootlayer: queryable = false
LAYER bluemarbleJanuary: queryable = false
gov.nasa.worldwind.exception.WWRuntimeException: No geographic bounding box given in WMS capabilities
at gov.nasa.worldwind.util.DataConfigurationUtils.getWMSLayerConfigParams(Unknown Source)
at gov.nasa.worldwind.wms.WMSTiledImageLayer.wmsGetParamsFromCapsDoc(Unknown Source)
at gov.nasa.worldwind.wms.WMSTiledImageLayer.<init>(Unknown Source)
at gov.nasa.worldwind.layers.BasicLayerFactory.doCreateFromCapabilities(Unknown Source)
at gov.nasa.worldwind.layers.BasicLayerFactory.doCreateFromCapabilities(Unknown Source)
at gov.nasa.worldwind.BasicFactory.createFromConfigSource(Unknown Source)
at gov.nasa.worldwind.layers.BasicLayerFactory.createFromConfigSource(Unknown Source)
gov.nasa.worldwind.exception.WWRuntimeException: Creation from configuration file failed Version: 1.1.1
at gov.nasa.worldwind.BasicFactory.createFromConfigSource(Unknown Source)
at gov.nasa.worldwind.layers.BasicLayerFactory.createFromConfigSource(Unknown Source)
Caused by: java.lang.IllegalArgumentException: WMS capabilities document is missing values necessary for component construction
at gov.nasa.worldwind.wms.WMSTiledImageLayer.wmsGetParamsFromCapsDoc(Unknown Source)
at gov.nasa.worldwind.wms.WMSTiledImageLayer.<init>(Unknown Source)
at gov.nasa.worldwind.layers.BasicLayerFactory.doCreateFromCapabilities(Unknown Source)
at gov.nasa.worldwind.layers.BasicLayerFactory.doCreateFromCapabilities(Unknown Source)
... 14 more
Caused by: gov.nasa.worldwind.exception.WWRuntimeException: No geographic bounding box given in WMS capabilities
at gov.nasa.worldwind.util.DataConfigurationUtils.getWMSLayerConfigParams(Unknown Source)
... 18 more
GetCapabilities
<WMT_MS_Capabilities version="1.1.1">
<Service>
<Name>OGC:WMS</Name>
<Title>map service</Title>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://localhost/mapcache?"/>
</Service>
<Capability>
<Request>
<GetCapabilities>
<Format>application/vnd.ogc.wms_xml</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://localhost/mapcache?"/>
</Get>
</HTTP>
</DCPType>
</GetCapabilities>
<GetMap>
<Format>image/png</Format>
<Format>image/jpeg</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://localhost/mapcache?"/>
</Get>
</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="http://localhost/mapcache?"/>
</Get>
</HTTP>
</DCPType>
</GetFeatureInfo>
</Request>
<Exceptions>
<Format>text/plain</Format>
</Exceptions>
<VendorSpecificCapabilities>
<TileSet>
<SRS>EPSG:4326</SRS>
<BoundingBox SRS="EPSG:4326" minx="-180.000000" miny="-90.000000" maxx="180.000000" maxy="90.000000"/>
<Resolutions>
0.70312500000000000000 0.35156250000000000000 0.17578125000000000000 0.08789062500000000000 0.04394531250000000000 0.02197265625000000000 0.01098632812500000000 0.00549316406250000000 0.00274658203125000000 0.00137329101562500000 0.00068664550781250000 0.00034332275390625000 0.00017166137695312500 0.00008583068847656250 0.00004291534423828120 0.00002145767211914060 0.00001072883605957030 0.00000536441802978516
</Resolutions>
<Width>256</Width>
<Height>256</Height>
<Format>image/png</Format>
<Layers>bluemarbleJanuary</Layers>
<Styles/>
</TileSet>
</VendorSpecificCapabilities>
<Layer>
<Name>rootlayer</Name>
<Title>map service</Title>
<SRS>EPSG:900913</SRS>
<SRS>EPSG:4326</SRS>
<SRS>EPSG:3857</SRS>
<Layer cascaded="1" queryable="0">
<Name>bluemarbleJanuary</Name>
<LatLonBoundingBox minx="-180.000000" miny="-90.000000" maxx="180.000000" maxy="90.000000"/>
<BoundingBox SRS="EPSG:4326" minx="-180.000000" miny="-90.000000" maxx="180.000000" maxy="90.000000"/>
<SRS>EPSG:4326</SRS>
</Layer>
</Layer>
</Capability>
</WMT_MS_Capabilities>
mapcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- see the accompanying mapcache.xml.sample for a fully commented configuration file -->
<mapcache>
<metadata>
<title>map service</title>
<abstract>Contains various cached maps</abstract>
</metadata>
<cache name="disk" type="disk">
<base>D:/mapserver/ms4w/tmp/ms_tmp/cache</base>
</cache>
<source name="bluemarbleJanuary" type="wms">
<getmap>
<params>
<FORMAT>image/png</FORMAT>
<LAYERS>bluemarbleJanuary</LAYERS>
<MAP>D:/mapserver/data/nasaww.map</MAP>
</params>
</getmap>
<http>
<url>http://localhost/wms?</url>
</http>
</source>
<format name="PNGQ_FAST" type="PNG">
<compression>fast</compression>
<colors>256</colors>
</format>
<tileset name="bluemarbleJanuary">
<source>bluemarbleJanuary</source>
<cache>disk</cache>
<grid>WGS84</grid>
<format>PNGQ_FAST</format>
<metatile>5 5</metatile>
<metabuffer>20</metabuffer>
<expires>3600</expires>
</tileset>
<default_format>PNGQ_FAST</default_format>
<service type="wms" enabled="true">
<full_wms>assemble</full_wms>
<resample_mode>bilinear</resample_mode>
<format>PNGQ_FAST</format>
<maxsize>4096</maxsize>
</service>
<service type="wmts" enabled="true"/>
<service type="tms" enabled="true"/>
<service type="kml" enabled="true"/>
<service type="gmaps" enabled="true"/>
<service type="ve" enabled="true"/>
<service type="demo" enabled="true"/>
<errors>report</errors>
<lock_dir>D:/mapserver/ms4w/tmp/ms_tmp</lock_dir>
<log_level>debug</log_level>
</mapcache>
Файл карты
MAP
NAME WMS_server
STATUS ON
EXTENT -180 -90 180 90
UNITS DD
CONFIG "MS_ERRORFILE" "ms_error.txt"
DEBUG 5
#
# Start of web interface definition
#
WEB
METADATA
"wms_title" "WMS Demo Server"
"wms_onlineresource" "http://localhost/wms?"
"wms_srs" "EPSG:4326"
"wms_feature_info_mime_type" "text/html"
"wms_abstract" "This demonstration server showcases MapServer (www.mapserver.org) and its OGC support"
"wms_enable_request" "*"
END # Metadata
END # Web
PROJECTION
"init=epsg:4326"
END # Projection
#
# Start of layer definitions
#
##################
# Blue Marble January 2004
##################
LAYER
NAME "bluemarbleJanuary"
#GROUP "default"
TYPE RASTER
STATUS ON
METADATA
"wms_title" "Blue Marble Raster (January 2004)"
"wms_attribution_title" "NASA Blue Marble (January 2004)"
"wms_srs" "EPSG:4326"
END # Metadata
TILEINDEX "raster/bluemarble/jan/bluemarble-index.shp"
TILEITEM "LOCATION"
PROJECTION
"+init=EPSG:4326"
END # Projection
END # Layer
END # Map