3D Tilesspecdraftimplproposal
Veröffentlichen von Geodaten als 3D Tiles.
Umfang
Das Modul 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.1. glTF ist das einzige unterstützte Kachelformat. Alle Kachelsätze verwenden implizite Quadtree-Kachelung.
Operationen
Ressource | Pfad | Methoden | Formate | Beschreibung |
---|---|---|---|---|
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
Name | Ressourcen | Beschreibung |
---|---|---|
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
Name | Ressourcen | Beschreibung |
---|---|---|
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
Das Modul 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
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
buildingBlock | Immer TILES3D . | string | v2.0 | |
extensionType | Deprecated Siehe buildingBlock . | string | v2.0 | |
enabled | false | Soll das Modul 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 Verfeinerungsstrategie 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 Modul Tiles. | 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 Modul HTML 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