OpenLayers3 访问英国天气服务器
OpenLayers3 access to UK weather server
我正在尝试开始使用 OpenLayers3,以获取来自英国的天气数据。
他们的 Datapoint 服务有一个平铺 WMTS 服务器。我正在尝试访问 radar/precipitation 磁贴。收到“501 - 未实施”错误。
<div id="map" class="map"></div>
<script>
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts',
params: {
'LAYERS': 'RADAR_UK_Composite_Highres',
'VERSION': '1.0.0',
'key': '[your-api-access-key-goes-here]'
}
})
})
],
view: new ol.View({
projection: 'EPSG:4326',
center: [0, 0],
zoom: 0
})
});
</script>
他们的 Capabilities 文档具有 ServiceTypeVersion OGC WMTS = 1.0.0,因此我覆盖了 OL 默认值 1.3.0。层名好像也不错。
OpenLayers 设置生成 3 次对服务器的调用,形式为
http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts?SERVICE=WMS&VERSION=1.0.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=RADAR_UK_Composite_Highres&key=my_key_goes_here&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&STYLES=&BBOX=-180%2C-270%2C180%2C90
在此处以纯文本形式重复(请注意,我的 API 密钥已从 URL 中删除):
http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts?SERVICE=WMS&VERSION=1.0.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=RADAR_UK_Composite_Highres&key=my_key_goes_here&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&STYLES=&BBOX=-180%2C-270%2C180%2C90
在 Capabilities 文档中,有一个
操作名称="GetTile"
但是没有GetMap。这可以解释 501 错误。
但如果我尝试强制 'gettile',它会给出 400 错误 - 错误请求。
您对 TileWMS 和 ol.source.WMTS 感到困惑。前者用于访问 WMS 服务器,后者用于访问 WMTS 服务器。
我正在尝试开始使用 OpenLayers3,以获取来自英国的天气数据。
他们的 Datapoint 服务有一个平铺 WMTS 服务器。我正在尝试访问 radar/precipitation 磁贴。收到“501 - 未实施”错误。
<div id="map" class="map"></div>
<script>
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts',
params: {
'LAYERS': 'RADAR_UK_Composite_Highres',
'VERSION': '1.0.0',
'key': '[your-api-access-key-goes-here]'
}
})
})
],
view: new ol.View({
projection: 'EPSG:4326',
center: [0, 0],
zoom: 0
})
});
</script>
他们的 Capabilities 文档具有 ServiceTypeVersion OGC WMTS = 1.0.0,因此我覆盖了 OL 默认值 1.3.0。层名好像也不错。
OpenLayers 设置生成 3 次对服务器的调用,形式为
http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts?SERVICE=WMS&VERSION=1.0.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=RADAR_UK_Composite_Highres&key=my_key_goes_here&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&STYLES=&BBOX=-180%2C-270%2C180%2C90
在此处以纯文本形式重复(请注意,我的 API 密钥已从 URL 中删除): http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts?SERVICE=WMS&VERSION=1.0.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=RADAR_UK_Composite_Highres&key=my_key_goes_here&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&STYLES=&BBOX=-180%2C-270%2C180%2C90
在 Capabilities 文档中,有一个
操作名称="GetTile"
但是没有GetMap。这可以解释 501 错误。
但如果我尝试强制 'gettile',它会给出 400 错误 - 错误请求。
您对 TileWMS 和 ol.source.WMTS 感到困惑。前者用于访问 WMS 服务器,后者用于访问 WMTS 服务器。