Skip to content

Commit 4bea357

Browse files
committedMay 21, 2013
Debbuging NoGeometry support in QGIS WFS Server
1 parent 7e7e6ab commit 4bea357

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed
 

‎src/core/qgsogcutils.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,15 +1032,15 @@ QDomElement QgsOgcUtils::rectangleToGMLEnvelope( QgsRectangle* env, QDomDocument
10321032
QDomElement lowerCornerElem = doc.createElement( "gml:lowerCorner" );
10331033
posList = QString::number( env->xMinimum(), 'f', 8 ).remove( QRegExp( "[0]{1,7}$" ) );
10341034
posList += " ";
1035-
posList = QString::number( env->yMinimum(), 'f', 8 ).remove( QRegExp( "[0]{1,7}$" ) );
1035+
posList += QString::number( env->yMinimum(), 'f', 8 ).remove( QRegExp( "[0]{1,7}$" ) );
10361036
QDomText lowerCornerText = doc.createTextNode( posList );
10371037
lowerCornerElem.appendChild( lowerCornerText );
10381038
envElem.appendChild( lowerCornerElem );
10391039

10401040
QDomElement upperCornerElem = doc.createElement( "gml:upperCorner" );
10411041
posList = QString::number( env->xMaximum(), 'f', 8 ).remove( QRegExp( "[0]{1,7}$" ) );
10421042
posList += " ";
1043-
posList = QString::number( env->yMaximum(), 'f', 8 ).remove( QRegExp( "[0]{1,7}$" ) );
1043+
posList += QString::number( env->yMaximum(), 'f', 8 ).remove( QRegExp( "[0]{1,7}$" ) );
10441044
QDomText upperCornerText = doc.createTextNode( posList );
10451045
upperCornerElem.appendChild( upperCornerText );
10461046
envElem.appendChild( upperCornerElem );

‎src/mapserver/qgswfsserver.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,11 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
822822
req.setFilterRect( searchRect )
823823
.setFlags( QgsFeatureRequest::ExactIntersect | ( mWithGeom ? QgsFeatureRequest::NoFlags : QgsFeatureRequest::NoGeometry ) );
824824
}
825+
else
826+
{
827+
req.setFlags( QgsFeatureRequest::NoGeometry );
828+
mWithGeom = false;
829+
}
825830
QgsFeatureIterator fit = layer->getFeatures( req );
826831
QgsExpression *mFilter = new QgsExpression( expFilter );
827832
if ( mFilter->hasParserError() )
@@ -936,6 +941,11 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
936941
req.setFilterRect( searchRect )
937942
.setFlags( QgsFeatureRequest::ExactIntersect | ( mWithGeom ? QgsFeatureRequest::NoFlags : QgsFeatureRequest::NoGeometry ) );
938943
}
944+
else
945+
{
946+
req.setFlags( QgsFeatureRequest::NoGeometry );
947+
mWithGeom = false;
948+
}
939949
QgsFeatureIterator fit = layer->getFeatures( req );
940950
while ( fit.nextFeature( feature ) && featureCounter < maxFeat )
941951
{
@@ -967,9 +977,15 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
967977
req.setFilterRect( searchRect )
968978
.setFlags( QgsFeatureRequest::ExactIntersect | ( mWithGeom ? QgsFeatureRequest::NoFlags : QgsFeatureRequest::NoGeometry ) );
969979
}
980+
else
981+
{
982+
req.setFlags( QgsFeatureRequest::NoGeometry );
983+
mWithGeom = false;
984+
}
970985
QgsFeatureIterator fit = layer->getFeatures( req );
971986
while ( fit.nextFeature( feature ) && featureCounter < maxFeat )
972987
{
988+
mErrors << QString( "The feature %2 of layer for the TypeName '%1'" ).arg( tnStr ).arg( featureCounter );
973989
if ( featureCounter == 0 )
974990
startGetFeature( request, format, layerCrs, &searchRect );
975991

0 commit comments

Comments
 (0)
Please sign in to comment.