The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Geo::TigerLine::Record::1 - TIGER/Line 1998 Complete Chain Basic Data Record

SYNOPSIS

  use Geo::TigerLine::Record::1;

  @records = Geo::TigerLine::Record::1->parse_file($fh);
  @records = Geo::TigerLine::Record::1->parse_file($fh, \&callback);

  $record = Geo::TigerLine::Record::1->new(\%fields);

  $record->rt();
  $record->version();
  $record->tlid();
  $record->side1();
  $record->source();
  $record->fedirp();
  $record->fename();
  $record->fetype();
  $record->fedirs();
  $record->cfcc();
  $record->fraddl();
  $record->toaddl();
  $record->fraddr();
  $record->toaddr();
  $record->friaddl();
  $record->toiaddl();
  $record->friaddr();
  $record->toiaddr();
  $record->zipl();
  $record->zipr();
  $record->fairl();
  $record->fairr();
  $record->trustl();
  $record->trustr();
  $record->census1();
  $record->census2();
  $record->statel();
  $record->stater();
  $record->countyl();
  $record->countyr();
  $record->fmcdl();
  $record->fmcdr();
  $record->fsmcdl();
  $record->fsmcdr();
  $record->fpll();
  $record->fplr();
  $record->ctl();
  $record->ctr();
  $record->blkl();
  $record->blkr();
  $record->frlong();
  $record->frlat();
  $record->tolong();
  $record->tolat();

DESCRIPTION

This is a class representing record type 1 of the TIGER/Line 1998 census geographic database. Each object is one record. It also contains methods to parse TIGER/Line record type 1 files and turn them into objects.

This is intended as an intermediate format between pulling the raw data out of the simplistic TIGER/Line data files into something more sophisticated (a process you should only have to do once). As such, its not very fast, but its careful, easy to use and performs some verifications on the data being read.

As this class is autogenerated by mk_parsers, think before you modify this file. Its OO, so consider sub-classing instead.

Accessors

These are simple get/set accessors for each field of a record generated from the TIGER/Line 1998 data dictionary. They perform some data validation.

rt
    $data = $record->rt();
    $record->rt($data);

Record Type.

Expects alphanumeric data of no more than 1 characters. $data cannot be blank and should be left justified.

version
    $data = $record->version();
    $record->version($data);

Version Number.

Expects numeric data of no more than 4 characters. $data cannot be blank and should be left justified.

tlid
    $data = $record->tlid();
    $record->tlid($data);

TIGER/Line ID, Permanent Record Number.

Expects numeric data of no more than 10 characters. $data cannot be blank and should be right justified.

side1
    $data = $record->side1();
    $record->side1($data);

Single-Side Complete Chain Code.

Expects numeric data of no more than 1 characters. $data can be blank and should be right justified.

source
    $data = $record->source();
    $record->source($data);

Linear Segment Source Code.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

fedirp
    $data = $record->fedirp();
    $record->fedirp($data);

Feature Direction, Prefix.

Expects alphanumeric data of no more than 2 characters. $data can be blank and should be left justified.

fename
    $data = $record->fename();
    $record->fename($data);

Feature Name.

Expects alphanumeric data of no more than 30 characters. $data can be blank and should be left justified.

fetype
    $data = $record->fetype();
    $record->fetype($data);

Feature Type.

Expects alphanumeric data of no more than 4 characters. $data can be blank and should be left justified.

fedirs
    $data = $record->fedirs();
    $record->fedirs($data);

Feature Direction, Suffix.

Expects alphanumeric data of no more than 2 characters. $data can be blank and should be left justified.

cfcc
    $data = $record->cfcc();
    $record->cfcc($data);

Census Feature Class Code.

Expects alphanumeric data of no more than 3 characters. $data can be blank and should be left justified.

fraddl
    $data = $record->fraddl();
    $record->fraddl($data);

Start Address, Left.

Expects alphanumeric data of no more than 11 characters. $data can be blank and should be right justified.

toaddl
    $data = $record->toaddl();
    $record->toaddl($data);

End Address, Left.

Expects alphanumeric data of no more than 11 characters. $data can be blank and should be right justified.

fraddr
    $data = $record->fraddr();
    $record->fraddr($data);

Start Address, Right.

Expects alphanumeric data of no more than 11 characters. $data can be blank and should be right justified.

toaddr
    $data = $record->toaddr();
    $record->toaddr($data);

