QGIS API Documentation  3.8.0-Zanzibar (11aff65)
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, const QgsProject *project = nullptr );
64 
65  // Define namespaces used in WFS documents
66  const QString WFS_NAMESPACE = QStringLiteral( "http://www.opengis.net/wfs" );
67  const QString GML_NAMESPACE = QStringLiteral( "http://www.opengis.net/gml" );
68  const QString OGC_NAMESPACE = QStringLiteral( "http://www.opengis.net/ogc" );
69  const QString QGS_NAMESPACE = QStringLiteral( "http://www.qgis.org/gml" );
70 
71  // Define clean tagName regExp
72  const QRegExp cleanTagNameRegExp( "(?![\\w\\d\\.-])." );
73 
74 } // namespace QgsWfs
75 
76 #endif
77 
78 
Base class for all map layer types.
Definition: qgsmaplayer.h:78
const QString QGS_NAMESPACE
Definition: qgswfsutils.h:69
QgsVectorLayer * layerByTypeName(const QgsProject *project, const QString &typeName)
Retrieve a layer by typename.
Definition: qgswfsutils.cpp:80
QString layerTypeName(const QgsMapLayer *layer)
Returns typename from vector layer.
Definition: qgswfsutils.cpp:71
QString serviceUrl(const QgsServerRequest &request, const QgsProject *project)
Service URL string.
Definition: qgswfsutils.cpp:37
const QString & typeName
WMS implementation.
Definition: qgswfs.cpp:35
const QString GML_NAMESPACE
Definition: qgswfsutils.h:67
This class wraps a request for features to a vector layer (or directly its vector data provider)...
const QString WFS_NAMESPACE
Definition: qgswfsutils.h:66
QgsFeatureRequest parseFilterElement(const QString &typeName, QDomElement &filterElem, const QgsProject *project)
Transform a Filter element to a feature request.
Reads and writes project states.
Definition: qgsproject.h:89
QString implementationVersion()
Returns the highest version supported by this implementation.
Definition: qgswfsutils.cpp:32
const QString OGC_NAMESPACE
Definition: qgswfsutils.h:68
QgsServerRequest Class defining request interface passed to services QgsService::executeRequest() met...
const QRegExp cleanTagNameRegExp("(?![\\\-]).")
Represents a vector layer which manages a vector based data sets.