【问题标题】:Single WMS from single mapfile with several rasters in MapServer来自单个地图文件的单个 WMS,在 MapServer 中有多个栅格
【发布时间】:2017-08-12 03:14:30
【问题描述】:

我在一个地图文件中有多个栅格,我将它们作为图层放置,如下所示:

LAYER
    NAME            "Layer 1"
    GROUP           "All Layers"
    TYPE            RASTER
    STATUS          ON
    DATA            "layer1.png"

    PROJECTION
        "init=epsg:4326"
    END

    METADATA
        "wms_title"         "Layer 1"
        "wms_srs"           "EPSG:4326"
        "wms_group_title"   "All layers"
        "wms_abstract"          "No abstract"
        "wms_server_version"        "1.1.1"
        "wms_format"            "image/png"
        "wms_include_items"     "all"
        "gml_include_items"     "all"
        "gml_geom_type"         "raster"
    END
END

LAYER
    NAME            "Layer 2"
    GROUP           "All Layers"
    TYPE            RASTER
    STATUS          ON
    DATA            "layer2.png"

    PROJECTION
        "init=epsg:4326"
    END

    METADATA
        "wms_title"         "Layer 2"
        "wms_srs"           "EPSG:4326"
        "wms_group_title"   "All layers"
        "wms_abstract"          "No abstract"
        "wms_server_version"        "1.1.1"
        "wms_format"            "image/png"
        "wms_include_items"     "all"
        "gml_include_items"     "all"
        "gml_geom_type"         "raster"
    END
END

LAYER
    NAME            "Layer 3"
    GROUP           "All Layers"
    TYPE            RASTER
    STATUS          ON
    DATA            "layer3.png"

    PROJECTION
        "init=epsg:4326"
    END

    METADATA
        "wms_title"         "Layer 3"
        "wms_srs"           "EPSG:4326"
        "wms_group_title"   "All layers"
        "wms_abstract"          "No abstract"
        "wms_server_version"        "1.1.1"
        "wms_format"            "image/png"
        "wms_include_items"     "all"
        "gml_include_items"     "all"
        "gml_geom_type"         "raster"
    END
END

问题是我想要一个 WMS 图层(在 GroupTitle 中命名)作为此地图文件的输出(因为它只有一个地图文件),而不是我有四个 WMS 图层(三个来自每个图层,一个来自组层)。

我怎样才能实现我想要的?我在 OL 2.11 中使用 Mapserver 6.4.1。

欢迎任何想法,提前谢谢,

【问题讨论】:

    标签: layer raster mapserver map-files


    【解决方案1】:

    您可以只使用 GROUP 元素:

    LAYER
        NAME           "layer1"
        GROUP           "both_layers"
        STATUS         OFF
        TYPE           RASTER
        DATA           "layer1.tif"
    END
    
    LAYER
        NAME           "layer2"
        GROUP           "both_layers"
        STATUS         OFF
        TYPE           RASTER
        DATA           "layer2.tif"
    END
    

    然后您在 WMS 请求中引用“both_layers”。

    【讨论】:

      【解决方案2】:

      看来Union Layer 可以满足您的要求。我自己没试过。从上面链接的文档中:

      LAYER
        NAME "union-layer"
        TYPE POINT
        STATUS DEFAULT
        CONNECTIONTYPE UNION
        CONNECTION "layer1,layer2,layer3" # reference to the source layers
        PROCESSING "ITEMS=itemname1,itemname2,itemname3"
        ...
      END
      LAYER
        NAME "layer1"
        TYPE POINT
        STATUS OFF
        CONNECTIONTYPE OGR
        CONNECTION ...
        ...
      END
      

      【讨论】:

      • 感谢您的回复,但它不起作用,它很可能只适用于点而不适用于栅格
      • 啊,错过了这一点。您发布的地图文件只有 3 个静态图像。如何使用 GDAL 将它们合并为一个并提供服务?或者,如果那不是您真正的 Mapfile,请发布真实的?
      • 是的,我认为这就是 GDAL 的方式,再次感谢您的支持!
      【解决方案3】:

      我相信您正在寻找的是 6.4 中引入的 TILEINDEX 方法。

      引用参考:

      在处理非常大的栅格图层时,将栅格图像拆分为多个较小的图像通常很方便,而且性能更高。每个文件都是可用于显示的较大光栅马赛克的平铺。形成层的文件列表可以存储在 shapefile 中,其中多边形代表每个文件的足迹,以及文件的名称。

      Rasters and Tile Indexing

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-05
        • 2021-06-21
        • 2013-04-20
        • 2012-06-27
        • 2017-09-12
        • 1970-01-01
        • 2015-09-13
        • 2016-10-24
        相关资源
        最近更新 更多