📄 ogrlayer.cpp
字号:
/************************************************************************/
OGRErr OGR_L_SetAttributeFilter( OGRLayerH hLayer, const char *pszQuery )
{
return ((OGRLayer *) hLayer)->SetAttributeFilter( pszQuery );
}
/************************************************************************/
/* GetFeature() */
/************************************************************************/
OGRFeature *OGRLayer::GetFeature( long nFID )
{
OGRFeature *poFeature;
ResetReading();
while( (poFeature = GetNextFeature()) != NULL )
{
if( poFeature->GetFID() == nFID )
return poFeature;
else
delete poFeature;
}
return NULL;
}
/************************************************************************/
/* OGR_L_GetFeature() */
/************************************************************************/
OGRFeatureH OGR_L_GetFeature( OGRLayerH hLayer, long nFeatureId )
{
return (OGRFeatureH) ((OGRLayer *)hLayer)->GetFeature( nFeatureId );
}
/************************************************************************/
/* SetNextByIndex() */
/************************************************************************/
OGRErr OGRLayer::SetNextByIndex( long nIndex )
{
OGRFeature *poFeature;
ResetReading();
while( nIndex-- > 0 )
{
poFeature = GetNextFeature();
if( poFeature == NULL )
return OGRERR_FAILURE;
delete poFeature;
}
return OGRERR_NONE;
}
/************************************************************************/
/* OGR_L_SetNextByIndex() */
/************************************************************************/
OGRErr OGR_L_SetNextByIndex( OGRLayerH hLayer, long nIndex )
{
return ((OGRLayer *)hLayer)->SetNextByIndex( nIndex );
}
/************************************************************************/
/* OGR_L_GetNextFeature() */
/************************************************************************/
OGRFeatureH OGR_L_GetNextFeature( OGRLayerH hLayer )
{
return (OGRFeatureH) ((OGRLayer *)hLayer)->GetNextFeature();
}
/************************************************************************/
/* SetFeature() */
/************************************************************************/
OGRErr OGRLayer::SetFeature( OGRFeature * )
{
return OGRERR_UNSUPPORTED_OPERATION;
}
/************************************************************************/
/* OGR_L_SetFeature() */
/************************************************************************/
OGRErr OGR_L_SetFeature( OGRLayerH hLayer, OGRFeatureH hFeat )
{
return ((OGRLayer *)hLayer)->SetFeature( (OGRFeature *) hFeat );
}
/************************************************************************/
/* CreateFeature() */
/************************************************************************/
OGRErr OGRLayer::CreateFeature( OGRFeature * )
{
return OGRERR_UNSUPPORTED_OPERATION;
}
/************************************************************************/
/* OGR_L_CreateFeature() */
/************************************************************************/
OGRErr OGR_L_CreateFeature( OGRLayerH hLayer, OGRFeatureH hFeat )
{
return ((OGRLayer *) hLayer)->CreateFeature( (OGRFeature *) hFeat );
}
/************************************************************************/
/* GetInfo() */
/************************************************************************/
const char *OGRLayer::GetInfo( const char * pszTag )
{
(void) pszTag;
return NULL;
}
/************************************************************************/
/* CreateField() */
/************************************************************************/
OGRErr OGRLayer::CreateField( OGRFieldDefn * poField, int bApproxOK )
{
(void) poField;
(void) bApproxOK;
CPLError( CE_Failure, CPLE_NotSupported,
"CreateField() not supported by this layer.\n" );
return OGRERR_UNSUPPORTED_OPERATION;
}
/************************************************************************/
/* OGR_L_CreateField() */
/************************************************************************/
OGRErr OGR_L_CreateField( OGRLayerH hLayer, OGRFieldDefnH hField,
int bApproxOK )
{
return ((OGRLayer *) hLayer)->CreateField( (OGRFieldDefn *) hField,
bApproxOK );
}
/************************************************************************/
/* StartTransaction() */
/************************************************************************/
OGRErr OGRLayer::StartTransaction()
{
return OGRERR_NONE;
}
/************************************************************************/
/* OGR_L_StartTransaction() */
/************************************************************************/
OGRErr OGR_L_StartTransaction( OGRLayerH hLayer )
{
return ((OGRLayer *)hLayer)->StartTransaction();
}
/************************************************************************/
/* CommitTransaction() */
/************************************************************************/
OGRErr OGRLayer::CommitTransaction()
{
return OGRERR_NONE;
}
/************************************************************************/
/* OGR_L_CommitTransaction() */
/************************************************************************/
OGRErr OGR_L_CommitTransaction( OGRLayerH hLayer )
{
return ((OGRLayer *)hLayer)->CommitTransaction();
}
/************************************************************************/
/* RollbackTransaction() */
/************************************************************************/
OGRErr OGRLayer::RollbackTransaction()
{
return OGRERR_UNSUPPORTED_OPERATION;
}
/************************************************************************/
/* OGR_L_RollbackTransaction() */
/************************************************************************/
OGRErr OGR_L_RollbackTransaction( OGRLayerH hLayer )
{
return ((OGRLayer *)hLayer)->RollbackTransaction();
}
/************************************************************************/
/* OGR_L_GetLayerDefn() */
/************************************************************************/
OGRFeatureDefnH OGR_L_GetLayerDefn( OGRLayerH hLayer )
{
return (OGRFeatureDefnH) ((OGRLayer *)hLayer)->GetLayerDefn();
}
/************************************************************************/
/* OGR_L_GetSpatialRef() */
/************************************************************************/
OGRSpatialReferenceH OGR_L_GetSpatialRef( OGRLayerH hLayer )
{
return (OGRSpatialReferenceH) ((OGRLayer *) hLayer)->GetSpatialRef();
}
/************************************************************************/
/* OGR_L_TestCapability() */
/************************************************************************/
int OGR_L_TestCapability( OGRLayerH hLayer, const char *pszCap )
{
return ((OGRLayer *) hLayer)->TestCapability( pszCap );
}
/************************************************************************/
/* GetSpatialFilter() */
/************************************************************************/
OGRGeometry *OGRLayer::GetSpatialFilter()
{
return m_poFilterGeom;
}
/************************************************************************/
/* OGR_L_GetSpatialFilter() */
/************************************************************************/
OGRGeometryH OGR_L_GetSpatialFilter( OGRLayerH hLayer )
{
return (OGRGeometryH) ((OGRLayer *) hLayer)->GetSpatialFilter();
}
/************************************************************************/
/* SetSpatialFilter() */
/************************************************************************/
void OGRLayer::SetSpatialFilter( OGRGeometry * poGeomIn )
{
if( InstallFilter( poGeomIn ) )
ResetReading();
}
/************************************************************************/
/* OGR_L_SetSpatialFilter() */
/************************************************************************/
void OGR_L_SetSpatialFilter( OGRLayerH hLayer, OGRGeometryH hGeom )
{
((OGRLayer *) hLayer)->SetSpatialFilter( (OGRGeometry *) hGeom );
}
/************************************************************************/
/* SetSpatialFilterRect() */
/************************************************************************/
void OGRLayer::SetSpatialFilterRect( double dfMinX, double dfMinY,
double dfMaxX, double dfMaxY )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -