繁体   English   中英

在ol3中通过Map Sever渲染错误地提供WMS图层

[英]WMS Layer provide by Map Sever rendering incorrectly in ol3

我使用OpenLayers3创建了一个包含两层的地图。 第一层是开放街道地图层,第二层是地图服务器提供的WMS层。

问题 -当我渲染第一层时,它正确渲染没有问题。 但是当我渲染第二层(由地图服务器提供)时,渲染错误意味着它不适合其容器,并且就位置而言与第一层不同步。 有关详细说明,请参阅地图快照 在快照顶层是由地图服务器提供的wms层。

在此输入图像描述

此外,当我缩放或移动地图时,两个图层都能正常工作,但是在几秒钟的延迟之后,第二层(来自地图服务器的wms图层)再次切换回其初始位置(位于上面附加的快照中的位置)。

这是我用来使用wms服务的代码。

var layer = new ol.layer.Image({
    source: new ol.source.ImageWMS({
          url: 'http://localhost:19090/rasters/world/wms',
          params: {
               'LAYERS': 'world',
               'mode': 'map',
          },
          serverType: 'mapserver'
     })
});

是我的地图文件。

MAP
  NAME   "world"
  CONFIG "MS_ERRORFILE" "/home/neelesh/Projects/georbis/data/logs/mapservice_errors.log"
  CONFIG "PROJ_LIB" "/home/neelesh/Projects/georbis/deps/proj.4-master/share/proj"
  CONFIG "ON_MISSING_DATA" "LOG"
  DEBUG 5
  EXTENT -180.000 -90.000 180.000 90.000
  SHAPEPATH "/home/neelesh/Projects/georbis/data/service_data/data/wms"
  IMAGECOLOR 255 255 255
  SIZE 1350 675

  WEB
    METADATA
      "wms_title" "Georbis WMS Server"
      "wms_author" "VizExperts"
      "wms_onlineresource" "http://192.168.1.36:19090/rasters/world/wms?"
      "wms_enable_request" "*"
      "wms_srs" "EPSG:4326 EPSG:3857"
      "wms_feature_info_mime_type" "text/html"
      "wms_format" "image/jpg"
    END
  END

  PROJECTION
    "init=epsg:4326"
  END

  LAYER
    NAME world
    TYPE RASTER
    DATA "world.tif"
    METADATA
      "wms_title" "BlueWorld Map"
      "wms_srs" "epsg:4326"
      "wms_server_version" "1.1.1"
    END
    PROJECTION
      "init=epsg:4326"
    END
  END
END

我尝试使用ol.view.fit方法将图层调整到其容器,但图层的layer.getExtent()值未定义。

请求帮助我找出问题所在。 wms请求格式或地图文件有什么问题吗?

这是因为您将MapServer配置为仅支持EPSG 4326.它应该支持EPSG 3857(OSM磁贴)。 您应该将"wms_srs" "epsg:4326"更改为"wms_srs" "EPSG:4326 EPSG:3857" (请参阅官方WMS服务器文档 )。 您可以确认它可以执行GetCapabilities请求

当您使用GeoServer时,默认情况下,它支持WMS的所有投影(因此它可以工作,因为您的WMS图像是通过EPSG 3857请求的)

您应该知道,现在您也可以在OpenLayers中对客户端进行光栅重投影。 对于某些演示,请访问http://openlayers.org/en/v3.11.0/examples/并使用关键字“reprojection”进行搜索

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM