YLUPC
Filesystem_architecture – Yukon Planning Atlas

Yukon Atlas - Filesystem Architecture

The following page will be used to document the filestructure to be used on the server (mapfile includes, map templates, theme maps etc.)

Structure

    /map

        /templates

              (contains shared objects such as MAP, WEB, SCALEBAR, REFERENCE)
 
              template.ref 

        /layers

              (contains all of the mapfile include files for layers, separated by GROUP type)

              /base

                YUBOUNDARY_LN_2M.lay
                YUDRAINAGE_LN_2M.lay
                YUDRAINAGE_POLY_2M.lay
                ...     

              /boundary

                CAN_AB_POLY_GEO83_E.lay
                CAN_AB_LN_GEO83_E.lay
                BORDER_LN_1M.lay
                ...     

              /first_nations

                FN_TRADITIONAL_TERR_POLY_1M.lay
                FN_TRADITIONAL_TERR_POLY_250K.lay
                FN_SETTLEMENT_LAND_POLY_1M.lay
                ...     

              /communities

                BUILT_POLY_250K.lay
                BUILT_PT_250K.lay
                ...     

              /ecosystem

                ...

              /landscape

                ...   

              /habitat

                ...

        /themes

              (contains predefined mapfiles, made up of the above mapfile include files)

              map1.map
              map2.map
              map3.map
              base.map (can contain maps of grouped layers such as this)
              ...

Sample Include File

In the above example structure, the following could be be contents of /map/layers/boundary/CAN_AB_POLY_GEO83_E.lay:

  LAYER
    NAME "CAN_AB_POLY_GEO83_E"
    METADATA
      "DESCRIPTION" "blah blah"
    END
    TYPE POLYGON
    STATUS ON
    DATA ../data/CAN_AB_POLY_GEO83_E
    CLASS
      NAME "blah"
      STYLE
        COLOR 240 240 240
        OUTLINECOLOR 199 199 199    
      END
    END
  END # layer

Sample Template Include file

In the above example structure, the following could be be contents of /map/templates/template.ref:

  #
  # Start of web interface definition
  #
  WEB
     ...
  END

  #
  # Start of reference map
  #
  REFERENCE
     ... 
  END

  #
  # Start of legend
  #
  LEGEND
     ...
  END

  #
  # Start of scalebar
  #
  SCALEBAR
     ....
  END

Sample Theme map

In the above example structure, the following could be be contents of /map/themes/map1.map:

  NAME "foundation_theme"
  STATUS ON

  # load common mapfile objects
  INCLUDE "../templates/template.ref"

  #
  # Start of layer definitions
  #

  INCLUDE "../layers/boundary/CAN_AB_POLY_GEO83_E.lay"

  INCLUDE "../layers/first_nations/FN_TRADITIONAL_TERR_POLY_1M.lay"

  INCLUDE "../layers/base/ROADL_LN_250K.lay"

  INCLUDE "../layers/base/PLACE_PT_1M.lay"

  ...

  END # Map File

Notes/Limitations?

  • mapfiles are stored in the regular filesystem, not in the database
  • mapfile includes WOULD be be referenced by name in the database
  • theme mapfile would be used in the BASIC interface (the ADVANCED interface allows users to dynamically create themes using mapfile includes)

Discussion