⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tigerpolygon.cpp

📁 支持各种栅格图像和矢量图像读取的库
💻 CPP
📖 第 1 页 / 共 3 页
字号:
static TigerFieldInfo rtA_fields[] = {  // fieldname    fmt  type OFTType      beg  end  len  bDefine bSet bWrite  { "MODULE",     ' ', ' ', OFTString,     0,   0,   8,       1,   0,     0 },  { "FILE",       'L', 'N', OFTString,     6,  10,   5,       1,   1,     1 },  { "STATE",      'L', 'N', OFTInteger,    6,   7,   2,       1,   1,     1 },  { "COUNTY",     'L', 'N', OFTInteger,    8,  10,   3,       1,   1,     1 },  { "CENID",      'L', 'A', OFTString,    11,  15,   5,       1,   1,     1 },  { "POLYID",     'R', 'N', OFTInteger,   16,  25,  10,       1,   1,     1 },  { "FAIR",       'L', 'N', OFTInteger,   26,  30,   5,       1,   1,     1 },  { "FMCD",       'L', 'N', OFTInteger,   31,  35,   5,       1,   1,     1 },  { "FPL",        'L', 'N', OFTInteger,   36,  40,   5,       1,   1,     1 },  { "CTBNA90",    'L', 'N', OFTInteger,   41,  46,   6,       1,   1,     1 },  { "BLK90",      'L', 'A', OFTString,    47,  50,   4,       1,   1,     1 },  { "CD106",      'L', 'N', OFTInteger,   51,  52,   2,       1,   1,     1 },  { "CD108",      'L', 'N', OFTInteger,   53,  54,   2,       1,   1,     1 },  { "SDELM",      'L', 'A', OFTString,    55,  59,   5,       1,   1,     1 },  { "SDSEC",      'L', 'N', OFTString,    65,  69,   5,       1,   1,     1 },  { "SDUNI",      'L', 'A', OFTString,    70,  74,   5,       1,   1,     1 },  { "TAZ",        'R', 'A', OFTString,    75,  80,   6,       1,   1,     1 },  { "UA",         'L', 'N', OFTInteger,   81,  84,   4,       1,   1,     1 },  { "URBFLAG",    'L', 'A', OFTString,    85,  85,   1,       1,   1,     1 },  { "CTPP",       'L', 'A', OFTString,    86,  89,   4,       1,   1,     1 },  { "STATE90",    'L', 'N', OFTInteger,   90,  91,   2,       1,   1,     1 },  { "COUN90",     'L', 'N', OFTInteger,   92,  94,   3,       1,   1,     1 },  { "AIR90",      'L', 'N', OFTInteger,   95,  98,   4,       1,   1,     1 }};static TigerRecordInfo rtA_info =  {    rtA_fields,    sizeof(rtA_fields) / sizeof(TigerFieldInfo),    98  };static TigerFieldInfo rtS_2002_fields[] = {  // fieldname    fmt  type OFTType      beg  end  len  bDefine bSet bWrite  { "FILE",       'L', 'N', OFTInteger,    6,  10,   5,       0,   0,     1 },  { "CENID",      'L', 'A', OFTString,    11,  15,   5,       0,   0,     1 },  { "POLYID",     'R', 'N', OFTInteger,   16,  25,  10,       0,   0,     1 },  { "STATE",      'L', 'N', OFTInteger,   26,  27,   2,       1,   1,     1 },  { "COUNTY",     'L', 'N', OFTInteger,   28,  30,   3,       1,   1,     1 },  { "TRACT",      'L', 'N', OFTInteger,   31,  36,   6,       0,   0,     1 },  { "BLOCK",      'L', 'N', OFTInteger,   37,  40,   4,       0,   0,     1 },  { "BLKGRP",     'L', 'N', OFTInteger,   41,  41,   1,       1,   1,     1 },  { "AIANHHFP",   'L', 'N', OFTInteger,   42,  46,   5,       1,   1,     1 },  { "AIANHH",     'L', 'N', OFTInteger,   47,  50,   4,       1,   1,     1 },  { "AIHHTLI",    'L', 'A', OFTString,    51,  51,   1,       1,   1,     1 },  { "ANRC",       'L', 'N', OFTInteger,   52,  56,   5,       1,   1,     1 },  { "AITSCE",     'L', 'N', OFTInteger,   57,  59,   3,       1,   1,     1 },  { "AITS",       'L', 'N', OFTInteger,   60,  64,   5,       1,   1,     1 },  { "CONCIT",     'L', 'N', OFTInteger,   65,  69,   5,       1,   1,     1 },  { "COUSUB",     'L', 'N', OFTInteger,   70,  74,   5,       1,   1,     1 },  { "SUBMCD",     'L', 'N', OFTInteger,   75,  79,   5,       1,   1,     1 },  { "PLACE",      'L', 'N', OFTInteger,   80,  84,   5,       1,   1,     1 },  { "SDELM",      'L', 'N', OFTInteger,   85,  89,   5,       1,   1,     1 },  { "SDSEC",      'L', 'N', OFTInteger,   90,  94,   5,       1,   1,     1 },  { "SDUNI",      'L', 'N', OFTInteger,   95,  99,   5,       1,   1,     1 },  { "MSACMSA",    'L', 'N', OFTInteger,  100, 103,   4,       1,   1,     1 },  { "PMSA",       'L', 'N', OFTInteger,  104, 107,   4,       1,   1,     1 },  { "NECMA",      'L', 'N', OFTInteger,  108, 111,   4,       1,   1,     1 },  { "CD106",      'L', 'N', OFTInteger,  112, 113,   2,       1,   1,     1 },  // Note: spec has CD106 with 'R', but sample data file (08005) seems to  // have been written with 'L', so I'm using 'L' here.  mbp Tue Dec 24 19:03:40 2002  { "CD108",      'R', 'N', OFTInteger,  114, 115,   2,       1,   1,     1 },  { "PUMA5",      'L', 'N', OFTInteger,  116, 120,   5,       1,   1,     1 },  { "PUMA1",      'L', 'N', OFTInteger,  121, 125,   5,       1,   1,     1 },  { "ZCTA5",      'L', 'A', OFTString,   126, 130,   5,       1,   1,     1 },  { "ZCTA3",      'L', 'A', OFTString,   131, 133,   3,       1,   1,     1 },  { "TAZ",        'L', 'A', OFTString,   134, 139,   6,       1,   1,     1 },  { "TAZCOMB",    'L', 'A', OFTString,   140, 145,   6,       1,   1,     1 },  { "UA",         'L', 'N', OFTInteger,  146, 150,   5,       1,   1,     1 },  { "UR",         'L', 'A', OFTString,   151, 151,   1,       1,   1,     1 },  { "VTD",        'R', 'A', OFTString,   152, 157,   6,       1,   1,     1 },  { "SLDU",       'R', 'A', OFTString,   158, 160,   3,       1,   1,     1 },  { "SLDL",       'R', 'A', OFTString,   161, 163,   3,       1,   1,     1 },  { "UGA",        'L', 'A', OFTString,   164, 168,   5,       1,   1,     1 },};static TigerRecordInfo rtS_2002_info =  {    rtS_2002_fields,    sizeof(rtS_2002_fields) / sizeof(TigerFieldInfo),    168  };static TigerFieldInfo rtS_2000_Redistricting_fields[] = {  { "FILE",       'L', 'N', OFTString,     6,  10,   5,       0,   0,     1 },  { "STATE",      'L', 'N', OFTInteger,    6,   7,   2,       0,   0,     1 },  { "COUNTY",     'L', 'N', OFTInteger,    8,  10,   3,       0,   0,     1 },  { "CENID",      'L', 'A', OFTString,    11,  15,   5,       0,   0,     1 },  { "POLYID",     'R', 'N', OFTInteger,   16,  25,  10,       0,   0,     1 },  { "WATER",      'L', 'N', OFTString,    26,  26,   1,       1,   1,     1 },  { "CMSAMSA",    'L', 'N', OFTInteger,   27,  30,   4,       1,   1,     1 },  { "PMSA",       'L', 'N', OFTInteger,   31,  34,   4,       1,   1,     1 },  { "AIANHH",     'L', 'N', OFTInteger,   35,  39,   5,       1,   1,     1 },  { "AIR",        'L', 'N', OFTInteger,   40,  43,   4,       1,   1,     1 },  { "TRUST",      'L', 'A', OFTString,    44,  44,   1,       1,   1,     1 },  { "ANRC",       'L', 'A', OFTInteger,   45,  46,   2,       1,   1,     1 },  { "STATECU",    'L', 'N', OFTInteger,   47,  48,   2,       1,   1,     1 },  { "COUNTYCU",   'L', 'N', OFTInteger,   49,  51,   3,       1,   1,     1 },  { "FCCITY",     'L', 'N', OFTInteger,   52,  56,   5,       1,   1,     1 },  { "FMCD",       'L', 'N', OFTInteger,   57,  61,   5,       0,   0,     1 },  { "FSMCD",      'L', 'N', OFTInteger,   62,  66,   5,       1,   1,     1 },  { "PLACE",      'L', 'N', OFTInteger,   67,  71,   5,       1,   1,     1 },  { "CTBNA00",    'L', 'N', OFTInteger,   72,  77,   6,       1,   1,     1 },  { "BLK00",      'L', 'N', OFTString,    78,  81,   4,       1,   1,     1 },  { "RS10",       'R', 'N', OFTInteger,   82,  82,   0,       0,   1,     1 },  { "CDCU",       'L', 'N', OFTInteger,   83,  84,   2,       1,   1,     1 },  { "SLDU",       'R', 'A', OFTString,    85,  87,   3,       1,   1,     1 },  { "SLDL",       'R', 'A', OFTString,    88,  90,   3,       1,   1,     1 },  { "UGA",        'L', 'A', OFTString,    91,  95,   5,       1,   1,     1 },  { "BLKGRP",     'L', 'N', OFTInteger,   96,  96,   1,       1,   1,     1 },  { "VTD",        'R', 'A', OFTString,    97, 102,   6,       1,   1,     1 },  { "STATECOL",   'L', 'N', OFTInteger,  103, 104,   2,       1,   1,     1 },  { "COUNTYCOL",  'L', 'N', OFTInteger,  105, 107,   3,       1,   1,     1 },  { "BLOCKCOL",   'R', 'N', OFTInteger,  108, 112,   5,       1,   1,     1 },  { "BLKSUFCOL",  'L', 'A', OFTString,   113, 113,   1,       1,   1,     1 },  { "ZCTA5",      'L', 'A', OFTString,   114, 118,   5,       1,   1,     1 }};static TigerRecordInfo rtS_2000_Redistricting_info =  {    rtS_2000_Redistricting_fields,    sizeof(rtS_2000_Redistricting_fields) / sizeof(TigerFieldInfo),    120  };static TigerFieldInfo rtS_fields[] = {  { "FILE",       'L', 'N', OFTString,     6,  10,   5,       0,   0,     1 },  { "STATE",      'L', 'N', OFTInteger,    6,   7,   2,       0,   0,     1 },  { "COUNTY",     'L', 'N', OFTInteger,    8,  10,   3,       0,   0,     1 },  { "CENID",      'L', 'A', OFTString,    11,  15,   5,       0,   0,     1 },  { "POLYID",     'R', 'N', OFTInteger,   16,  25,  10,       0,   0,     1 },  { "WATER",      'L', 'N', OFTString,    26,  26,   1,       1,   1,     1 },  { "CMSAMSA",    'L', 'N', OFTInteger,   27,  30,   4,       1,   1,     1 },  { "PMSA",       'L', 'N', OFTInteger,   31,  34,   4,       1,   1,     1 },  { "AIANHH",     'L', 'N', OFTInteger,   35,  39,   5,       1,   1,     1 },  { "AIR",        'L', 'N', OFTInteger,   40,  43,   4,       1,   1,     1 },  { "TRUST",      'L', 'A', OFTString,    44,  44,   1,       1,   1,     1 },  { "ANRC",       'L', 'A', OFTInteger,   45,  46,   2,       1,   1,     1 },  { "STATECU",    'L', 'N', OFTInteger,   47,  48,   2,       1,   1,     1 },  { "COUNTYCU",   'L', 'N', OFTInteger,   49,  51,   3,       1,   1,     1 },  { "FCCITY",     'L', 'N', OFTInteger,   52,  56,   5,       1,   1,     1 },  { "FMCD",       'L', 'N', OFTInteger,   57,  61,   5,       0,   0,     1 },  { "FSMCD",      'L', 'N', OFTInteger,   62,  66,   5,       1,   1,     1 },  { "PLACE",      'L', 'N', OFTInteger,   67,  71,   5,       1,   1,     1 },  { "CTBNA00",    'L', 'N', OFTInteger,   72,  77,   6,       1,   1,     1 },  { "BLK00",      'L', 'N', OFTString,    78,  81,   4,       1,   1,     1 },  { "RS10",       'R', 'N', OFTInteger,   82,  82,   0,       0,   1,     1 },  { "CDCU",       'L', 'N', OFTInteger,   83,  84,   2,       1,   1,     1 },  { "STSENATE",   'L', 'A', OFTString,    85,  90,   6,       1,   1,     1 },  { "STHOUSE",    'L', 'A', OFTString,    91,  96,   6,       1,   1,     1 },  { "VTD00",      'L', 'A', OFTString,    97, 102,   6,       1,   1,     1 }};static TigerRecordInfo rtS_info =  {    rtS_fields,    sizeof(rtS_fields) / sizeof(TigerFieldInfo),    120  };/************************************************************************//*                            TigerPolygon()                            *//************************************************************************/TigerPolygon::TigerPolygon( OGRTigerDataSource * poDSIn,                                  const char * pszPrototypeModule ){    poDS = poDSIn;    poFeatureDefn = new OGRFeatureDefn( "Polygon" );    poFeatureDefn->Reference();    poFeatureDefn->SetGeomType( wkbNone );    fpRTS = NULL;    bUsingRTS = TRUE;    if( poDS->GetVersion() >= TIGER_2004 ) {        psRTAInfo = &rtA_2004_info;    } else if( poDS->GetVersion() >= TIGER_2003 ) {        psRTAInfo = &rtA_2003_info;    } else if( poDS->GetVersion() >= TIGER_2002 ) {        psRTAInfo = &rtA_2002_info;    } else {        psRTAInfo = &rtA_info;    }    if( poDS->GetVersion() >= TIGER_2002 ) {      psRTSInfo = &rtS_2002_info;    } else if( poDS->GetVersion() >= TIGER_2000_Redistricting ) {      psRTSInfo = &rtS_2000_Redistricting_info;    } else {      psRTSInfo = &rtS_info;    }    /* -------------------------------------------------------------------- */    /*      Fields from type A record.                                      */    /* -------------------------------------------------------------------- */    AddFieldDefns(psRTAInfo, poFeatureDefn);    /* -------------------------------------------------------------------- */    /*      Add the RTS records if it is available.                         */    /* -------------------------------------------------------------------- */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -