4 votos

¿Cómo puedo aplicar un estilo de trama para múltiples capas utilizando MapServer?

Estoy usando Mapserver para mostrar un mapa en el navegador mediante un WMS solicitud de OpenLayers. Por el momento sólo tengo una trama, y se utiliza el siguiente método de estilo:

MAP      
    ###########
    NAME         "ny_pop"                                                                             
    UNITS         meters    
    SIZE          256 256
    STATUS        OFF
    DEBUG         ON
    IMAGECOLOR    128 128 255
    CONFIG        "MS_ERRORFILE" "ms.log"

    ###########    
    PROJECTION
        "init=epsg:900913"
    END

    ###########
    OUTPUTFORMAT
      NAME "png"
      DRIVER AGG/PNG
      MIMETYPE "image/png"
      IMAGEMODE RGB
      EXTENSION "png"
      FORMATOPTION "GAMMA=0.75"
    END

    ###########    
    WEB             
        METADATA
            "wms_title"           "WMS population layer"
            "wms_onlineresource"  "http://mysite.com/mapserv.cgi?map=population.map&"            
            "wms_enable_request"  "GetMap GetFeatureInfo GetCapabilities"
        END
    END

    ###########    
    LAYER
        NAME      "new_york_pop"
        DATA      /home/mysite/webapps/htdocs/data/ny_pop_den.tif
        STATUS    OFF
        TYPE      RASTER   
        METADATA
            "wms_title"  "WMS NY Raster"
            "wms_srs"    "EPSG:900913"
        END

        CLASSITEM "[pixel]"

        # class using simple string comparison, equivelent to ([pixel] = 0)
        CLASS
            EXPRESSION "0"
            STYLE
              COLOR 0 0 0
            END
        END

          # class using an EXPRESSION using only [pixel].
        CLASS
            EXPRESSION ([pixel] > 0 AND [pixel] < 5000)
            STYLE
              COLOR 215 25 28
            END
        END

        CLASS
            EXPRESSION ([pixel] >= 5000 AND [pixel] < 10000)
            STYLE
              COLOR 253 174 97
            END 
    END

END

Quiero incluir varios rásteres de capas en este mapfile. Es allí una manera de que yo pueda aplicar el estilo a varias capas mediante la creación de un estilo de objeto y su aplicación a cada capa? No estoy seguro de si este es el correcto de la terminología como no podía detectar cómo hacer esto en el mapserver sitio.

Pensé acerca de la generación de este uso de php, o copiar/pegar esta estructura de capas. Si voy el copiar/pegar la ruta de la mapfile sería muy largo y difícil de leer.

2voto

Max Puntos 3140

Todavía no.. he Aquí lo que nos queda...por ejemplo: el copiar y pegar método. Ejemplo:

LAYER                                                   #-> BEGIN LAYER DEFINITION: Land Cover <-#
    NAME    landcover                                   # Layer identifier
    DATA    "data/wgs84/landcover_360.tif"              # Name of the data (in this case, string identifying a raster)
    STATUS  DEFAULT                                     # Default (always on) <-OR-> ON/OFF (passed into query string)
    TYPE    RASTER                                      # Data type (point, line, polygon or raster)
    OPACITY 100                                         # Layer transparency (0-100 <-OR-> ALPHA)
    OFFSITE 0 0 0                                       # Image background colour

    CLASS                                               #-> BEGIN CLASS
        NAME    "Land Cover: Urban"                     # Name of class (used in legend)
        EXPRESSION ([pixel] = 2)                        # Attribute query

        STYLE                                           #-> BEGIN STYLE
            OPACITY 100                                 # Transparency
            COLOR 0 0 0                                 # Fill colour
        END                                             #-> END STYLE
    END                                                 #-> END CLASS

    CLASS                                               #-> BEGIN CLASS
        NAME    "Land Cover: Agriculture"               # Name of class (used in legend)
        EXPRESSION ([pixel] = 1)                        # Attribute query

        STYLE                                           #-> BEGIN STYLE
            OPACITY 80                                  # Transparency
            COLOR 0 0 0                                 # Fill colour
        END                                             #-> END STYLE
    END                                                 #-> END CLASS
END                                                     #-> END LAYER DEFINITION: Land Cover <-#

LAYER                                                   #-> BEGIN LAYER DEFINITION: Roads <-#
    NAME    roads                                       # Layer identifier
    DATA    "data/wgs84/roads_360.tif"                  # Name of the data (in this case, string identifying a raster)
    STATUS  DEFAULT                                     # Default (always on) <-OR-> ON/OFF (passed into query string)
    TYPE    RASTER                                      # Data type (point, line, polygon or raster)
    OPACITY 100                                         # Layer transparency (0-100 <-OR-> ALPHA)
    OFFSITE 0 0 0                                       # Image background colour

    CLASS                                               #-> BEGIN CLASS
        NAME    "Roads: Within 2km"                     # Name of class (used in legend)
        EXPRESSION ([pixel] = 2)                        # Attribute query

        STYLE                                           #-> BEGIN STYLE
            OPACITY 100                                 # Transparency
            COLOR 0 0 0                                 # Fill colour
        END                                             #-> END STYLE
    END                                                 #-> END CLASS

    CLASS                                               #-> BEGIN CLASS
        NAME    "Roads: Between 2 and 15km"             # Name of class (used in legend)
        EXPRESSION ([pixel] = 1)                        # Attribute query

        STYLE                                           #-> BEGIN STYLE
            OPACITY 50                                  # Transparency
            COLOR 0 0 0                                 # Fill colour
        END                                             #-> END STYLE
    END                                                 #-> END CLASS
END                                                     #-> END LAYER DEFINITION: Roads <-#

El estilo tiene parámetros para la simbolización y el estilo. Varios los estilos pueden ser aplicados dentro de una CLASE o de la ETIQUETA.

Este objeto apareció en la versión 4.0 y la intención es separar la lógica de a partir de miradas. Al final la intención es tener estilos nombrados (aún No se admite) que se re-utilizable a través de la mapfile. Esta es la forma en que de la definición de la apariencia de un objeto (una CLASE o en una ETIQUETA).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X