Пример #1
0
OGRSpatialReference *OGRProxiedLayer::GetSpatialRef()
{
    if( poSRS != NULL )
        return poSRS;
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return NULL;
    OGRSpatialReference* poRet = poUnderlyingLayer->GetSpatialRef();
    if( poRet != NULL )
    {
        poSRS = poRet;
        poSRS->Reference();
    }
    return poRet;
}
Пример #2
0
OGRFeatureDefn *OGRProxiedLayer::GetLayerDefn()
{
    if( poFeatureDefn != NULL )
        return poFeatureDefn;

    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() )
    {
        poFeatureDefn = new OGRFeatureDefn("");
    }
    else
    {
        poFeatureDefn = poUnderlyingLayer->GetLayerDefn();
    }

    poFeatureDefn->Reference();

    return poFeatureDefn;
}
Пример #3
0
OGRErr      OGRProxiedLayer::GetExtent(OGREnvelope *psExtent, int bForce)
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->GetExtent(psExtent, bForce);
}
Пример #4
0
int         OGRProxiedLayer::TestCapability( const char * pszCapability )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return FALSE;
    return poUnderlyingLayer->TestCapability(pszCapability);
}
Пример #5
0
OGRErr      OGRProxiedLayer::SetAttributeFilter( const char * poAttrFilter )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->SetAttributeFilter(poAttrFilter);
}
Пример #6
0
int         OGRProxiedLayer::GetFeatureCount( int bForce )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return 0;
    return poUnderlyingLayer->GetFeatureCount(bForce);
}
Пример #7
0
OGRErr      OGRProxiedLayer::SyncToDisk()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->SyncToDisk();
}
Пример #8
0
void        OGRProxiedLayer::SetStyleTable(OGRStyleTable *poStyleTable)
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return;
    return poUnderlyingLayer->SetStyleTable(poStyleTable);
}
Пример #9
0
OGRErr      OGRProxiedLayer::DeleteFeature( long nFID )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->DeleteFeature(nFID);
}
Пример #10
0
OGRErr      OGRProxiedLayer::ReorderFields( int* panMap )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->ReorderFields(panMap);
}
Пример #11
0
OGRFeature *OGRProxiedLayer::GetFeature( long nFID )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return NULL;
    return poUnderlyingLayer->GetFeature(nFID);
}
Пример #12
0
OGRErr      OGRProxiedLayer::CreateFeature( OGRFeature *poFeature )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->CreateFeature(poFeature);
}
Пример #13
0
OGRErr      OGRProxiedLayer::SetNextByIndex( long nIndex )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->SetNextByIndex(nIndex);
}
Пример #14
0
OGRFeature *OGRProxiedLayer::GetNextFeature()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return NULL;
    return poUnderlyingLayer->GetNextFeature();
}
Пример #15
0
void        OGRProxiedLayer::ResetReading()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return;
    poUnderlyingLayer->ResetReading();
}
Пример #16
0
OGRErr      OGRProxiedLayer::CreateField( OGRFieldDefn *poField,
                                            int bApproxOK )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->CreateField(poField, bApproxOK);
}
Пример #17
0
const char *OGRProxiedLayer::GetName()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return "";
    return poUnderlyingLayer->GetName();
}
Пример #18
0
OGRErr      OGRProxiedLayer::DeleteField( int iField )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->DeleteField(iField);
}
Пример #19
0
OGRwkbGeometryType OGRProxiedLayer::GetGeomType()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return wkbUnknown;
    return poUnderlyingLayer->GetGeomType();
}
Пример #20
0
OGRErr      OGRProxiedLayer::AlterFieldDefn( int iField, OGRFieldDefn* poNewFieldDefn, int nFlags )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->AlterFieldDefn(iField, poNewFieldDefn, nFlags);
}
Пример #21
0
const char *OGRProxiedLayer::GetGeometryColumn()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return "";
    return poUnderlyingLayer->GetGeometryColumn();
}
Пример #22
0
OGRStyleTable *OGRProxiedLayer::GetStyleTable()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return NULL;
    return poUnderlyingLayer->GetStyleTable();
}
Пример #23
0
OGRGeometry *OGRProxiedLayer::GetSpatialFilter()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return NULL;
    return poUnderlyingLayer->GetSpatialFilter();
}
Пример #24
0
OGRErr      OGRProxiedLayer::RollbackTransaction()
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->RollbackTransaction();
}
Пример #25
0
void        OGRProxiedLayer::SetSpatialFilter( int iGeomField, OGRGeometry * poGeom )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return;
    poUnderlyingLayer->SetSpatialFilter(iGeomField, poGeom);
}
Пример #26
0
OGRErr      OGRProxiedLayer::SetIgnoredFields( const char **papszFields )
{
    if( poUnderlyingLayer == NULL && !OpenUnderlyingLayer() ) return OGRERR_FAILURE;
    return poUnderlyingLayer->SetIgnoredFields(papszFields);
}
Пример #27
0
OGRLayer* OGRProxiedLayer::GetUnderlyingLayer()
{
    if( poUnderlyingLayer == NULL )
        OpenUnderlyingLayer();
    return poUnderlyingLayer;
}