29QgsSensorThingsRootItem::QgsSensorThingsRootItem(
QgsDataItem *parent, QString name, QString path )
33 mIconName = QStringLiteral(
"mIconSensorThings.svg" );
37QVector<QgsDataItem *> QgsSensorThingsRootItem::createChildren()
39 QVector<QgsDataItem *> connections;
41 for (
const QString &connName : connectionList )
43 QgsDataItem *conn =
new QgsSensorThingsConnectionItem(
this, connName, mPath +
'/' + connName );
44 connections.append( conn );
53QgsSensorThingsConnectionItem::QgsSensorThingsConnectionItem(
QgsDataItem *parent,
const QString &name,
const QString &path )
57 mIconName = QStringLiteral(
"mIconConnect.svg" );
64bool QgsSensorThingsConnectionItem::equal(
const QgsDataItem *other )
66 const QgsSensorThingsConnectionItem *o = qobject_cast<const QgsSensorThingsConnectionItem *>( other );
67 return ( type() == other->
type() && o && mPath == o->mPath && mName == o->mName );
70QVector<QgsDataItem *> QgsSensorThingsConnectionItem::createChildren()
72 QVector<QgsDataItem *> children;
77 QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY, uri );
91 QVariantMap entityUriParts = connectionUriParts;
96 children.append(
new QgsSensorThingsEntityContainerItem(
this,
100 QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY, entityUriParts ) ) );
104 children.append(
new QgsSensorThingsLayerEntityItem(
this,
108 QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY, entityUriParts ),
109 QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY,
122QgsSensorThingsEntityContainerItem::QgsSensorThingsEntityContainerItem(
QgsDataItem *parent,
const QString &name,
const QString &path,
const QString &entityUri )
124 , mEntityUri( entityUri )
130bool QgsSensorThingsEntityContainerItem::equal(
const QgsDataItem *other )
132 const QgsSensorThingsEntityContainerItem *o = qobject_cast<const QgsSensorThingsEntityContainerItem *>( other );
133 return ( type() == other->
type() && o && mPath == o->mPath && mName == o->mName );
136QVector<QgsDataItem *> QgsSensorThingsEntityContainerItem::createChildren()
138 QVector<QgsDataItem *> children;
141 QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY, mEntityUri );
152 QVariantMap geometryUriParts = entityUriParts;
158 geometryUriParts.insert( QStringLiteral(
"geometryType" ), QStringLiteral(
"point" ) );
159 name = tr(
"Points" );
163 geometryUriParts.insert( QStringLiteral(
"geometryType" ), QStringLiteral(
"multipoint" ) );
164 name = tr(
"MultiPoints" );
168 geometryUriParts.insert( QStringLiteral(
"geometryType" ), QStringLiteral(
"line" ) );
169 name = tr(
"Lines" );
173 geometryUriParts.insert( QStringLiteral(
"geometryType" ), QStringLiteral(
"polygon" ) );
174 name = tr(
"Polygons" );
180 children.append(
new QgsSensorThingsLayerEntityItem(
this,
184 QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY, geometryUriParts ),
185 QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY,
187 children.last()->setSortKey( sortKey++ );
197QgsSensorThingsLayerEntityItem::QgsSensorThingsLayerEntityItem(
QgsDataItem *parent, QString name, QString path,
const QString &encodedUri,
const QString &provider,
Qgis::BrowserLayerType type )
198 :
QgsLayerItem( parent, name, path, encodedUri, type, provider )
207QString QgsSensorThingsDataItemProvider::name()
209 return QStringLiteral(
"SensorThings" );
212QString QgsSensorThingsDataItemProvider::dataProviderKey()
const
214 return QStringLiteral(
"sensorthings" );
217Qgis::DataItemProviderCapabilities QgsSensorThingsDataItemProvider::capabilities()
const
222QgsDataItem *QgsSensorThingsDataItemProvider::createDataItem(
const QString &path,
QgsDataItem *parentItem )
224 if ( path.isEmpty() )
225 return new QgsSensorThingsRootItem( parentItem, QObject::tr(
"SensorThings" ), QStringLiteral(
"sensorthings:" ) );
@ NetworkSources
Network/internet source.
@ Populated
Children created.
@ Collapse
The collapse/expand status for this items children should be ignored in order to avoid undesired netw...
@ Fast
CreateChildren() is fast enough to be run in main thread when refreshing items, most root items (wms,...
SensorThingsEntity
OGC SensorThings API entity types.
@ Sensor
A Sensor is an instrument that observes a property or phenomenon with the goal of producing an estima...
@ ObservedProperty
An ObservedProperty specifies the phenomenon of an Observation.
@ FeatureOfInterest
In the context of the Internet of Things, many Observations’ FeatureOfInterest can be the Location of...
@ Datastream
A Datastream groups a collection of Observations measuring the same ObservedProperty and produced by ...
@ Observation
An Observation is the act of measuring or otherwise determining the value of a property.
@ Location
A Location entity locates the Thing or the Things it associated with. A Thing’s Location entity is de...
@ Thing
A Thing is an object of the physical world (physical things) or the information world (virtual things...
@ HistoricalLocation
A Thing’s HistoricalLocation entity set provides the times of the current (i.e., last known) and prev...
BrowserLayerType
Browser item layer types.
@ Point
Vector point layer.
@ Polygon
Vector polygon layer.
@ TableLayer
Vector non-spatial layer.
WkbType
The WKB type describes the number of dimensions a geometry has.
@ MultiPolygon
MultiPolygon.
@ MultiLineString
MultiLineString.
A Collection that represents a root group of connections from a single data provider.
A Collection: logical collection of layers or subcollections, e.g.
Base class for all items in the model.
Qgis::BrowserItemType type() const
Item that represents a layer that can be opened with one of the providers.
QVariantMap decodeUri(const QString &providerKey, const QString &uri)
Breaks a provider data source URI into its component paths (e.g.
static QgsProviderRegistry * instance(const QString &pluginPath=QString())
Means of accessing canonical single instance.
static QString encodedLayerUri(const Data &data)
Returns connection data encoded as a string containing a URI for a SensorThings vector data provider.
static QStringList connectionList()
Returns a list of the stored connection names.
static Data connection(const QString &name)
Returns connection details for the stored connection with the specified name.
static QString displayString(Qgis::SensorThingsEntity type, bool plural=false)
Converts a Qgis::SensorThingsEntity type to a user-friendly translated string.
static bool entityTypeHasGeometry(Qgis::SensorThingsEntity type)
Returns true if the specified entity type can have geometry attached.
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Represents decoded data of a SensorThings connection.