Skip To Content ArcGIS for Developers Sign In Dashboard

WfsFeatureTable Class

class Esri::ArcGISRuntime::WfsFeatureTable

A table in an OGC Web Feature Service. More...

Header: #include <WfsFeatureTable>
Since: Esri::ArcGISRuntime 100.5
Inherits: Esri::ArcGISRuntime::FeatureTable

This class was introduced in Esri::ArcGISRuntime 100.5.

Public Functions

WfsFeatureTable(const QUrl &url, const QString &tableName, QObject *parent = nullptr)
WfsFeatureTable(const Esri::ArcGISRuntime::WfsLayerInfo &layerInfo, QObject *parent = nullptr)
virtual ~WfsFeatureTable() override
Esri::ArcGISRuntime::OgcAxisOrder axisOrder() const
Esri::ArcGISRuntime::FeatureRequestMode featureRequestMode() const
Esri::ArcGISRuntime::OgcAxisOrder filterAxisOrder() const
Esri::ArcGISRuntime::WfsLayerInfo layerInfo() const
Esri::ArcGISRuntime::TaskWatcher populateFromService(const Esri::ArcGISRuntime::QueryParameters &parameters, bool clearCache, const QStringList &outfields)
Esri::ArcGISRuntime::TaskWatcher populateFromService(const QString &xmlRequest, bool clearCache)
Esri::ArcGISRuntime::SpatialReference preferredSpatialReference() const
void setAxisOrder(Esri::ArcGISRuntime::OgcAxisOrder axisOrder)
void setFeatureRequestMode(Esri::ArcGISRuntime::FeatureRequestMode featureRequestMode)
void setFilterAxisOrder(Esri::ArcGISRuntime::OgcAxisOrder filterAxisOrder)
void setPreferredSpatialReference(const Esri::ArcGISRuntime::SpatialReference &preferredSpatialReference)
QUrl url() const

Signals

void populateFromServiceCompleted(QUuid taskId, Esri::ArcGISRuntime::FeatureQueryResult *featureQueryResult)

Detailed Description

Member Function Documentation

WfsFeatureTable::WfsFeatureTable(const QUrl &url, const QString &tableName, QObject *parent = nullptr)

Constructor that takes a url, tableName, and an optional parent.

WfsFeatureTable::WfsFeatureTable(const Esri::ArcGISRuntime::WfsLayerInfo &layerInfo, QObject *parent = nullptr)

Constructor that takes a layerInfo and an optional parent.

[signal] void WfsFeatureTable::populateFromServiceCompleted(QUuid taskId, Esri::ArcGISRuntime::FeatureQueryResult *featureQueryResult)

Signal emitted when a populateFromService method has completed.

  • taskId - The task ID for the asynchronous operation.
  • featureQueryResult - The result of the populate operation.

The returned FeatureQueryResult object has the WfsFeatureTable as its parent.

See also Returned QObjects Parenting.

[override virtual] WfsFeatureTable::~WfsFeatureTable()

Destructor

Esri::ArcGISRuntime::OgcAxisOrder WfsFeatureTable::axisOrder() const

Returns the axis order, which defines how coordinates are interpreted.

See also setAxisOrder.

Esri::ArcGISRuntime::FeatureRequestMode WfsFeatureTable::featureRequestMode() const

Returns the FeatureRequestMode of the WfsFeatureTable.

See also setFeatureRequestMode.

Esri::ArcGISRuntime::OgcAxisOrder WfsFeatureTable::filterAxisOrder() const

Returns the axis order of the filter.

See also setFilterAxisOrder.

Esri::ArcGISRuntime::WfsLayerInfo WfsFeatureTable::layerInfo() const

Returns the WFS layer metadata, which includes name and description.

Esri::ArcGISRuntime::TaskWatcher WfsFeatureTable::populateFromService(const Esri::ArcGISRuntime::QueryParameters &parameters, bool clearCache, const QStringList &outfields)

Populate the table using a query.

Specifying an empty QueryParameters for parameters will result in requesting all features. Specifying an empty list for outfields will result in the default set of outfields being used. WFS is only compatible with a subset of possible queries defined by QueryParameters. The where clause only works when the table is backed by a service powered by GeoServer. Spatial queries (those that specify geometries) must use the Intersects spatial relationship.

If clearCache is true, the existing table data is cleared before populating with the query result.

Esri::ArcGISRuntime::TaskWatcher WfsFeatureTable::populateFromService(const QString &xmlRequest, bool clearCache)

Populate the table using an XML query.

  • xmlRequest - The XML query string.
  • clearCache - when true, the existing table data is cleared before populating with the query result.

The XML query must be made against the same feature type represented by the WFS feature table. The schema of the query result must match or be a subset of the schema of the table. The XML query string must be an XML-encoded GetFeature request.

Esri::ArcGISRuntime::SpatialReference WfsFeatureTable::preferredSpatialReference() const

Returns the preferred spatial reference of the WFS feature table.

See also setPreferredSpatialReference.

void WfsFeatureTable::setAxisOrder(Esri::ArcGISRuntime::OgcAxisOrder axisOrder)

Sets the axis order to axisOrder.

Some WFS services return coordinates in (X,Y) order, while others use (Y,X). Setting this property to OgcAxisOrder::Swap will result in all coordinates in geometries being swapped from what was sent by the server. Setting to OgsAxisOrder::NoSwap will cause coordinates to be interpreted as-is. AxisOrder can be changed on an already-loaded table, but that change will only affect future calls to populateFromService. Features that are already in the table will not be modified.

Defaults to OgcAxisOrder::Auto. In this mode, Runtime will make its best guess using heuristics that are optimized for good results with most popular WFS servers.

See also axisOrder().

void WfsFeatureTable::setFeatureRequestMode(Esri::ArcGISRuntime::FeatureRequestMode featureRequestMode)

Sets the FeatureRequestMode of the WfsFeatureTable to featureRequestMode.

Note: Your code must set this to FeatureRequestMode::ManualCache before the table is loaded. FeatureRequestMode::ManualCache is the only mode supported in the current release. The default value of FeatureRequestMode::OnInteractionCache will be supported in a future release and will continue to be the default value.

See also featureRequestMode().

void WfsFeatureTable::setFilterAxisOrder(Esri::ArcGISRuntime::OgcAxisOrder filterAxisOrder)

Sets the axis order of the filter to filterAxisOrder.

Axis order determines how geometry coordinates are ordered when sent to the server as part of spatial queries.

Some WFS services expect coordinates to be sent in (X,Y) order, while others use (Y,X). Use OgcAxisOrder::Swap to send coordinates in (Y,X) order. Use OgcAxisOrder::NoSwap to send coordinates in (X,Y) order.

Defaults to OgcAxisOrder::Auto.

See also filterAxisOrder().

void WfsFeatureTable::setPreferredSpatialReference(const Esri::ArcGISRuntime::SpatialReference &preferredSpatialReference)

Sets the preferred spatial reference of the WFS feature table to preferredSpatialReference.

If the preferred spatial reference isn't available from the service, the table will fail to load. Specify a preferred spatial reference that matches the map or scene's spatial reference to avoid automatic reprojection. The preferred spatial reference cannot be changed on a loaded table.

See also preferredSpatialReference().

QUrl WfsFeatureTable::url() const

Returns the URL of the WFS feature table.


Feedback on this topic?