QGIS API Documentation  3.24.2-Tisler (13c1a02865)
qgswfsgetfeature.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgswfsgetfeature.h
3  -------------------------
4  begin : December 20 , 2016
5  copyright : (C) 2007 by Marco Hugentobler (original code)
6  (C) 2012 by RenĂ©-Luc D'Hont (original code)
7  (C) 2014 by Alessandro Pasotti (original code)
8  (C) 2017 by David Marteau
9  email : marco dot hugentobler at karto dot baug dot ethz dot ch
10  a dot pasotti at itopen dot it
11  david dot marteau at 3liz dot com
12  ***************************************************************************/
13 
14 /***************************************************************************
15  * *
16  * This program is free software; you can redistribute it and/or modify *
17  * it under the terms of the GNU General Public License as published by *
18  * the Free Software Foundation; either version 2 of the License, or *
19  * (at your option) any later version. *
20  * *
21  ***************************************************************************/
22 #ifndef QGSWFSGETFEATURE_H
23 #define QGSWFSGETFEATURE_H
24 
25 #include "qgswfsparameters.h"
26 
27 namespace QgsWfs
28 {
30  {
31  QString typeName;
32 
33  QString srsName;
34 
36 
37  QStringList serverFids;
38 
39  QStringList propertyList;
40  };
41 
43  {
45 
46  long startIndex;
47 
49 
50  QList< getFeatureQuery > queries;
51 
52  QString geometryName;
53  };
54 
58  void parseSortByElement( QDomElement &sortByElem, QgsFeatureRequest &featureRequest, const QString &typeName );
59 
63  getFeatureQuery parseQueryElement( QDomElement &queryElem, const QgsProject *project = nullptr );
64 
68  getFeatureRequest parseGetFeatureRequestBody( QDomElement &docElem, const QgsProject *project = nullptr );
69 
73  getFeatureRequest parseGetFeatureParameters( const QgsProject *project = nullptr );
74 
78  void writeGetFeature( QgsServerInterface *serverIface, const QgsProject *project,
79  const QString &version, const QgsServerRequest &request,
80  QgsServerResponse &response );
81 
82 } // namespace QgsWfs
83 
84 #endif
85 
This class wraps a request for features to a vector layer (or directly its vector data provider).
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:101
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins.
QgsServerRequest Class defining request interface passed to services QgsService::executeRequest() met...
QgsServerResponse Class defining response interface passed to services QgsService::executeRequest() m...
Format
Output format for the response.
WMS implementation.
Definition: qgswfs.cpp:36
getFeatureRequest parseGetFeatureRequestBody(QDomElement &docElem, const QgsProject *project)
Transform RequestBody root element to getFeatureRequest.
getFeatureQuery parseQueryElement(QDomElement &queryElem, const QgsProject *project)
Transform Query element to getFeatureQuery.
getFeatureRequest parseGetFeatureParameters(const QgsProject *project)
Transform parameters to getFeatureRequest.
void parseSortByElement(QDomElement &sortByElem, QgsFeatureRequest &featureRequest, const QString &typeName)
Add SortBy element to featureRequest.
void writeGetFeature(QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request, QgsServerResponse &response)
Output WFS GetFeature response.
const QString & typeName
QgsFeatureRequest featureRequest
QgsWfsParameters::Format outputFormat
QList< getFeatureQuery > queries