// update cesium Container Width to fit the Web Frame after document ready $(document).ready(function () { // $("#cesiumContainer").css("width", "auto"); $('#loading').hide(); // $( window ).resize(function() { // $("#cesiumContainer").css("width", "auto"); // }); }); // set the Cesium ION token Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkZTkyOTcyNC0yMGFkLTQ2ZjktODA5YS0xYjY1N2QwM2Y2ZmMiLCJpZCI6NDM2NDUsImlhdCI6MTYxMjkyNDgwNX0.12Xvbhtt_c2Y2RGA6J_J906Vdn1iOKZKPur0SASh-gk'; var viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider: Cesium.createWorldTerrain(), baseLayerPicker: false, vrButton: false, geocoder: true, navigationHelpButton: false, selectionIndicator: true, shadows: false, timeline: false, sceneModePicker: false, homeButton: false, fullscreenButton: true, infoBox: true, imageryProvider: new Cesium.MapboxStyleImageryProvider({ // check style ID at https://docs.mapbox.com/api/maps/styles/ // styleId: 'dark-v10', styleId: 'light-v10', // styleId: 'navigation-day-v1', accessToken: 'pk.eyJ1IjoidGh1bnlhdGhlcCIsImEiOiJjamFpOWV4a2gxd21vMndxdXd2M3VoY3hmIn0.jLlCscei0yH-ZHwcfxF_ug' }) // terrainExaggeration: 1.5, }); var tileset = viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ url: Cesium.IonResource.fromAssetId(75343), }) ); viewer.camera.setView({"destination":{"x":4123560.966179314,"y":707228.713304919,"z":4798899.985567952},"orientation":{"direction":{"x":-0.9622773420432754,"y":0.19744630073107838,"z":0.18718246530522495},"up":{"x":0.23048908682520655,"y":0.22606307618215207,"z":0.946451407332434}}}) // binding full screen button $("#full-screen-button").click(function () { Cesium.Fullscreen.requestFullscreen(document.body) }) var building_style = [] var addBuilding = function () { try { tileset_3Dbuildings = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: 'https://steinbeis-3dps.eu/3DGeoVolumes/collections/schwabisch_hall_city/tileset.json', maximumScreenSpaceError: 8 // default value })); } catch (err) { console.log('-> add 3DTiles failed!\n' + err); } tileset_3Dbuildings.readyPromise.then(function () { var boundingSphere = tileset_3Dbuildings.boundingSphere; var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center); var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0); var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 50); var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3()); tileset_3Dbuildings.modelMatrix = Cesium.Matrix4.fromTranslation(translation); }); // Styling the 3d model building_style["AllWhite"] = new Cesium.Cesium3DTileStyle({ pointSize: '3.0', show: true, color: "color('#ffffff')" }); building_style["HeatDemand"] = new Cesium.Cesium3DTileStyle({ pointSize: '3.0', show: true, color: { "conditions" : [ // ["${Total_Yealy_Heat_DHW_Demand} == 0", "color('#fff')"], ["${Total_Yealy_Heat_DHW_Demand} === 0", "color('#ffffff',0)"], ["${Total_Yealy_Heat_DHW_Demand} < 10937", "color('#bcbddc')"], ["${Total_Yealy_Heat_DHW_Demand} < 12884", "color('#9e9ac8')"], ["${Total_Yealy_Heat_DHW_Demand} < 12884", "color('#807dba')"], ["${Total_Yealy_Heat_DHW_Demand} < 20673", "color('#6a51a3')"], ["${Total_Yealy_Heat_DHW_Demand} < 22620", "color('#6a51a3')"], ["${Total_Yealy_Heat_DHW_Demand} < 24568", "color('#54278f')"], ["true", "color('#3f007d', 0.5)"] ] } }); building_style["PVPotential"] = new Cesium.Cesium3DTileStyle({ pointSize: '3.0', show: true, color: { "conditions" : [ ["${PV_Potential_Yield} === 0", "color('#ffffff',0)"], ["${PV_Potential_Yield} < 5615", "color('#c7e9c0')"], ["${PV_Potential_Yield} < 6615", "color('#a1d99b')"], ["${PV_Potential_Yield} < 7615", "color('#74c476')"], ["${PV_Potential_Yield} < 8615", "color('#41ab5d')"], ["${PV_Potential_Yield} < 9615", "color('#238b45')"], ["${PV_Potential_Yield} < 10615", "color('#006d2c')"], ["true", "color('#00441b', 0.5)"] ] } }); building_style["ElecDemand"] = new Cesium.Cesium3DTileStyle({ pointSize: '3.0', show: true, color: { "conditions" : [ ["${Electric_Demand} === 0", "color('#ffffff',0)"], ["${Electric_Demand} < 3229", "color('#feedde')"], ["${Electric_Demand} < 4229", "color('#fdd0a2')"], ["${Electric_Demand} < 5229", "color('#fdae6b')"], ["${Electric_Demand} < 6229", "color('#fd8d3c')"], ["${Electric_Demand} < 7229", "color('#e6550d')"], ["true", "color('#a63603', 0.5)"] ] } }); tileset_3Dbuildings.style = building_style["AllWhite"]; }; addBuilding(); // adding input to the menu var layerIsLoaded = [] var layerIsLoadedFirstTime = [] var promise = [] var datasources = [] var datasource = [] // for (i = 0; i < geoJSONLayer.length; i++) { // var layerName = geoJSONLayer[i] // var htmlInput = ` // // //
// ` // layerIsLoadedFirstTime[layerName] = false // $("#inputContainer").append(htmlInput); // } // $(`.GeoJSONlayerCheckbox`).click(function () { // var layerName = $(this).attr('id') // if (!layerIsLoadedFirstTime[layerName]) { // var pathName = `../data/geojson/${layerName}.geojson` // if (geoJSONLayerStyle.hasOwnProperty(layerName)) { // promise[layerName] = Cesium.GeoJsonDataSource.load(pathName, geoJSONLayerStyle[layerName]); // } else { // promise[layerName] = Cesium.GeoJsonDataSource.load(pathName); // } // // if // promise[layerName] // .then(function (dataSource) { // datasource[layerName] = dataSource // layerIsLoadedFirstTime[layerName] = true // datasources[layerName] = viewer.dataSources.add(dataSource); // var layerEntities = datasource[layerName].entities.values; // for (var i = 0; i < layerEntities.length; i++) { // var entity = layerEntities[i]; // entity.name = layerName // } // viewer.flyTo(dataSource) // fly to dataSource after loading // // more info https://sandcastle.cesium.com/index.html?src=GeoJSON%2520and%2520TopoJSON.html // // more info https://cesium.com/docs/tutorials/cesium-workshop/ // }) // .otherwise(function (error) { // //Display any errrors encountered while loading. // window.alert(error); // }); // } else if (this.checked && layerIsLoadedFirstTime[layerName]) { // viewer.dataSources.add(datasource[layerName]); // } else { // viewer.dataSources.remove(datasource[layerName]); // } // }); //time management Date.prototype.toIsoString_Start = function () { var tzo = -this.getTimezoneOffset(), dif = tzo >= 0 ? '+' : '-', pad = function (num) { var norm = Math.floor(Math.abs(num)); return (norm < 10 ? '0' : '') + norm; }; return this.getFullYear() + '-' + pad(this.getMonth() + 1) + '-' + pad(this.getDate()) + 'T' + '08:00:00Z' } Date.prototype.toIsoString_Stop = function () { var tzo = -this.getTimezoneOffset(), dif = tzo >= 0 ? '+' : '-', pad = function (num) { var norm = Math.floor(Math.abs(num)); return (norm < 10 ? '0' : '') + norm; }; return this.getFullYear() + '-' + pad(this.getMonth() + 1) + '-' + pad(this.getDate()) + 'T' + '23:00:00Z' } var dateEvent = new Date() var startTime = dateEvent.toIsoString_Start(); var stopTime = dateEvent.toIsoString_Stop(); viewer.clock.currentTime = Cesium.JulianDate.fromIso8601(startTime); $('#BuildingStyleSelector').on('change', function () { // alert(this.value); tileset_3Dbuildings.style = building_style[this.value]; $('.cesiumLegend').hide() try { $(`#${this.value}-legend`).show() // draw Chart activateChart(this.value); } catch (error) { console.log(`No ${this.value} Style in the html`) } }); $("#shadow_check").change(function () { if (this.checked) { viewer.shadows = true } else { viewer.shadows = false } });