3D Tiles

specdraftimplproposal

Veröffentlichen von Geodaten als 3D Tiles.

Umfang

Der Baustein 3D Tiles fügt Unterstützung für 3D Tiles 1.1 für Feature Collections hinzu, die von ldproxy unter Verwendung des Bausteins Features - glTF kodiert werden können.

Dieser Baustein unterstützt glTF als Kachelformat und implizite Quadtree-Kachelung. Subtrees werden aus Gründen der Kompaktheit im Binärformat kodiert.

Die 3D-Kacheln können in einem Webbrowser mit Hilfe eines integrierten Cesium-Clients inspiziert werden.

Limitierungen

Siehe Features - glTF.

Darüber hinaus werden die folgenden Informationen in Subtrees nicht unterstützt: Eigenschaftstabellen (Property Tables), Kachel-Metadaten (Tile Metadata), Inhalts-Metadaten (Content Metadata) und Metadaten von Subtrees.

Konformitätsklassen

3D Tiles implementiert Unterstützung für den OGC Community Standard 3D Tiles 1.1open in new window. glTF ist das einzige unterstützte Kachelformat. Alle Kachelsätze verwenden implizite Quadtree-Kachelung.

Operationen

RessourcePfadMethodenFormateBeschreibung
3D Tiles Tileset
collections/{collectionId}/3dtiles
GET
Zugriff auf einen Kachelsatz gemäß 3D Tiles 1.1 mit impliziter Quadtree-Kachelung.
3D Tiles Subtree
collections/{collectionId}/3dtiles/subtree_{level}_{x}_{y}
GET
Zugriff auf eine 3D-Tiles 1.1 Subtree-Datei.
3D Tiles Content (glTF)
collections/{collectionId}/3dtiles/content_{level}_{x}_{y}
GET
Zugriff auf eine 3D-Tiles 1.1 Kachel-Datei im Format glTF 2.0.

Pfad-Parameter

NameRessourcenBeschreibung
collectionId
3D Tiles Tileset, Subtree, Content
Der Identifikator der Feature Collection.
level
3D Tiles Subtree, Content
Die Ebene des Subtree oder der Kachel.
x
3D Tiles Subtree, Content
Die Spalte des Subtree oder der Kachel.
y
3D Tiles Subtree, Content
Die Reihe des Subtree oder der Kachel.

Query Parameter

NameRessourcenBeschreibung
f
3D Tiles Tileset
Wählt das Ausgabeformat der Antwort. Wenn kein Wert angegeben wird, gelten die Standard-HTTP Regeln, d.h. der "Accept"-Header wird zur Bestimmung des Formats verwendet.

Konfiguration

Voraussetzungen

Der Baustein erfordert, dass der Feature Provider einen Typ "building" enthält. Die Anforderungen an den Typ sind dieselben wie in der Konfiguration der CityJSON-Kodierung.

Optionen

