簡體   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