ImagingTools Core SDK
CDeviceMapClusterCollectionControllerComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4#include <QtPositioning/QGeoCoordinate>
5#include <QJsonObject>
6
7
8// ImtCore includes
9#include <imtservergql/CObjectCollectionControllerCompBase.h>
10
11
12namespace imtgeo
13{
14
15
16class CDeviceMapClusterCollectionControllerComp: public imtservergql::CObjectCollectionControllerCompBase
17{
18public:
19 typedef imtservergql::CObjectCollectionControllerCompBase BaseClass;
20
21 I_BEGIN_COMPONENT(CDeviceMapClusterCollectionControllerComp);
22 I_END_COMPONENT;
23
24protected:
25 // reimplemented (imtservergql::CObjectCollectionControllerCompBase)
26 virtual QVariant GetObjectInformation(const QByteArray& informationId, const QByteArray& objectId) const override;
27 virtual QJsonObject GetMetaInfo(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
28 virtual QJsonObject ListObjects(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
29 int long2tilex(double lon, int z) const;
30 int lat2tiley(double lat, int z) const;
31 double tilex2long(int x, int z) const;
32 double tiley2lat(int y, int z) const;
33
34 QList<QPair<QPair<int, int>, int>> getTileSet(QGeoCoordinate coordLeftTop, QGeoCoordinate coordRightBottom, int z) const;
35 QPair<QPair<int, int>, int> getTile(QGeoCoordinate coord, int z) const;
36};
37
38
39} // namespace imtgeo
40
41
42