End Address, Right.

Expects alphanumeric data of no more than 11 characters. $data can be blank and should be right justified.

friaddl
    $data = $record->friaddl();
    $record->friaddl($data);

Start Imputed Address Flag, Left.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

toiaddl
    $data = $record->toiaddl();
    $record->toiaddl($data);

End Imputed Address Flag, Left.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

friaddr
    $data = $record->friaddr();
    $record->friaddr($data);

Start Imputed Address Flag, Right.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

toiaddr
    $data = $record->toiaddr();
    $record->toiaddr($data);

End Imputed Address Flag, Right.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

zipl
    $data = $record->zipl();
    $record->zipl($data);

ZIP Code, Left.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

zipr
    $data = $record->zipr();
    $record->zipr($data);

ZIP Code, Right.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

fairl
    $data = $record->fairl();
    $record->fairl($data);

FIPS 55 Code (American Indian/Alaska Native Area), Current Left.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

fairr
    $data = $record->fairr();
    $record->fairr($data);

FIPS 55 Code (American Indian/Alaska Native Area), Current Right.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

trustl
    $data = $record->trustl();
    $record->trustl($data);

American Indian Trust Land Flag, Current Left.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

trustr
    $data = $record->trustr();
    $record->trustr($data);

American Indian Trust Land Flag, Current Right.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

census1
    $data = $record->census1();
    $record->census1($data);

Census Use 1.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

census2
    $data = $record->census2();
    $record->census2($data);

Census Use 2.

Expects alphanumeric data of no more than 1 characters. $data can be blank and should be left justified.

statel
    $data = $record->statel();
    $record->statel($data);

FIPS State Code, Current Left.

Expects numeric data of no more than 2 characters. $data can be blank and should be left justified.

stater
    $data = $record->stater();
    $record->stater($data);

FIPS State Code, Current Right.

Expects numeric data of no more than 2 characters. $data can be blank and should be left justified.

countyl
    $data = $record->countyl();
    $record->countyl($data);

FIPS County Code, Current Left.

Expects numeric data of no more than 3 characters. $data can be blank and should be left justified.

countyr
    $data = $record->countyr();
    $record->countyr($data);

FIPS County Code, Current Right.

Expects numeric data of no more than 3 characters. $data can be blank and should be left justified.

fmcdl
    $data = $record->fmcdl();
    $record->fmcdl($data);

FIPS 55 Code (MCD/CCD) Left, Current.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

fmcdr
    $data = $record->fmcdr();
    $record->fmcdr($data);

FIPS 55 Code (MCD/CCD) Right, Current.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

fsmcdl
    $data = $record->fsmcdl();
    $record->fsmcdl($data);

FIPS 55 Code (Sub-MCD), Current Left.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

fsmcdr
    $data = $record->fsmcdr();
    $record->fsmcdr($data);

FIPS 55 Code (Sub-MCD), Current Right.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

fpll
    $data = $record->fpll();
    $record->fpll($data);

FIPS 55 Code (Incorporated Place), Current Left.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

fplr
    $data = $record->fplr();
    $record->fplr($data);

FIPS 55 Code (Incorporated Place), Current Right.

Expects numeric data of no more than 5 characters. $data can be blank and should be left justified.

ctl
    $data = $record->ctl();
    $record->ctl($data);

Census Tract Code, 1990 Left.

Expects numeric data of no more than 6 characters. $data can be blank and should be left justified.

ctr
    $data = $record->ctr();
    $record->ctr($data);

Census Tract Code, 1990 Right.

Expects numeric data of no more than 6 characters. $data can be blank and should be left justified.

blkl
    $data = $record->blkl();
    $record->blkl($data);

Census Block Number, 1990 Left.

Expects alphanumeric data of no more than 4 characters. $data can be blank and should be left justified.

blkr
    $data = $record->blkr();
    $record->blkr($data);

Census Block Number, 1990 Right.

Expects alphanumeric data of no more than 4 characters. $data can be blank and should be left justified.

frlong
    $data = $record->frlong();
    $record->frlong($data);

Start Longitude.

Expects numeric data of no more than 10 characters. $data cannot be blank and should be right justified.

frlat
    $data = $record->frlat();
    $record->frlat($data);

Start Latitude.

Expects numeric data of no more than 9 characters. $data cannot be blank and should be right justified.

tolong
    $data = $record->tolong();
    $record->tolong($data);

End Longitude.

