Cesium for Unreal 2.15.0
Loading...
Searching...
No Matches
CesiumWebMapTileServiceRasterOverlay.h
Go to the documentation of this file.
1// Copyright 2020-2024 CesiumGS, Inc. and Contributors
2
3#pragma once
4
6#include "Components/ActorComponent.h"
7#include "CoreMinimal.h"
8#include "CesiumWebMapTileServiceRasterOverlay.generated.h"
9
10/**
11 * Specifies the type of projection used for projecting a Web Map Tile Service
12 * raster overlay.
13 */
14UENUM(BlueprintType)
16 /**
17 * The raster overlay is projected using Web Mercator.
18 */
20
21 /**
22 * The raster overlay is projected using a geographic projection.
23 */
25};
26
27/**
28 * A raster overlay that directly accesses a Web Map Tile Service (WMTS) server.
29 * If you're using a Web Map Tile Service via Cesium ion, use the "Cesium ion
30 * Raster Overlay" component instead.
31 */
32UCLASS(ClassGroup = Cesium, meta = (BlueprintSpawnableComponent))
34 : public UCesiumRasterOverlay {
35 GENERATED_BODY()
36
37public:
38 /**
39 * The base URL of the Web Map Tile Service (WMTS).
40 * This URL should not include query parameters. For example:
41 * https://tile.openstreetmap.org/{TileMatrix}/{TileCol}/{TileRow}.png
42 */
43 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
44 FString BaseUrl;
45
46 /**
47 * The layer name for WMTS requests.
48 */
49 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
50 FString Layer;
51
52 /**
53 * The style name for WMTS requests.
54 */
55 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
56 FString Style;
57
58 /**
59 * The MIME type for images to retrieve from the server.
60 */
61 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
62 FString Format = "image/jpeg";
63
64 /**
65 * The tile matrix set identifier for WMTS requests.
66 */
67 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
69
70 /**
71 * The prefix to use for the tile matrix set labels. For instance, setting
72 * "EPSG:4326:" as prefix generates label list ["EPSG:4326:0", "EPSG:4326:1",
73 * "EPSG:4326:2", ...]
74 * Only applicable when "Specify Tile Matrix Set Labels" is false.
75 */
76 UPROPERTY(
77 EditAnywhere,
78 BlueprintReadWrite,
79 Category = "Cesium",
80 meta = (EditCondition = "!bSpecifyTileMatrixSetLabels"))
82
83 /**
84 * Set this to true to specify tile matrix set labels manually. If false, the
85 * labels will be constructed from the specified levels and prefix (if one is
86 * specified).
87 */
88 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
90
91 /**
92 * The manually specified tile matrix set labels.
93 *
94 * Only applicable when "Specify Tile Matrix Set Labels" is true.
95 */
96 UPROPERTY(
97 EditAnywhere,
98 BlueprintReadWrite,
99 Category = "Cesium",
100 meta = (EditCondition = "bSpecifyTileMatrixSetLabels"))
101 TArray<FString> TileMatrixSetLabels;
102
103 UPROPERTY(
104 meta =
105 (DeprecatedProperty, DeprecationMessage = "Use Projection instead."))
107
108 /**
109 * The type of projection used to project the WMTS imagery onto the globe.
110 * For instance, EPSG:4326 uses geographic projection and EPSG:3857 uses Web
111 * Mercator.
112 */
113 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
116
117 /**
118 * Set this to true to specify the quadtree tiling scheme according to the
119 * specified root tile numbers and projected bounding rectangle. If false, the
120 * tiling scheme will be deduced from the projection.
121 */
122 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
124
125 /**
126 * The number of tiles corresponding to TileCol, also known as
127 * TileMatrixWidth. If specified, this determines the number of tiles at the
128 * root of the quadtree tiling scheme in the X direction.
129 *
130 * Only applicable if "Specify Tiling Scheme" is set to true.
131 */
132 UPROPERTY(
133 EditAnywhere,
134 BlueprintReadWrite,
135 Category = "Cesium",
136 meta = (EditCondition = "bSpecifyTilingScheme", ClampMin = 1))
137 int32 RootTilesX = 1;
138
139 /**
140 * The number of tiles corresponding to TileRow, also known as
141 * TileMatrixHeight. If specified, this determines the number of tiles at the
142 * root of the quadtree tiling scheme in the Y direction.
143 *
144 * Only applicable if "Specify Tiling Scheme" is set to true.
145 */
146 UPROPERTY(
147 EditAnywhere,
148 BlueprintReadWrite,
149 Category = "Cesium",
150 meta = (EditCondition = "bSpecifyTilingScheme", ClampMin = 1))
151 int32 RootTilesY = 1;
152
153 /**
154 * The west boundary of the bounding rectangle used for the quadtree tiling
155 * scheme. Specified in longitude degrees in the range [-180, 180].
156 *
157 * Only applicable if "Specify Tiling Scheme" is set to true.
158 */
159 UPROPERTY(
160 Category = "Cesium",
161 EditAnywhere,
162 BlueprintReadWrite,
163 meta =
164 (EditCondition = "bSpecifyTilingScheme",
165 ClampMin = -180.0,
166 ClampMax = 180.0))
167 double RectangleWest = -180;
168
169 /**
170 * The south boundary of the bounding rectangle used for the quadtree tiling
171 * scheme. Specified in latitude degrees in the range [-90, 90].
172 *
173 * Only applicable if "Specify Tiling Scheme" is set to true.
174 */
175 UPROPERTY(
176 Category = "Cesium",
177 Category = "Cesium",
178 EditAnywhere,
179 BlueprintReadWrite,
180 meta =
181 (EditCondition = "bSpecifyTilingScheme",
182 ClampMin = -90.0,
183 ClampMax = 90.0))
184 double RectangleSouth = -90;
185
186 /**
187 * The east boundary of the bounding rectangle used for the quadtree tiling
188 * scheme. Specified in longitude degrees in the range [-180, 180].
189 *
190 * Only applicable if "Specify Tiling Scheme" is set to true.
191 */
192 UPROPERTY(
193 Category = "Cesium",
194 EditAnywhere,
195 BlueprintReadWrite,
196 meta =
197 (EditCondition = "bSpecifyTilingScheme",
198 ClampMin = -180.0,
199 ClampMax = 180.0))
200 double RectangleEast = 180;
201
202 /**
203 * The north boundary of the bounding rectangle used for the quadtree tiling
204 * scheme. Specified in latitude degrees in the range [-90, 90].
205 *
206 * Only applicable if "Specify Tiling Scheme" is set to true.
207 */
208 UPROPERTY(
209 Category = "Cesium",
210 EditAnywhere,
211 BlueprintReadWrite,
212 meta =
213 (EditCondition = "bSpecifyTilingScheme",
214 ClampMin = -90.0,
215 ClampMax = 90.0))
216 double RectangleNorth = 90;
217
218 /**
219 * Set this to true to directly specify the minimum and maximum zoom levels
220 * available from the server. If false, the minimum and maximum zoom levels
221 * will be retrieved from the server's tilemapresource.xml file.
222 */
223 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
224 bool bSpecifyZoomLevels = false;
225
226 /**
227 * Minimum zoom level.
228 *
229 * Take care when specifying this that the number of tiles at the minimum
230 * level is small, such as four or less. A larger number is likely to result
231 * in rendering problems.
232 */
233 UPROPERTY(
234 EditAnywhere,
235 BlueprintReadWrite,
236 Category = "Cesium",
237 meta = (EditCondition = "bSpecifyZoomLevels", ClampMin = 0))
238 int32 MinimumLevel = 0;
239
240 /**
241 * Maximum zoom level.
242 */
243 UPROPERTY(
244 EditAnywhere,
245 BlueprintReadWrite,
246 Category = "Cesium",
247 meta = (EditCondition = "bSpecifyZoomLevels", ClampMin = 0))
248 int32 MaximumLevel = 25;
249
250 /**
251 * The pixel width of the image tiles.
252 */
253 UPROPERTY(
254 EditAnywhere,
255 BlueprintReadWrite,
256 Category = "Cesium",
257 meta = (ClampMin = 64, ClampMax = 2048))
258 int32 TileWidth = 256;
259
260 /**
261 * The pixel height of the image tiles.
262 */
263 UPROPERTY(
264 EditAnywhere,
265 BlueprintReadWrite,
266 Category = "Cesium",
267 meta = (ClampMin = 64, ClampMax = 2048))
268 int32 TileHeight = 256;
269
270 /**
271 * HTTP headers to be attached to each request made for this raster overlay.
272 */
273 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
274 TMap<FString, FString> RequestHeaders;
275
276 virtual void Serialize(FArchive& Ar) override;
277
278protected:
279 virtual std::unique_ptr<CesiumRasterOverlays::RasterOverlay> CreateOverlay(
280 const CesiumRasterOverlays::RasterOverlayOptions& options = {}) override;
281};
@ WebMercator
The raster overlay is projected using Web Mercator.
@ Geographic
The raster overlay is projected using a geographic projection.
ECesiumWebMapTileServiceRasterOverlayProjection
Specifies the type of projection used for projecting a Web Map Tile Service raster overlay.
@ WebMercator
The raster overlay is projected using Web Mercator.
A raster overlay that directly accesses a Web Map Tile Service (WMTS) server.
bool bSpecifyTileMatrixSetLabels
Set this to true to specify tile matrix set labels manually.
FString TileMatrixSetLabelPrefix
The prefix to use for the tile matrix set labels.
FString Style
The style name for WMTS requests.
FString Format
The MIME type for images to retrieve from the server.
int32 TileHeight
The pixel height of the image tiles.
int32 RootTilesX
The number of tiles corresponding to TileCol, also known as TileMatrixWidth.
double RectangleWest
The west boundary of the bounding rectangle used for the quadtree tiling scheme.
bool bSpecifyTilingScheme
Set this to true to specify the quadtree tiling scheme according to the specified root tile numbers a...
bool bSpecifyZoomLevels
Set this to true to directly specify the minimum and maximum zoom levels available from the server.
TArray< FString > TileMatrixSetLabels
The manually specified tile matrix set labels.
virtual std::unique_ptr< CesiumRasterOverlays::RasterOverlay > CreateOverlay(const CesiumRasterOverlays::RasterOverlayOptions &options={}) override
int32 TileWidth
The pixel width of the image tiles.
FString Layer
The layer name for WMTS requests.
virtual void Serialize(FArchive &Ar) override
FString BaseUrl
The base URL of the Web Map Tile Service (WMTS).
double RectangleSouth
The south boundary of the bounding rectangle used for the quadtree tiling scheme.
double RectangleEast
The east boundary of the bounding rectangle used for the quadtree tiling scheme.
TMap< FString, FString > RequestHeaders
HTTP headers to be attached to each request made for this raster overlay.
int32 RootTilesY
The number of tiles corresponding to TileRow, also known as TileMatrixHeight.
double RectangleNorth
The north boundary of the bounding rectangle used for the quadtree tiling scheme.
FString TileMatrixSetID
The tile matrix set identifier for WMTS requests.
ECesiumWebMapTileServiceRasterOverlayProjection Projection
The type of projection used to project the WMTS imagery onto the globe.
STL namespace.