Skip to content

Commit 5288fdb

Browse files
committed
docs
1 parent eb3374b commit 5288fdb

File tree

8 files changed

+106
-166
lines changed

8 files changed

+106
-166
lines changed

xtraplatform-tiles/src/main/java/de/ii/xtraplatform/tiles/domain/TilesetMbTiles.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public interface TilesetMbTiles extends TilesetCommon, Buildable<TilesetMbTiles>
3131
Optional<LonLat> getCenter();
3232

3333
/**
34-
* @langEn Filename of the MBTiles file in the `api-resources/tiles` directory.
35-
* @langDe Dateiname der MBTiles-Datei im Verzeichnis `api-resources/tiles`.
34+
* @langEn Filename of the MBTiles file in the store under `resources/tiles` directory.
35+
* @langDe Dateiname der MBTiles-Datei im Store unter `resources/tiles`.
3636
* @default null
3737
* @since v3.4
3838
*/

xtraplatform-tiles3d/src/main/java/de/ii/xtraplatform/tiles3d/app/Tile3dProviderFeatures.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@
2828
import de.ii.xtraplatform.tiles.domain.Cache.Storage;
2929
import de.ii.xtraplatform.tiles.domain.Cache.Type;
3030
import de.ii.xtraplatform.tiles.domain.ImmutableCache;
31-
import de.ii.xtraplatform.tiles.domain.ImmutableSeedingOptions;
3231
import de.ii.xtraplatform.tiles.domain.MinMax;
33-
import de.ii.xtraplatform.tiles.domain.SeedingOptions;
3432
import de.ii.xtraplatform.tiles.domain.TileCache;
3533
import de.ii.xtraplatform.tiles.domain.TileGenerationParameters;
3634
import de.ii.xtraplatform.tiles.domain.TileMatrixSet;
@@ -41,6 +39,8 @@
4139
import de.ii.xtraplatform.tiles.domain.TileSeeding;
4240
import de.ii.xtraplatform.tiles.domain.TileSubMatrix;
4341
import de.ii.xtraplatform.tiles.domain.TileWalker;
42+
import de.ii.xtraplatform.tiles3d.domain.ImmutableSeedingOptions3d;
43+
import de.ii.xtraplatform.tiles3d.domain.SeedingOptions3d;
4444
import de.ii.xtraplatform.tiles3d.domain.Tile3dAccess;
4545
import de.ii.xtraplatform.tiles3d.domain.Tile3dBuilder;
4646
import de.ii.xtraplatform.tiles3d.domain.Tile3dCoordinates;
@@ -233,8 +233,8 @@ public Optional<Blob> getFile(Tile3dQuery tileQuery) throws IOException {
233233
}
234234

