QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgswfsutils.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgswfsutils.h
3 
4  Define WFS service utility functions
5  ------------------------------------
6  begin : December 20 , 2016
7  copyright : (C) 2007 by Marco Hugentobler ( parts from qgswfshandler)
8  (C) 2012 by RenĂ©-Luc D'Hont ( parts from qgswmshandler)
9  (C) 2014 by Alessandro Pasotti ( parts from qgswfshandler)
10  (C) 2017 by David Marteau
11  email : marco dot hugentobler at karto dot baug dot ethz dot ch
12  a dot pasotti at itopen dot it
13  david dot marteau at 3liz dot com
14  ***************************************************************************/
15 
16 /***************************************************************************
17  * *
18  * This program is free software; you can redistribute it and/or modify *
19  * it under the terms of the GNU General Public License as published by *
20  * the Free Software Foundation; either version 2 of the License, or *
21  * (at your option) any later version. *
22  * *
23  ***************************************************************************/
24 #ifndef QGSWFSUTILS_H
25 #define QGSWFSUTILS_H
26 
27 #include "qgsmodule.h"
28 #include "qgsfeaturerequest.h"
29 #include "qgswfsserviceexception.h"
30 
36 namespace QgsWfs
38 {
39 
43  QString implementationVersion();
44 
48  QString serviceUrl( const QgsServerRequest &request, const QgsProject *project );
49 
53  QString layerTypeName( const QgsMapLayer *layer );
54 
58  QgsVectorLayer *layerByTypeName( const QgsProject *project, const QString &typeName );
59 
63  QgsFeatureRequest parseFilterElement( const QString &typeName, QDomElement &filterElem, QgsProject *project = nullptr );
64 
68  QgsFeatureRequest parseFilterElement( const QString &typeName, QDomElement &filterElem, QStringList &serverFids, const QgsProject *project = nullptr, const QgsMapLayer *layer = nullptr );
69 
70  // Define namespaces used in WFS documents
71  const QString WFS_NAMESPACE = QStringLiteral( "http://www.opengis.net/wfs" );
72  const QString GML_NAMESPACE = QStringLiteral( "http://www.opengis.net/gml" );
73  const QString OGC_NAMESPACE = QStringLiteral( "http://www.opengis.net/ogc" );
74  const QString QGS_NAMESPACE = QStringLiteral( "http://www.qgis.org/gml" );
75 
76  // Define clean tagName regExp
77  const QRegExp cleanTagNameRegExp( "(?![\\w\\d\\.-])." );
78 
79 } // namespace QgsWfs
80 
81 #endif
82 
83 
qgsfeaturerequest.h
QgsWfs::parseFilterElement
QgsFeatureRequest parseFilterElement(const QString &typeName, QDomElement &filterElem, QgsProject *project)
Transform a Filter element to a feature request.
Definition: qgswfsutils.cpp:103
QgsWfs::layerByTypeName
QgsVectorLayer * layerByTypeName(const QgsProject *project, const QString &typeName)
Retrieve a layer by typename.
Definition: qgswfsutils.cpp:80
QgsWfs::layerTypeName
QString layerTypeName(const QgsMapLayer *layer)
Returns typename from vector layer.
Definition: qgswfsutils.cpp:71
QgsServerRequest
QgsServerRequest Class defining request interface passed to services QgsService::executeRequest() met...
Definition: qgsserverrequest.h:39
QgsWfs::serviceUrl
QString serviceUrl(const QgsServerRequest &request, const QgsProject *project)
Service URL string.
Definition: qgswfsutils.cpp:37
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:95
QgsWfs::WFS_NAMESPACE
const QString WFS_NAMESPACE
Definition: qgswfsutils.h:71
QgsFeatureRequest
This class wraps a request for features to a vector layer (or directly its vector data provider).
Definition: qgsfeaturerequest.h:76
QgsWfs::GML_NAMESPACE
const QString GML_NAMESPACE
Definition: qgswfsutils.h:72
QgsWfs::OGC_NAMESPACE
const QString OGC_NAMESPACE
Definition: qgswfsutils.h:73
QgsWfs
WMS implementation.
Definition: qgswfs.cpp:36
typeName
const QString & typeName
Definition: qgswfsgetfeature.cpp:55
QgsWfs::implementationVersion
QString implementationVersion()
Returns the highest version supported by this implementation.
Definition: qgswfsutils.cpp:32
QgsWfs::cleanTagNameRegExp
const QRegExp cleanTagNameRegExp("(?![\\w\\d\\.-]).")
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition: qgsvectorlayer.h:387
QgsMapLayer
Base class for all map layer types.
Definition: qgsmaplayer.h:83
qgsmodule.h
qgswfsserviceexception.h
QgsWfs::QGS_NAMESPACE
const QString QGS_NAMESPACE
Definition: qgswfsutils.h:74