:orphan:

.. _example1-8-map:

Example1-8.map
--------------

.. code-block:: mapfile

  # 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
