【问题标题】:GetMap request return white imageGetMap 请求返回白色图像
【发布时间】:2017-05-15 21:25:14
【问题描述】:

我只是在尝试使用 Mapserver 通过 GetMap 请求显示我的地图时遇到问题,但它返回一个白色图像。我进行了搜索,但没有找到答案: 我的地图文件:

MAP
  IMAGETYPE      PNG
  EXTENT        -21 20 1 36  
  SIZE           700 400
  IMAGECOLOR     255 255 255
      PROJECTION
        "init=epsg:4326"
    END
    OUTPUTFORMAT
    NAME png
    MIMETYPE image/png
    DRIVER GD/PNG
    EXTENSION png
    IMAGEMODE PC256
    TRANSPARENT FALSE
  END
  WEB
  METADATA
    "wms_title" "Dans Layers and Stuff"
    "wms_onlineresource" "http://localhost:81/cgi-bin/mapserv.exe?"
    "wms_enable_request" "*"
    "wms_srs" "EPSG:4326"
    "wms_feature_info_mime_type" "text/html"
    "wms_format" "image/png"
  END
END
LAYER

NAME map1
TYPE polygon
STATUS default
CONNECTIONTYPE postgis
CONNECTION "dbname=postgres host=localhost port=5432 user=postgres"
DATA "geom from comgeo"
    PROJECTION
        "init=epsg:4326"
    END
  METADATA
    "wms_title" "map1"
  END
PROCESSING "SCALE=AUTO"
CLASS
   STYLE
    COLOR 232 232 232
    OUTLINECOLOR 32 32 32
END
END
END
END

这是我用于请求的链接:

http://localhost:81/cgi-bin/mapserv.exe?map=/wamp64/www/wordpress/map1.map&version=1.3.0&request=GetMap&CRS=EPSG:4326&bbox=-21,20,1,36&width=760&height=360&layers=map1&styles=&FORMAT=image/png&TRANSPARENT=TRUE

BBox 值是正确的。谢谢

【问题讨论】:

    标签: wms mapserver


    【解决方案1】:

    您的网址上似乎缺少 SERVICE=WMS 参数。

    【讨论】:

    • 我试过这个,但我得到了相同的结果:localhost:81/cgi-bin/mapserv.exe?map=/wamp64/www/wordpress/…
    • 在数据库中这个查询报告了什么"select st_extents(geom) from comgeo
    • 从 comgeo 中选择 st_extent(geom) 返回:Box(-17.... 20..... -1..... 35.....)
    • 尝试添加到 MAP CONFIG MS_ERRORFILE "/error.txt" 和 LAYER DEBUG 5 然后重新加载地图并查看 int /error.txt 它将显示 SQL,然后您可以将 SQL 输入pgadmin3 看看你是否得到任何结果。您还可以在 LAYER 中将 STATUS DEFAULT 更改为 STATUS ON。
    【解决方案2】:

    当我用 CRS:84 和 URL 替换 epsg:4326 时,我确实解决了问题:

    http://localhost:81/cgi-bin/mapserv.exe?map=/wamp64/www/wordpress/map1.map&request=GetMap&SERVICE=WMS&version=1.3.0&CRS=CRS:84&bbox=-21,20,1,36&width=700&height=400&layers=map1&styles=&FORMAT=image/png&TRANSPARENT=TRUE
    

    【讨论】:

    • 或者你可以在BBOX中切换坐标顺序
    【解决方案3】:

    WMS 1.1.1 和 WMS 1.3.0 版本对坐标系的请求参数不同:1.1.1 为 SRS=EPSG:4326,1.3.0 为 CRS=CRS:84

    mapserver wms

    【讨论】:

    • CRS=EPSG:4326 适用于 WMS 1.3.0,并按 EPSG 为代码 4326 指定的纬度/经度顺序提供坐标。 SRS=EPSG:4326 以经度/纬度顺序提供坐标(这是不正确的〜以及它在 WMS 1.3.0 规范中被修复的原因)。 CRS:84 存在于那些想要以长/纬度顺序指定 WGS:84 坐标的人。
    猜你喜欢
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多