Expects numeric data of no more than 10 characters. $data cannot be blank and should be right justified.

tolat
    $data = $record->tolat();
    $record->tolat($data);

End Latitude.

Expects numeric data of no more than 9 characters. $data cannot be blank and should be right justified.

Data dictionary

This is the original TIGER/Line 1998 data dictionary from which this class was generated.

    Record Type 1 - Complete Chain Basic Data Record
    
         Field   BV  Fmt  Type  Beg  End  Len  Description
            RT   No    L     A    1    1    1  Record Type
       VERSION   No    L     N    2    5    4  Version Number
          TLID   No    R     N    6   15   10  TIGER/Line ID, Permanent Record Number
         SIDE1  Yes    R     N   16   16    1  Single-Side Complete Chain Code
        SOURCE  Yes    L     A   17   17    1  Linear Segment Source Code
        FEDIRP  Yes    L     A   18   19    2  Feature Direction, Prefix
        FENAME  Yes    L     A   20   49   30  Feature Name
        FETYPE  Yes    L     A   50   53    4  Feature Type
        FEDIRS  Yes    L     A   54   55    2  Feature Direction, Suffix
          CFCC  Yes    L     A   56   58    3  Census Feature Class Code
        FRADDL  Yes    R     A   59   69   11  Start Address, Left
        TOADDL  Yes    R     A   70   80   11  End Address, Left
        FRADDR  Yes    R     A   81   91   11  Start Address, Right
        TOADDR  Yes    R     A   92  102   11  End Address, Right
       FRIADDL  Yes    L     A  103  103    1  Start Imputed Address Flag, Left
       TOIADDL  Yes    L     A  104  104    1  End Imputed Address Flag, Left
       FRIADDR  Yes    L     A  105  105    1  Start Imputed Address Flag, Right
       TOIADDR  Yes    L     A  106  106    1  End Imputed Address Flag, Right
          ZIPL  Yes    L     N  107  111    5  ZIP Code, Left
          ZIPR  Yes    L     N  112  116    5  ZIP Code, Right
         FAIRL  Yes    L     N  117  121    5  FIPS 55 Code (American Indian/Alaska Native Area), Current Left
         FAIRR  Yes    L     N  122  126    5  FIPS 55 Code (American Indian/Alaska Native Area), Current Right
        TRUSTL  Yes    L     A  127  127    1  American Indian Trust Land Flag, Current Left
        TRUSTR  Yes    L     A  128  128    1  American Indian Trust Land Flag, Current Right
       CENSUS1  Yes    L     A  129  129    1  Census Use 1
       CENSUS2  Yes    L     A  130  130    1  Census Use 2
        STATEL  Yes    L     N  131  132    2  FIPS State Code, Current Left
        STATER  Yes    L     N  133  134    2  FIPS State Code, Current Right
       COUNTYL  Yes    L     N  135  137    3  FIPS County Code, Current Left
       COUNTYR  Yes    L     N  138  140    3  FIPS County Code, Current Right
         FMCDL  Yes    L     N  141  145    5  FIPS 55 Code (MCD/CCD) Left, Current
         FMCDR  Yes    L     N  146  150    5  FIPS 55 Code (MCD/CCD) Right, Current
        FSMCDL  Yes    L     N  151  155    5  FIPS 55 Code (Sub-MCD), Current Left
        FSMCDR  Yes    L     N  156  160    5  FIPS 55 Code (Sub-MCD), Current Right
          FPLL  Yes    L     N  161  165    5  FIPS 55 Code (Incorporated Place), Current Left
          FPLR  Yes    L     N  166  170    5  FIPS 55 Code (Incorporated Place), Current Right
           CTL  Yes    L     N  171  176    6  Census Tract Code, 1990 Left
           CTR  Yes    L     N  177  182    6  Census Tract Code, 1990 Right
          BLKL  Yes    L     A  183  186    4  Census Block Number, 1990 Left
          BLKR  Yes    L     A  187  190    4  Census Block Number, 1990 Right
        FRLONG   No    R     N  191  200   10  Start Longitude
         FRLAT   No    R     N  201  209    9  Start Latitude
        TOLONG   No    R     N  210  219   10  End Longitude
         TOLAT   No    R     N  220  228    9  End Latitude
    
    
    

AUTHOR

Michael G Schwern <schwern@pobox.com>

SEE ALSO

Geo::TigerLine, mk_parsers