Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a16d558

Browse files
rouaultnyalldawson
authored andcommittedOct 3, 2023
[OAPIF] Catch ct.transformBoundingBox() exceptions in QgsOapifProvider initialization
1 parent a8da6b6 commit a16d558

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed
 

‎src/providers/wfs/oapif/qgsoapifprovider.cpp

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,16 @@ bool QgsOapifProvider::init()
193193
QgsCoordinateTransform ct( collectionRequest->collection().mBboxCrs, mShared->mSourceCrs, transformContext() );
194194
ct.setBallparkTransformsAreAppropriate( true );
195195
QgsDebugMsgLevel( "before ext:" + mShared->mCapabilityExtent.toString(), 4 );
196-
mShared->mCapabilityExtent = ct.transformBoundingBox( mShared->mCapabilityExtent );
197-
QgsDebugMsgLevel( "after ext:" + mShared->mCapabilityExtent.toString(), 4 );
196+
try
197+
{
198+
mShared->mCapabilityExtent = ct.transformBoundingBox( mShared->mCapabilityExtent );
199+
QgsDebugMsgLevel( "after ext:" + mShared->mCapabilityExtent.toString(), 4 );
200+
}
201+
catch ( const QgsCsException &e )
202+
{
203+
QgsMessageLog::logMessage( tr( "Cannot compute layer extent: %1" ).arg( e.what() ), tr( "OAPIF" ) );
204+
mShared->mCapabilityExtent = QgsRectangle();
205+
}
198206
}
199207

200208
// Merge contact info from /api
@@ -234,8 +242,16 @@ bool QgsOapifProvider::init()
234242
QgsCoordinateTransform ct( defaultCrs, mShared->mSourceCrs, transformContext() );
235243
ct.setBallparkTransformsAreAppropriate( true );
236244
QgsDebugMsgLevel( "before ext:" + mShared->mCapabilityExtent.toString(), 4 );
237-
mShared->mCapabilityExtent = ct.transformBoundingBox( mShared->mCapabilityExtent );
238-
QgsDebugMsgLevel( "after ext:" + mShared->mCapabilityExtent.toString(), 4 );
245+
try
246+
{
247+
mShared->mCapabilityExtent = ct.transformBoundingBox( mShared->mCapabilityExtent );
248+
QgsDebugMsgLevel( "after ext:" + mShared->mCapabilityExtent.toString(), 4 );
249+
}
250+
catch ( const QgsCsException &e )
251+
{
252+
QgsMessageLog::logMessage( tr( "Cannot compute layer extent: %1" ).arg( e.what() ), tr( "OAPIF" ) );
253+
mShared->mCapabilityExtent = QgsRectangle();
254+
}
239255
}
240256
}
241257

0 commit comments

Comments
 (0)
Please sign in to comment.