# $Id: tgrlpy.dbfawk,v 1.7 2006/01/17 21:03:53 we7u Exp $
#
# Copyright (C) 2003-2006  The Xastir Group
#
# This dbfawk file is used to map arbitrary dbf data that accompanies
# a shapefile into Xastir canoncical values of:
#   key     - search key
#   lanes   - width of feature (usually a road but applies to rivers, etc. too)
#   color   - color to draw the road
#   name    - name of the road for labels
#   filled  - whether a polygon is drawn filled or not
#   fill_color - color to fill polygon with
#   pattern - line pattern for road, river, etc.
#   display_level - highest zoom level at which to display the feature
#   label_level - highest zoom level at which to display the label
#   symbol  - 3 char 'TIO': table, ID, overlay
# NOTE: This file format is modeled after awk but is nowhere near awk
#  compatible.
#
# This file is used to map US Census Tiger/Line "lpy" landmark polygon shapefiles which are
# named tgrSSCCClklpy.dbf, where SSCCC are the FIPS state and county codes.

# BEGIN is called once per dbf file which contains multiple records.
BEGIN {
# dbfinfo is the "signature" of the dbf file listing the column names in order.
# dbfinfo should match the dbf file that we say this dbfawk file goes with.
dbfinfo="ID:POLYID:CENID:COUNTY:CFCC:LANDNAME:LANDPOLY";
# dbffields is which of the above fields we actually want to look at.
# No point reading dbffields that are not looked at further.
dbffields="CFCC:LANDNAME"}

# BEGIN_RECORD is called once per dbf record which contains multiple fields.
# Use this rule to re-initialize variables between records.
# use color 11 to highlight stuff that isn't properly mapped.
BEGIN_RECORD {key=""; lanes=1; fill_color=11; color=8; name=""; filled=0; pattern=0; display_level=8192; label_level=32; label_color=8; font_size=2; symbol=""}

# per-field rules are applied to the dbffields that are read from each record.
# key: set the search key to be the Tiger/Line ID.  Not currently used.
/^NAME=(.*)$/ {name="$1"; next}
/^CFCC=H/ {lanes=0; color=26; fill_color=26}
/^CFCC=H02/ {pattern=2; next}
/^CFCC=H[1-6]2/ {lanes=1; pattern=2; next}
/^CFCC=H[1-6][013-9]/ {lanes=1; next}
/^CFCC=H7/ {display_level=0; label_level=0; next}
/^CFCC=H8/ {lanes=1}
/^CFCC=H81/ {color=15; fill_color=15; next}

