首页 文章

OpenLayers3访问英国天气服务器

提问于
浏览
0

我正在尝试使用OpenLayers3,以获取来自英国的天气数据 .

他们的Datapoint服务有一个平铺WMTS服务器 . 我正在尝试访问雷达/降水瓦片 . 收到'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 doc有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 doc中,有一个

操作名称=“GetTile”

但是没有GetMap . 这可以解释501错误 .

但是,如果我试图强制'gettile',它会给出400错误 - 错误的请求 .

1 回答

  • 0

    您在TileWMS和ol.source.WMTS之间感到困惑 . 前者用于访问WMS服务器,后者用于WMTS服务器 .

相关问题