feat: 3D-Gebaeude Layer (OSM Buildings via Cesium Ion)

- Weltweite 3D-Gebaeude mit Hoehen aus OpenStreetMap
- Farbcodiert: Militaer (rot), Industrie (orange), Regierung (blau), Rest (grau)
- Toggle in Gruppe INFRASTRUKTUR
- Kostenlos via Cesium Ion OSM Buildings Tileset

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-03-27 22:19:30 +01:00
Ursprung 1d64ad8d1f
Commit 6c86ee5e3f
4 geänderte Dateien mit 41 neuen und 1 gelöschten Zeilen

Datei anzeigen

@@ -0,0 +1,36 @@
/**
* 3D-Gebaeude-Layer: OpenStreetMap Buildings via Cesium Ion.
* Zeigt weltweite 3D-Gebaeude mit Hoehen aus OSM-Daten.
*/
const BuildingsLayer = {
_viewer: null,
_tileset: null,
start: function(viewer) {
if (this._tileset) return;
this._viewer = viewer;
var self = this;
Cesium.createOsmBuildingsAsync().then(function(tileset) {
if (!self._viewer) return;
self._tileset = tileset;
self._tileset.style = new Cesium.Cesium3DTileStyle({
color: {
conditions: [
["${feature['building']} === 'military'", "color('#ff2222', 0.7)"],
["${feature['building']} === 'industrial'", "color('#ff8800', 0.6)"],
["${feature['building']} === 'government' || ${feature['building']} === 'public'", "color('#4488ff', 0.6)"],
["true", "color('#88aacc', 0.45)"],
],
},
});
self._viewer.scene.primitives.add(self._tileset);
});
},
stop: function() {
if (this._tileset && this._viewer) {
this._viewer.scene.primitives.remove(this._tileset);
this._tileset = null;
}
},
};