# The annotated map file (sort of) # Created by Pericles S. Nacionales for the MapServer tutorial # 2005-04-08 # Maintained & enhanced since by Jeff McKenna, GatewayGeo # 2023-04-19 Last updated # # 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 IMAGETYPE PNG24 # EXTENT 199949.651166 -371954.772084 1472121.6862 632767.19157 EXTENT 201621.496941 -294488.285333 1425518.020722 498254.511514 # LAEA #EXTENT -97.5 41.619778 -82.122902 49.38562 # Geographic SIZE 400 300 SHAPEPATH "../data" SYMBOLSET "../symbols/symbols.txt" FONTSET "../fonts/fonts.txt" # 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 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 # End of the output Projection definition --- # 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. # # 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" # Just like CLASSITEM, LABELITEM defines the database attribute that you # will be using to draw labels. In this case, the values of the attribute # "STATE" will be used to label the states polygons. LABELITEM "STATE" # The class object is defined within the layer object. You can define as # many classes as you need (well, there are limits as with layers, but it's # senseless to define more than ten on a "normal" layer. There are # situations, however, where you might have to do it.) CLASS NAME 'States' EXPRESSION 'land' # There are styles in a class, just like there are classes in a layer, # just like there are layers in a map. You can define multiple styles in # a class just as you can define multiple classes in a layer and multiple # layers in a map. STYLE COLOR 232 232 232 END # There can be labels in a class, just like there are classes in a layer, # just like there are layers in a map. You can define multiple labels in # a class just as you can define multiple classes in a layer and multiple # layers in a map. # MapServer has a very flexible labeling system. With that flexibility # comes complexity, specially when using truetype fonts. Please read # through the LABEL section of the MapServer map file documentation at # http://www.mapserver.org/mapfile for more information. LABEL COLOR 132 31 31 SHADOWCOLOR 218 218 218 SHADOWSIZE 2 2 TYPE TRUETYPE FONT arial-bold SIZE 12 ANTIALIAS TRUE POSITION CL PARTIALS FALSE MINDISTANCE 300 BUFFER 4 END # end of label 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 # States line layer begins here NAME states DATA states_ugl STATUS OFF TYPE LINE PROJECTION "init=epsg:4326" END CLASSITEM "CLASS" CLASS NAME 'State Boundary' EXPRESSION 'land' STYLE SYMBOL 'line5' COLOR 64 64 64 SIZE 1 END END END # States line layer ends here # End of LAYER DEFINITIONS ------------------------------- END # All map files must come to an end just as all other things must come to...