OGRAVCE00Layer::OGRAVCE00Layer( OGRAVCDataSource *poDSIn, AVCE00Section *psSectionIn ) : OGRAVCLayer( psSectionIn->eType, poDSIn ), psSection(psSectionIn), psRead(NULL), poArcLayer(NULL), nFeatureCount(-1), bNeedReset(0), nNextFID(1), psTableSection(NULL), psTableRead(NULL), pszTableFilename(NULL), nTablePos(0), nTableBaseField(0), nTableAttrIndex(-1) { SetupFeatureDefinition( psSection->pszName ); /* psRead = AVCE00ReadOpenE00(psSection->pszFilename); */ #if 0 szTableName[0] = '\0'; if( psSection->eType == AVCFilePAL ) sprintf( szTableName, "%s.PAT", poDS->GetCoverageName() ); else if( psSection->eType == AVCFileRPL ) sprintf( szTableName, "%s.PAT%s", poDS->GetCoverageName(), psSectionIn->pszName ); else if( psSection->eType == AVCFileARC ) sprintf( szTableName, "%s.AAT", poDS->GetCoverageName() ); else if( psSection->eType == AVCFileLAB ) { AVCE00ReadPtr psInfo = ((OGRAVCE00DataSource *) poDS)->GetInfo(); sprintf( szTableName, "%s.PAT", poDS->GetCoverageName() ); for( int iSection = 0; iSection < psInfo->numSections; iSection++ ) { if( psInfo->pasSections[iSection].eType == AVCFilePAL ) nTableAttrIndex = poFeatureDefn->GetFieldIndex( "PolyId" ); } } #endif }
OGRAVCBinLayer::OGRAVCBinLayer( OGRAVCBinDataSource *poDSIn, AVCE00Section *psSectionIn ) : OGRAVCLayer( psSectionIn->eType, poDSIn ), m_psSection(psSectionIn), hFile(NULL), poArcLayer(NULL), bNeedReset(FALSE), hTable(NULL), nTableBaseField(-1), nTableAttrIndex(-1), nNextFID(1) { SetupFeatureDefinition( m_psSection->pszName ); szTableName[0] = '\0'; if( m_psSection->eType == AVCFilePAL ) snprintf( szTableName, sizeof(szTableName), "%s.PAT", poDS->GetCoverageName() ); else if( m_psSection->eType == AVCFileRPL ) snprintf( szTableName, sizeof(szTableName), "%s.PAT%s", poDS->GetCoverageName(), m_psSection->pszName ); else if( m_psSection->eType == AVCFileARC ) snprintf( szTableName, sizeof(szTableName), "%s.AAT", poDS->GetCoverageName() ); else if( m_psSection->eType == AVCFileLAB ) { AVCE00ReadPtr psInfo = static_cast<OGRAVCBinDataSource *>( poDS) ->GetInfo(); snprintf( szTableName, sizeof(szTableName), "%s.PAT", poDS->GetCoverageName() ); for( int iSection = 0; iSection < psInfo->numSections; iSection++ ) { if( psInfo->pasSections[iSection].eType == AVCFilePAL ) nTableAttrIndex = poFeatureDefn->GetFieldIndex( "PolyId" ); } } CheckSetupTable(); }
OGRAVCBinLayer::OGRAVCBinLayer( OGRAVCBinDataSource *poDSIn, AVCE00Section *psSectionIn ) : OGRAVCLayer( psSectionIn->eType, poDSIn ) { psSection = psSectionIn; hFile = NULL; poArcLayer = NULL; bNeedReset = FALSE; nNextFID = 1; hTable = NULL; nTableBaseField = -1; nTableAttrIndex = -1; SetupFeatureDefinition( psSection->pszName ); szTableName[0] = '\0'; if( psSection->eType == AVCFilePAL ) sprintf( szTableName, "%s.PAT", poDS->GetCoverageName() ); else if( psSection->eType == AVCFileRPL ) sprintf( szTableName, "%s.PAT%s", poDS->GetCoverageName(), psSectionIn->pszName ); else if( psSection->eType == AVCFileARC ) sprintf( szTableName, "%s.AAT", poDS->GetCoverageName() ); else if( psSection->eType == AVCFileLAB ) { AVCE00ReadPtr psInfo = ((OGRAVCBinDataSource *) poDS)->GetInfo(); sprintf( szTableName, "%s.PAT", poDS->GetCoverageName() ); for( int iSection = 0; iSection < psInfo->numSections; iSection++ ) { if( psInfo->pasSections[iSection].eType == AVCFilePAL ) nTableAttrIndex = poFeatureDefn->GetFieldIndex( "PolyId" ); } } CheckSetupTable(); }