Skip to content

Commit d4945db

Browse files
committed
flatten geometries in virtual ogr sublayers, i.e. mix 2D and 25D
1 parent b383c69 commit d4945db

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

src/providers/ogr/qgsogrfeatureiterator.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,8 @@ bool QgsOgrFeatureIterator::readFeature( OGRFeatureH fet, QgsFeature& feature )
217217

218218
feature.setGeometryAndOwnership( wkb, OGR_G_WkbSize( geom ) );
219219
}
220-
221220
if (( useIntersect && ( !feature.geometry() || !feature.geometry()->intersects( mRequest.filterRect() ) ) )
222-
|| ( geometryTypeFilter && ( !feature.geometry() || feature.geometry()->wkbType() != ( QGis::WkbType )P->mOgrGeometryTypeFilter ) ) )
221+
|| ( geometryTypeFilter && ( !feature.geometry() || wkbFlatten(( OGRwkbGeometryType )feature.geometry()->wkbType() ) != wkbFlatten( P->mOgrGeometryTypeFilter ) ) ) )
223222
{
224223
OGR_F_Destroy( fet );
225224
return false;

src/providers/ogr/qgsogrprovider.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ QStringList QgsOgrProvider::subLayers() const
552552
OGRGeometryH geom = OGR_F_GetGeometryRef( fet );
553553
if ( geom )
554554
{
555-
OGRwkbGeometryType gType = OGR_G_GetGeometryType( geom );
555+
OGRwkbGeometryType gType = wkbFlatten( OGR_G_GetGeometryType( geom ) );
556556
fCount[gType] = fCount.value( gType ) + 1;
557557
}
558558
OGR_F_Destroy( fet );

0 commit comments

Comments
 (0)