NameDefaultBeschreibungTypSeit
buildingBlock
Immer TILES3D.
string
v2.0
enabled
false
Soll der Baustein aktiviert werden?
boolean
v2.0
firstLevelWithContent
0
Die erste Ebene des Kachelsatzes, die Gebäude enthalten wird. Der Wert hängt von der räumlichen Ausdehnung des Datensatzes ab, d. h. davon, auf welcher Ebene des impliziten Kachelschemas große Gebäude dargestellt werden können.
number
v3.4
maxLevel
0
Die erste Ebene des Kachelsatzes, die Gebäude enthalten wird. Der Wert hängt von der räumlichen Ausdehnung des Datensatzes ab, d. h. davon, auf welcher Ebene des impliziten Kachelschemas große Gebäude dargestellt werden können.
number
v3.4
contentFilters
[]
Ein CQL2-Text-Filterausdruck für jede Ebene zwischen firstLevelWithContent und maxLevel zur Auswahl der Gebäude, die in die Kachel auf dieser Ebene aufgenommen werden sollen. Da die Verfeinerungsstrategieopen in new window immer ADD ist, geben Sie disjunkte Filterausdrücke an, sodass jedes Gebäude auf genau einer Ebene einbezogen wird.
array
v3.4
tileFilters
[ ... ]
Ein CQL2-Text-Filterausdruck für jede Ebene zwischen firstLevelWithContent und maxLevel zur Auswahl der Gebäude, die in die Kachel auf dieser Ebene aufgenommen werden sollen oder in eine Kachel auf den tieferen Ebenen. Dieser Filterausdruck ist derselbe wie alle contentFilters auf dieser oder tieferen Ebenen, kombiniert mit einem OR. Dies ist auch der Standardwert. Je nach den Filterausdrücken kann dies jedoch zu ineffizienten Kachelfiltern führen, und zur Verbesserung der Leistung können die Kachelfilter auch explizit angegeben werden.
array
v3.4
geometricErrorRoot
0
Der Fehler in Metern, der entsteht, wenn eine Kachel auf Ebene 0 (Root) gerendert wird, ihre Kinder auf Ebene 1 jedoch nicht. Zur Laufzeit wird der geometrische Fehler zur Berechnung des Bildschirmabstandsfehlers (SSE) verwendet, d. h. des in Pixeln gemessenen Fehlers.
number
v3.4
subtreeLevels
3
Die Anzahl der Ebenen in jedem Subtree.
number
v3.4
seeding
{}
Steuert wie und wann Kacheln vorberechnet werden, siehe Optionen für das Seeding im Tile-Provider "Features".
object
v3.4
clampToEllipsoid
false
Bei der Einstellung true wird jedes Gebäude vertikal so verschoben, dass der Boden des Gebäudes auf dem WGS 84-Ellipsoid liegt. Verwenden Sie diese Option, wenn die Daten ohne ein Geländemodell gerendert werden sollen.
boolean
v3.4
ionAccessToken
null
Wenn die 3D-Kacheln im integrierten Cesium-Client unter Verwendung des Geländemodells von Cesium Ion gerendert werden sollen, geben Sie das Zugriffstoken an, das in Anfragen verwendet werden soll.
string
v3.4
maptilerApiKey
null
Wenn die 3D-Kacheln im integrierten Cesium-Client unter Verwendung des Geländemodells von MapTiler gerendert werden sollen, geben Sie den API-Schlüssel an, der in Anfragen verwendet werden soll.
string
v3.4
customTerrainProviderUri
null
Wenn die 3D-Kacheln im integrierten Cesium-Client unter Verwendung des Geländemodells eines externen Terrain Anbieters gerendert werden sollen, geben Sie die URI des Providers an.
string
v3.4
terrainHeightDifference
0
Wenn das Gelände nicht mit den Höhenwerten in den Daten übereinstimmt, kann diese Option verwendet werden, um die Gebäude im integrierten Caesium-Client vertikal zu verschieben.
number
v3.4
style
DEFAULT
Ein Style im Style-Repository der Collection, der in Karten mit den 3D Tiles verwendet werden soll. Bei DEFAULT wird der defaultStyle aus dem HTML-Baustein verwendet. Bei NONE wird der Standard-Style von 3D Tiles verwendet. Der Style muss im Format 3D Tiles Styling verfügbar sein. Wird kein Style gefunden, wird NONE verwendet.
string
v2.0

Beispiele


- buildingBlock: TILES3D
  enabled: true
  maxLevel: 9
  firstLevelWithContent: 5
  contentFilters:
  - diameter3d("bbox")> 200
  - diameter3d("bbox")<=200 and diameter3d("bbox")> 100
  - diameter3d("bbox")<=100 and diameter3d("bbox")> 40
  - diameter3d("bbox")<=40 and diameter3d("bbox")> 18
  - diameter3d("bbox")<=18
  tileFilters:
  - true
  - diameter3d("bbox")<=200
  - diameter3d("bbox")<=100
  - diameter3d("bbox")<=40
  - diameter3d("bbox")<=18
  geometricErrorRoot: 8192
  clampToEllipsoid: true
  subtreeLevels: 3
  seeding:
    runOnStartup: true
    runPeriodic: false
    purge: false
    maxThreads: 4