我有一个 MapCache <-> MapServer 设置和运行。MapCache 配置为用于 WMS 访问,用于缓存我的 MapServer 提供的特定图层的切片。我可以访问 WMS 功能并通过我的浏览器通过 MapCache 访问 WMS 来显示图块,并已验证它正在被缓存。
太好了,正是我想要的。
接下来,我设置了 WorldWind 客户端来访问 MapCache WMS。WorldWind 抱怨根层(MapCache 用来包装所有层的东西)不提供地理边界框。WorldWind 将此记录为严重并开始引发异常。我试图找出问题所在。WMS OGC 标准是否要求顶层具有边界框,或者 WorldWind 客户端是否不兼容 WMS?以下是我看到的错误消息。下面是 getCapabilities 响应。下面是 MapCache xml 文件。下面是 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
获取能力
<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>
地图缓存.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