32 #include <QDomElement> 33 #include <QStringList> 81 const QString& geometryAttribute,
83 AxisOrientationLogic axisOrientationLogic = Honour_EPSG_if_urn,
84 bool invertAxisOrientation =
false );
90 AxisOrientationLogic axisOrientationLogic = Honour_EPSG_if_urn,
91 bool invertAxisOrientation =
false );
100 bool processData(
const QByteArray& data,
bool atEnd );
161 void startElement(
const XML_Char* el,
const XML_Char** attr );
162 void endElement(
const XML_Char* el );
163 void characters(
const XML_Char* chars,
int len );
164 static void start(
void* data,
const XML_Char* el,
const XML_Char** attr )
168 static void end(
void* data,
const XML_Char* el )
172 static void chars(
void* data,
const XML_Char* chars,
int len )
187 int readEpsgFromAttribute(
int& epsgNr,
const XML_Char** attr );
193 QString readAttribute(
const QString& attributeName,
const XML_Char** attr )
const;
220 int createMultiLineFromFragments();
221 int createMultiPointFromFragments();
222 int createPolygonFromFragments();
223 int createMultiPolygonFromFragments();
225 int totalWKBFragmentSize()
const;
228 ParseMode modeStackTop() {
return mParseModeStack.isEmpty() ? none : mParseModeStack.top(); }
231 ParseMode modeStackPop() {
return mParseModeStack.isEmpty() ? none : mParseModeStack.pop(); }
246 const char* mTypeNamePtr;
247 size_t mTypeNameUTF8Len;
256 const char* mGeometryAttributePtr;
257 size_t mGeometryAttributeUTF8Len;
264 bool mTruncatedResponse;
267 int mFeatureTupleDepth;
280 bool mBoundedByNullFound;
306 const char* mGMLNameSpaceURIPtr;
308 AxisOrientationLogic mAxisOrientationLogic;
310 bool mInvertAxisOrientationRequest;
312 bool mInvertAxisOrientation;
318 std::string mGeometryString;
320 bool mFoundUnhandledGeometryElement;
335 const QString& geometryAttribute,
351 int getFeatures(
const QString& uri,
378 void handleProgressEvent( qint64 progress, qint64 totalSteps );
381 void dataReadProgress(
int progress );
382 void totalStepsUpdate(
int totalSteps );
384 void dataProgressAndSteps(
int progress,
int totalSteps );
393 void calculateExtentFromFeatures();
395 void fillMapsFromParser();
const QString & srsName() const
Return the value of the srsName attribute.
int getEPSGCode() const
Return the EPSG code, or 0 if unknown.
A rectangle specified with double values.
AxisOrientationLogic
Axis orientation logic.
int numberReturned() const
Return WFS 2.0 "numberReturned" or WFS 1.1 "numberOfFeatures" attribute, or -1 if invalid/not found...
int numberMatched() const
Return WFS 2.0 "numberMatched" attribute, or -1 if invalid/not found.
Container of fields for a vector layer.
WkbType
Used for symbology operations.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
bool isException() const
Return whether the document parser is a OGC exception.
This class reads data from a WFS server or alternatively from a GML file.
QMap< QgsFeatureId, QgsFeature *> featuresMap() const
Get parsed features for given type name.
QMap< QgsFeatureId, QString > idsMap() const
Get feature ids map.
Honour EPSG axis order only if srsName is of the form urn:ogc:def:crs:EPSG:
QPair< QgsFeature *, QString > QgsGmlFeaturePtrGmlIdPair
LayerProperties()
Constructor.
A class to represent a point.
QString mGeometryAttribute
Geometry attribute name.
const QgsRectangle & layerExtent() const
Return layer bounding box.
bool isTruncatedResponse() const
Return whether a "truncatedResponse" element is found.
Class for storing a coordinate reference system (CRS)
const QString & exceptionText() const
Return the exception text.
QGis::WkbType wkbType() const
Return the geometry type.
This class builds features from GML data in a streaming way.