235235
@Override
236-
public SeedingOptions getOptions() {
237-
return getData().getSeeding().orElseGet(() -> new ImmutableSeedingOptions.Builder().build());
236+
public SeedingOptions3d getOptions() {
237+
return getData().getSeeding().orElseGet(() -> new ImmutableSeedingOptions3d.Builder().build());
238238
}
239239

240240
@Override
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* Copyright 2025 interactive instruments GmbH
3+
*
4+
* This Source Code Form is subject to the terms of the Mozilla Public
5+
* License, v. 2.0. If a copy of the MPL was not distributed with this
6+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
7+
*/
8+
package de.ii.xtraplatform.tiles3d.domain;
9+
10+
import com.fasterxml.jackson.annotation.JsonIgnore;
11+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
12+
import de.ii.xtraplatform.tiles.domain.SeedingOptions;
13+
import javax.annotation.Nullable;
14+
import org.immutables.value.Value;
15+
16+
/**
17+
* @langEn ### Seeding
18+
* <p>Controls how and when caches are computed.
19+
* @langDe ### Seeding
20+
* <p>Steuert wie und wann Caches berechnet werden.
21+
*/
22+
@Value.Immutable
23+
@Value.Style(builder = "new")
24+
@JsonDeserialize(builder = ImmutableSeedingOptions3d.Builder.class)
25+
public interface SeedingOptions3d extends SeedingOptions {
26+
27+
@JsonIgnore
28+
@Nullable
29+
@Override
30+
Integer getMaxThreads();
31+
32+
/**
33+
* @langEn The maximum number of tiles in a seeding job (S=1, M=4, L=16, XL=64). The tile seeding
34+
* is split into multiple jobs to distribute the work across threads and nodes.
35+
* @langDe Die maximale Anzahl an Tiles in einem Seeding-Job (S=1, M=4, L=16, XL=64). Das Seeding
36+
* wird in mehrere Jobs aufgeteilt, um die Arbeit auf Threads und Knoten zu verteilen.
37+
* @default M
38+
*/
39+
@Nullable
40+
@Override
41+
JobSize getJobSize();
42+
}

xtraplatform-tiles3d/src/main/java/de/ii/xtraplatform/tiles3d/domain/Tile3dProviderData.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,30 +17,28 @@
1717
import java.util.Map;
1818

1919
/**
20-
* @langEn # Tiles
21-
* <p>There are currently three types of Tile providers:
20+
* @langEn # 3D Tiles
21+
* <p>There are currently two types of 3D Tiles providers:
2222
* <p><code>
2323
* - [Features](10-features.md): The tiles are derived from a feature provider.
24-
* - [MbTiles](30-mbtiles.md): The tiles are retrieved from one or more MBTiles files.
25-
* - [HTTP](60-http.md): The tiles are retrieved via HTTP, e.g. from a TileServer GL instance.
24+
* - [Files](20-files.md): The tiles are retrieved from the store.
2625
* </code>
2726
* <p>## Configuration
2827
* <p>These are common configuration options for all provider types.
2928
* <p>{@docTable:cfgProperties}
3029
* @langDe # Tiles
31-
* <p>Es werden aktuell drei Arten von Tile-Providern unterstützt:
30+
* <p>Es werden aktuell zwei Arten von 3D Tile-Providern unterstützt:
3231
* <p><code>
3332
* - [Features](10-features.md): Die Kacheln werden aus einem Feature-Provider abgeleitet.
34-
* - [MbTiles](30-mbtiles.md): Die Kacheln liegen in einer oder mehreren MBTiles-Dateien vor.
35-
* - [HTTP](60-http.md): Die Kacheln werden via HTTP abgerufen, z.B. von einer TileServer GL Instanz.
33+
* - [Files](20-files.md): Die Kacheln liegen im Store vor.
3634
* </code>
3735
* <p>## Konfiguration
3836
* <p>Dies sind gemeinsame Konfigurations-Optionen für alle Provider-Typen.
3937
* <p>{@docTable:cfgProperties}
4038
* @ref:cfgProperties {@link de.ii.xtraplatform.tiles3d.domain.ImmutableTile3dProviderCommonData}
4139
*/
4240
@DocFile(
43-
path = "providers/3dtile",
41+
path = "providers/tile3d",
4442
name = "README.md",
4543
tables = {
4644
@DocTable(
@@ -73,14 +71,14 @@ public interface Tile3dProviderData extends ProviderData {
7371
/**
7472
* @langEn Defaults for all `tilesets`.
7573
* @langDe Defaults für alle `tilesets`.
76-
* @since v3.4
74+
* @since v4.6
7775
*/
7876
Tileset3dCommonDefaults getTilesetDefaults();
7977

8078
/**
8179
* @langEn Definition of tilesets.
8280
* @langDe Definition von Tilesets.
83-
* @since v3.4
81+
* @since v4.6
8482
* @default {}
8583
*/
8684
Map<String, ? extends Tileset3dCommon> getTilesets();

xtraplatform-tiles3d/src/main/java/de/ii/xtraplatform/tiles3d/domain/Tile3dProviderFeaturesData.java

Lines changed: 32 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,9 @@
1414
import de.ii.xtraplatform.docs.DocTable;
1515
import de.ii.xtraplatform.docs.DocTable.ColumnSet;
1616
import de.ii.xtraplatform.docs.DocVar;
17-
import de.ii.xtraplatform.entities.domain.AutoEntity;
1817
import de.ii.xtraplatform.entities.domain.EntityDataBuilder;
1918
import de.ii.xtraplatform.entities.domain.EntityDataDefaults;
2019
import de.ii.xtraplatform.entities.domain.maptobuilder.BuildableMap;
21-
import de.ii.xtraplatform.tiles.domain.Cache;
22-
import de.ii.xtraplatform.tiles.domain.SeedingOptions;
23-
import de.ii.xtraplatform.tiles.domain.WithCaches;
24-
import java.util.List;
2520
import java.util.Map;
2621
import java.util.Optional;
2722
import javax.annotation.Nullable;
@@ -30,88 +25,64 @@
3025
/**
3126
* # Features
3227
*
33-
* @langEn In this tile provider, the tiles in Mapbox Vector Tiles format are derived from a
34-
* [Feature Provider](../feature/README.md). Additionally, raster tiles in PNG format can be
35-
* derived from the vector tiles using [xtratiler](../../tools/xtratiler/README.md).
28+
* @langEn In this 3D tile provider, the 3D Tiles 1.1 in glTF format are derived from a [Feature
29+
* Provider](../feature/README.md).
3630
* <p>## Configuration
3731
* <p>{@docTable:properties}
3832
* <p>{@docVar:tilesetDefaults}
3933
* <p>{@docTable:tilesetDefaults}
4034
* <p>{@docVar:tileset}
4135
* <p>{@docTable:tileset}
42-
* <p>{@docVar:rasterTileset}
43-
* <p>{@docTable:rasterTileset}
44-
* <p>{@docVar:cache}
45-
* <p>{@docTable:cache}
4636
* <p>{@docVar:seeding}
4737
* <p>{@docTable:seeding}
4838
* <p>## Example
4939
* <p>{@docVar:examples}
50-
* @langDe Bei diesem Tile-Provider werden die Kacheln im Format Mapbox Vector Tiles aus einem
51-
* [Feature Provider](../feature/README.md) abgeleitet. Zusätzlich können Raster-Kacheln im
52-
* PNG-Format aus den Vektor-Kacheln mit [xtratiler](../../tools/xtratiler/README.md) abgeleitet
53-
* werden.
40+
* @langDe Bei diesem 3D Tile-Provider werden die 3D Tiles 1.1 im Format glTF aus einem [Feature
41+
* Provider](../feature/README.md) abgeleitet.
5442
* <p>## Konfiguration
5543
* <p>{@docTable:properties}
5644
* <p>{@docVar:tilesetDefaults}
5745
* <p>{@docTable:tilesetDefaults}
5846
* <p>{@docVar:tileset}
5947
* <p>{@docTable:tileset}
60-
* <p>{@docVar:rasterTileset}
61-
* <p>{@docTable:rasterTileset}
62-
* <p>{@docVar:cache}
63-
* <p>{@docTable:cache}
6448
* <p>{@docVar:seeding}
6549
* <p>{@docTable:seeding}
6650
* <p>## Beispiel
6751
* <p>{@docVar:examples}
68-
* @ref:cfgProperties {@link de.ii.xtraplatform.tiles.domain.ImmutableTileProviderFeaturesData}
69-
* @ref:tilesetDefaults {@link de.ii.xtraplatform.tiles.domain.TilesetFeaturesDefaults}
52+
* @ref:cfgProperties {@link de.ii.xtraplatform.tiles3d.domain.ImmutableTile3dProviderFeaturesData}
53+
* @ref:tilesetDefaults {@link de.ii.xtraplatform.tiles3d.domain.Tileset3dFeaturesDefaults}
7054
* @ref:tilesetDefaultsTable {@link
71-
* de.ii.xtraplatform.tiles.domain.ImmutableTilesetFeaturesDefaults}
72-
* @ref:tileset {@link de.ii.xtraplatform.tiles.domain.TilesetFeatures}
73-
* @ref:tilesetTable {@link de.ii.xtraplatform.tiles.domain.ImmutableTilesetFeatures}
74-
* @ref:rasterTileset {@link de.ii.xtraplatform.tiles.domain.TilesetRaster}
75-
* @ref:rasterTilesetTable {@link de.ii.xtraplatform.tiles.domain.ImmutableTilesetRaster}
76-
* @ref:seeding {@link de.ii.xtraplatform.tiles.domain.SeedingOptions}
77-
* @ref:seedingTable {@link de.ii.xtraplatform.tiles.domain.ImmutableSeedingOptions}
78-
* @ref:cache {@link de.ii.xtraplatform.tiles.domain.Cache}
79-
* @ref:cacheTable {@link de.ii.xtraplatform.tiles.domain.ImmutableCache}
55+
* de.ii.xtraplatform.tiles3d.domain.ImmutableTileset3dFeaturesDefaults}
56+
* @ref:tileset {@link de.ii.xtraplatform.tiles3d.domain.Tileset3dFeatures}
57+
* @ref:tilesetTable {@link de.ii.xtraplatform.tiles3d.domain.ImmutableTileset3dFeatures}
58+
* @ref:seeding {@link de.ii.xtraplatform.tiles3d.domain.SeedingOptions3d}
59+
* @ref:seedingTable {@link de.ii.xtraplatform.tiles3d.domain.ImmutableSeedingOptions3d}
8060
* @examplesAll <code>
8161
* ```yaml
82-
* id: vineyards-tiles
83-
* providerType: TILE
62+
* id: cologne_lod2-3dtiles
63+
* providerType: 3DTILE
8464
* providerSubType: FEATURES
85-
* caches:
86-
* - type: IMMUTABLE
87-
* storage: MBTILES
88-
* levels:
89-
* WebMercatorQuad:
90-
* min: 5
91-
* max: 12
92-
* - type: DYNAMIC
93-
* storage: MBTILES
94-
* seeded: false
95-
* levels:
96-
* WebMercatorQuad:
97-
* min: 13
98-
* max: 18
65+
* seeding:
66+
* runOnStartup: true
67+
* purge: true
68+
* jobSize: S
9969
* tilesetDefaults:
100-
* levels:
101-
* WebMercatorQuad:
102-
* min: 5
103-
* max: 18
70+
* featureProvider: cologne_lod2
71+
* clampToEllipsoid: true
10472
* tilesets:
105-
* __all__:
106-
* id: __all__
107-
* combine: ['*']
108-
* vineyards:
109-
* id: vineyards
73+
* building:
74+
* id: building
75+
* featureType: building
76+
* geometricErrorRoot: 4096.0
77+
* subtreeLevels: 3
78+
* contentLevels:
79+
* min: 2
80+
* max: 2
11081
* ```
11182
* </code>
11283
*/
11384
@DocFile(
114-
path = "providers/tile",
85+
path = "providers/tile3d",
11586
name = "10-features.md",
11687
tables = {
11788
@DocTable(
@@ -135,27 +106,13 @@
135106
@DocStep(type = Step.JSON_PROPERTIES)
136107
},
137108
columnSet = ColumnSet.JSON_PROPERTIES),
138-
@DocTable(
139-
name = "rasterTileset",
140-
rows = {
141-
@DocStep(type = Step.TAG_REFS, params = "{@ref:rasterTilesetTable}"),
142-
@DocStep(type = Step.JSON_PROPERTIES)
143-
},
144-
columnSet = ColumnSet.JSON_PROPERTIES),
145109
@DocTable(
146110
name = "seeding",
147111
rows = {
148112
@DocStep(type = Step.TAG_REFS, params = "{@ref:seedingTable}"),
149113
@DocStep(type = Step.JSON_PROPERTIES)
150114
},
151115
columnSet = ColumnSet.JSON_PROPERTIES),
152-
@DocTable(
153-
name = "cache",
154-
rows = {
155-
@DocStep(type = Step.TAG_REFS, params = "{@ref:cacheTable}"),
156-
@DocStep(type = Step.JSON_PROPERTIES)
157-
},
158-
columnSet = ColumnSet.JSON_PROPERTIES),
159116
},
160117
vars = {
161118
@DocVar(
@@ -170,34 +127,19 @@
170127
@DocStep(type = Step.TAG_REFS, params = "{@ref:tileset}"),
171128
@DocStep(type = Step.TAG, params = "{@bodyBlock}")
172129
}),
173-
@DocVar(
174-
name = "rasterTileset",
175-
value = {
176-
@DocStep(type = Step.TAG_REFS, params = "{@ref:rasterTileset}"),
177-
@DocStep(type = Step.TAG, params = "{@bodyBlock}")
178-
}),
179130
@DocVar(
180131
name = "seeding",
181132
value = {
182133
@DocStep(type = Step.TAG_REFS, params = "{@ref:seeding}"),
183134
@DocStep(type = Step.TAG, params = "{@bodyBlock}")
184135
}),
185-
@DocVar(
186-
name = "cache",
187-
value = {
188-
@DocStep(type = Step.TAG_REFS, params = "{@ref:cache}"),
189-
@DocStep(type = Step.TAG, params = "{@bodyBlock}")
190-
}),
191136
@DocVar(
192137
name = "examples",
193-
value = {
194-
// @DocStep(type = Step.TAG_REFS, params = "{@ref:cfg}"),
195-
@DocStep(type = Step.TAG, params = "{@examples}")
196-
}),
138+
value = {@DocStep(type = Step.TAG, params = "{@examples}")}),
197139
})
198140
@Value.Immutable
199141
@JsonDeserialize(builder = ImmutableTile3dProviderFeaturesData.Builder.class)
200-
public interface Tile3dProviderFeaturesData extends Tile3dProviderData, WithCaches, AutoEntity {
142+
public interface Tile3dProviderFeaturesData extends Tile3dProviderData {
201143

202144
String PROVIDER_SUBTYPE = "FEATURES";
203145
String ENTITY_SUBTYPE = String.format("%s/%s", PROVIDER_TYPE, PROVIDER_SUBTYPE).toLowerCase();
@@ -209,44 +151,20 @@ public interface Tile3dProviderFeaturesData extends Tile3dProviderData, WithCach
209151
@Override
210152
String getProviderSubType();
211153

212-
@Override
213-
Optional<Boolean> getAuto();
214-
215-
/**
216-
* @langEn Defaults for all `tilesets`, see [Tileset Defaults](#tileset-defaults).
217-
* @langDe Defaults für alle `tilesets`, siehe [Tileset Defaults](#tileset-defaults).
218-
* @since v3.4
219-
*/
220154
@Nullable
221155
@Override
222156
Tileset3dFeaturesDefaults getTilesetDefaults();
223157

224-
/**
225-
* @langEn Definition of tilesets, see [Tileset](#tileset).
226-
* @langDe Definition von Tilesets, see [Tileset](#tileset).
227-
* @since v3.4
228-
* @default {}
229-
*/
230158
@Override
231159
BuildableMap<Tileset3dFeatures, ImmutableTileset3dFeatures.Builder> getTilesets();
232160

233-
/**
234-
* @langEn List of cache definitions, see [Cache](#cache).
235-
* @langDe Liste von Cache-Definitionen, siehe [Cache](#cache).
236-
* @since v3.4
237-
* @default []
238-
*/
239-
@Override
240-
List<Cache> getCaches();
241-
242161
/**
243162
* @langEn Controls how and when tiles are precomputed, see [Seeding](#seeding).
244163
* @langDe Steuert wie und wann Kacheln vorberechnet werden, siehe [Seeding](#seeding).
245-
* @since v3.4
164+
* @since v4.6
246165
* @default {}
247166
*/
248-
@Override
249-
Optional<SeedingOptions> getSeeding();
167+
Optional<SeedingOptions3d> getSeeding();
250168

251169
abstract class Builder
252170
extends Tile3dProviderData.Builder<ImmutableTile3dProviderFeaturesData.Builder>

0 commit comments

Comments
 (0)