| Home | Products | Issue Tracker | Service Providers | FAQ | Twitter | Download

# Example1-8.map

    # The annotated map file (sort of)
    # Created by Pericles S. Nacionales for the MapServer tutorial
    # 20050408
    #
    # MapServer map file uses the pound sign (#) to denote the start of a line
    # comment--each line that needs to be commented has to be prepended with a "#".
    #
    # Map files begin with MAP keyword to signify the start of the map object.
    # Well, the entire map file is THE map object.  Enclosed between MAP and END
    # at the very bottom of this map file, are keyword/value pairs and other
    # objects.
    MAP
      NAME           EX1.8_
      EXTENT         201621.496941 -294488.285333 1425518.020722 498254.511514 # LAEA
      #EXTENT         -97.5 41.619778 -82.122902 49.38562 # Geographic
      SIZE           400 300
      IMAGECOLOR     255 255 255
      SHAPEPATH      "../data"
      SYMBOLSET      "../symbols/symbols35.sym"
      FONTSET        "../fonts/fonts.list"

      IMAGETYPE PNG

      OUTPUTFORMAT
        NAME pnggd
        DRIVER "GD/PNG"
        MIMETYPE "image/png"
        IMAGEMODE PC256
        EXTENSION "png"
      END
      OUTPUTFORMAT
        NAME pnggd24
        DRIVER "GD/PNG"
        MIMETYPE "image/png"
        IMAGEMODE RGBA
        EXTENSION "png"
      END
      OUTPUTFORMAT
        NAME jpeggd
        DRIVER "GD/JPEG"
        FORMATOPTION "QUALITY=75"
        MIMETYPE "image/jpeg"
        IMAGEMODE RGB
        EXTENSION "jpg"
      END
      OUTPUTFORMAT
        NAME GTiff
        DRIVER "GDAL/GTiff"
        MIMETYPE "image/tiff"
        IMAGEMODE RGB
        EXTENSION "tif"
      END
      #OUTPUTFORMAT
      #  NAME pdf
      #  MIMETYPE "application/x-pdf"
      #  DRIVER cairo/pdf
      #  #FORMATOPTION "OUTPUT_TYPE=RASTER" # not mandatory but needed for WMS layer
      #END
      OUTPUTFORMAT
        NAME AGG
        DRIVER "AGG/PNG"
        IMAGEMODE RGB
      END
      OUTPUTFORMAT
        NAME AGGA
        DRIVER "AGG/PNG"
        IMAGEMODE RGBA
      END
      OUTPUTFORMAT
        NAME AGGJ
        DRIVER "AGG/JPEG"
        IMAGEMODE RGB
      END

      # The web object is defined at the level below the map object.  All
      # web-related parameters (I interchange "parameters" and "keyword/value
      # pairs" quite frequently, sorry about that) are defined in this object.
      WEB
        IMAGEPATH '/ms4w/tmp/ms_tmp/'
        IMAGEURL  '/ms_tmp/'
      END

      # The projection object is typically used within the map and the layer
      # objects. You only define it once within the map object and this definition
      # becomes your output projection--MapServer will render your maps in this
      # projection.  You also use the projection object within the layer object to
      # define your input projection.  Your layers can be in different
      # projections--MapServer will reproject them into your output projection.
      # If no projection is defined within the layer object, MapServer assumes
      # your input projection is the same as your output projection.  This is not
      # a required object unless you're creating a map file that supports one of
      # the OGC interoperability web services specifications (WMS/WFS/WCS).
      #
      # This is the output PROJECTION definition ------
      PROJECTION
        # Projection parameters can be defined in two ways...
        # This is the traditional PROJ.4 definition of Lambert Azimuthal Equal-Area
        # projection for the Continental U.S.
        #  "proj=laea"
        #  "ellps=clrk66"
        #  "lat_0=45"
        #  "lon_0=-100"
        #
        # Alternatively, you can specify an EPSG code.
        # This is the EPSG code for Lambert Azimuthal Equal-Area
        # projection for the U.S.
        "init=epsg:2163"
      END

      # Layer objects are defined beneath the map object.  You need at least one
      # layer defined in your map file before you can display a map...  You can
      # define as many layers as you'd like although a limit is typically hard-coded
      # in map.h in the MapServer source.  The default limit is set at 100.  You'd
      # have to have a very specialized application to need more than 100 layers in
      # your application.
      #
      # Start of LAYER DEFINITIONS ---------------------------------------------
      LAYER # States polygon layer begins here
        NAME         states
        DATA         states_ugl
        STATUS       OFF
        TYPE         POLYGON

        # Here's an example of the input projection definition.
        # EPSG:4326 is code for geographic (latlong) projection
        # using the WGS84 datum.
        #
        # PROJECTION objects within the LAYER object define the input
        # projection--this is the native projection of your data.
        PROJECTION
          "init=epsg:4326"
        END

        # CLASSITEM defines the non-spatial attribute that you will be using to
        # separate a layer into classes.  This attribute will be in the DBF file
        # of your shapefile (it will be different for each data format).  In this
        # example the shapefile states_ugl has an associated database
        # (states_ugl.dbf) that contains an attribute called "CLASS".  You will be
        # using two values in the CLASS attribute to separate the classes (also
        # called themes) used in this layer--land and water.  CLASSITEM is used in
        # association with the EXPRESSION parameter in the CLASS object.  See below.
        CLASSITEM    "CLASS"

        # The class object is defined within the layer object.  You can define as
        # many classes as you need but it is good cartographic practice to limit
        # classes to 8 to 10 per layer. (There are also limits as with layers and
        # it's senseless to define more than ten on a "normal" layer.  There are
        # situations, however, where you might have to do it.)
        CLASS
          EXPRESSION 'land'
          STYLE
            SYMBOL     0
            COLOR      232 232 232
          END
        END
      END # States polygon layer ends here

      # In addition to vector data (shapefiles are vector data), MapServer supports
      # a host of raster formats.  In GIS world, one of the most common raster
      # formats is GeoTIFF, a TIFF image with geospatial headers.  MapServer also
      # supports JPEG, PNG, GIF, and other common formats.  Other raster formats
      # supported by MapServer include ESRI Arc/Info grid, HDF and HDF-EOS, NetCDF,
      # Generic raster binaries, OGC Web Map Service (WMS) layers, etc.  Pretty much
      # any raster format you can think of is probably supported, thanks to the
      # impressive Geospatial Data Abstraction Library (GDAL, pronounced "GOODALL"
      # or GOODLE?).  More information on GDAL is available at http://www.gdal.org.
      #
      # MapServer 4.x can read and display bitmapped (like GIFs), RGB/A (true
      # color), and multispectral (images with more than 3 bands, like raw LandSat
      # images) rasters.
      LAYER # MODIS raster layer begins here
        NAME         modis
        DATA         "raster/mod09a12003161_ugl_ll_8bit.tif"
        STATUS       OFF
        TYPE         RASTER
        PROCESSING   "BANDS=1,2,3"
        OFFSITE      71 74 65

        PROJECTION
          "init=epsg:4326"
        END
      END # MODIS raster layer ends here

      LAYER # MODIS WMS map from JPL
        NAME         modis_jpl
        TYPE         RASTER
        OFFSITE      0 0 0
        STATUS       OFF
        CONNECTIONTYPE WMS
        CONNECTION "http://wms.jpl.nasa.gov/wms.cgi?"

        METADATA
          "wms_srs" "EPSG:4326"
          "wms_name" "modis"
          "wms_server_version" "1.1.1"
          "wms_format" "image/jpeg"
        END

        PROJECTION
          "init=epsg:4326"
        END
      END # Modis WMS image ends here

      LAYER # States line layer begins here
        NAME         states
        DATA         states_ugl
        STATUS       OFF
        TYPE         LINE

        PROJECTION
          "init=epsg:4326"
        END

        CLASSITEM    "CLASS"
        CLASS
          EXPRESSION 'land'
          STYLE
            #SYMBOL     'line1'
            COLOR      32 32 32
            #SIZE       1
          END
        END
      END # States line layer ends here

      LAYER # States label layer begins here
        NAME         states
        DATA         states_ugl
        STATUS       OFF
        TYPE         ANNOTATION

        PROJECTION
          "init=epsg:4326"
        END

        CLASSITEM    "CLASS"
        LABELITEM    "STATE"
        CLASS
          EXPRESSION 'land'
          STYLE
            COLOR      -1 -1 -1
          END
          LABEL
            COLOR    255 255 255
            TYPE     TRUETYPE
            FONT     arial-bold
            SIZE     12
            ANTIALIAS    TRUE
            POSITION     CL
            PARTIALS     FALSE
            MINDISTANCE  300
            BUFFER       4
          END # end of label
                END # end of class
      END # States label layer ends here
      # End of LAYER DEFINITIONS -------------------------------

    END # end of map file