QGIS API Documentation 3.41.0-Master (45a0abf3bec)
|
This class builds features from GML data in a streaming way. More...
#include <qgsgml.h>
Classes | |
class | LayerProperties |
Layer properties. More... | |
Public Types | |
enum | AxisOrientationLogic { Honour_EPSG_if_urn , Honour_EPSG , Ignore_EPSG } |
Axis orientation logic. More... | |
typedef QPair< QgsFeature *, QString > | QgsGmlFeaturePtrGmlIdPair |
Public Member Functions | |
QgsGmlStreamingParser (const QgsGmlStreamingParser &other)=delete | |
QgsGmlStreamingParser (const QList< LayerProperties > &layerProperties, const QgsFields &fields, const QMap< QString, QPair< QString, QString > > &fieldNameToSrcLayerNameFieldNameMap, AxisOrientationLogic axisOrientationLogic=Honour_EPSG_if_urn, bool invertAxisOrientation=false) | |
Constructor for a join layer, or dealing with renamed fields. | |
QgsGmlStreamingParser (const QString &typeName, const QString &geometryAttribute, const QgsFields &fields, AxisOrientationLogic axisOrientationLogic=Honour_EPSG_if_urn, bool invertAxisOrientation=false) | |
Constructor. | |
~QgsGmlStreamingParser () | |
QString | exceptionText () const |
Returns the exception text. | |
QVector< QgsGmlFeaturePtrGmlIdPair > | getAndStealReadyFeatures () |
Returns the list of features that have been completely parsed. | |
int | getEPSGCode () const |
Returns the EPSG code, or 0 if unknown. | |
bool | isException () const |
Returns whether the document parser is a OGC exception. | |
bool | isTruncatedResponse () const |
Returns whether a "truncatedResponse" element is found. | |
const QgsRectangle & | layerExtent () const |
Returns layer bounding box. | |
int | numberMatched () const |
Returns WFS 2.0 "numberMatched" attribute, or -1 if invalid/not found. | |
int | numberReturned () const |
Returns WFS 2.0 "numberReturned" or WFS 1.1 "numberOfFeatures" attribute, or -1 if invalid/not found. | |
QgsGmlStreamingParser & | operator= (const QgsGmlStreamingParser &other)=delete |
bool | processData (const QByteArray &data, bool atEnd) |
Process a new chunk of data. | |
bool | processData (const QByteArray &data, bool atEnd, QString &errorMsg) |
Process a new chunk of data. | |
void | setFieldsXPath (const QMap< QString, QPair< QString, bool > > &fieldNameToSrcLayerNameFieldNameMap, const QMap< QString, QString > &namespacePrefixToURIMap) |
Define the XPath of the attributes and whether they are made of nested content. | |
QString | srsName () const |
Returns the value of the srsName attribute. | |
Qgis::WkbType | wkbType () const |
Returns the geometry type. | |
This class builds features from GML data in a streaming way.
The caller must call processData() as soon it has new content from the source. At any point, it can call getAndStealReadyFeatures() to collect the features that have been completely parsed.
typedef QPair<QgsFeature *, QString> QgsGmlStreamingParser::QgsGmlFeaturePtrGmlIdPair |
QgsGmlStreamingParser::QgsGmlStreamingParser | ( | const QString & | typeName, |
const QString & | geometryAttribute, | ||
const QgsFields & | fields, | ||
AxisOrientationLogic | axisOrientationLogic = Honour_EPSG_if_urn , |
||
bool | invertAxisOrientation = false |
||
) |
Constructor.
Definition at line 282 of file qgsgml.cpp.
QgsGmlStreamingParser::QgsGmlStreamingParser | ( | const QList< LayerProperties > & | layerProperties, |
const QgsFields & | fields, | ||
const QMap< QString, QPair< QString, QString > > & | fieldNameToSrcLayerNameFieldNameMap, | ||
AxisOrientationLogic | axisOrientationLogic = Honour_EPSG_if_urn , |
||
bool | invertAxisOrientation = false |
||
) |
Constructor for a join layer, or dealing with renamed fields.
Definition at line 344 of file qgsgml.cpp.
QgsGmlStreamingParser::~QgsGmlStreamingParser | ( | ) |
Definition at line 436 of file qgsgml.cpp.
|
delete |
|
inline |
QVector< QgsGmlStreamingParser::QgsGmlFeaturePtrGmlIdPair > QgsGmlStreamingParser::getAndStealReadyFeatures | ( | ) |
Returns the list of features that have been completely parsed.
This can be called at any point. This will empty the list maintained internally by the parser, so that features already returned will no longer be returned by later calls.
Definition at line 506 of file qgsgml.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
bool QgsGmlStreamingParser::processData | ( | const QByteArray & | data, |
bool | atEnd | ||
) |
Process a new chunk of data.
atEnd must be set to true
when this is the last chunk of data.
Definition at line 450 of file qgsgml.cpp.
bool QgsGmlStreamingParser::processData | ( | const QByteArray & | data, |
bool | atEnd, | ||
QString & | errorMsg | ||
) |
Process a new chunk of data.
atEnd must be set to true
when this is the last chunk of data.
Definition at line 461 of file qgsgml.cpp.
void QgsGmlStreamingParser::setFieldsXPath | ( | const QMap< QString, QPair< QString, bool > > & | fieldNameToSrcLayerNameFieldNameMap, |
const QMap< QString, QString > & | namespacePrefixToURIMap | ||
) |
Define the XPath of the attributes and whether they are made of nested content.
Also provides a map from namespace prefix to namespace URI, to help decoding the XPath.
Definition at line 423 of file qgsgml.cpp.
|
inline |
|
inline |