From a9ffee3a5d9af19863802340014587f5d798f244 Mon Sep 17 00:00:00 2001 From: "rushikesh.padsala" <rushikesh.padsala@hft-stuttgart.de> Date: Tue, 24 Nov 2020 16:42:33 +0100 Subject: [PATCH] Initial commit --- public/App.js | 396 ++++++++++++++++++++++++++++++++++++++ public/CSS/Images/hft.jpg | Bin 0 -> 58428 bytes public/CSS/index.css | 68 +++++++ public/CSS/meidling.css | 247 ++++++++++++++++++++++++ public/index.html | 138 +++++++++++++ 5 files changed, 849 insertions(+) create mode 100644 public/App.js create mode 100644 public/CSS/Images/hft.jpg create mode 100644 public/CSS/index.css create mode 100644 public/CSS/meidling.css create mode 100644 public/index.html diff --git a/public/App.js b/public/App.js new file mode 100644 index 0000000..5788b4a --- /dev/null +++ b/public/App.js @@ -0,0 +1,396 @@ + Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiNWFjZDJiMy1hYzk3LTQ2YWUtYWVjYi01MDk1OGVlZGI0NTgiLCJpZCI6MTEwNzEsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1NTgwMjE1Mjh9.lF6TGAJrX3qMGBt5egdAA7SJYNnaYX17mhURwGg_Kbg'; + + ////////////////////////////////////////////////////////////////////////// + // Creating the Viewer + ////////////////////////////////////////////////////////////////////////// + + var viewer = new Cesium.Viewer('cesiumContainer', { + scene3DOnly: true, + selectionIndicator: false, + timeline: false, + animation: false, + shadow: false, + // // Set default basemap + imageryProvider : Cesium.ArcGisMapServerImageryProvider({ + url: + "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" + }), + baseLayerPicker: true + + }); + viewer.clock.shouldAnimate = false; + viewer.scene.globe.enableLighting = false; + viewer.clock.startTime = Cesium.JulianDate.fromIso8601("2019-09-20T13:00:00Z"); + viewer.clock.stopTime = Cesium.JulianDate.fromIso8601("2019-09-20T13:20:00Z"); + viewer.clock.currentTime = Cesium.JulianDate.fromIso8601("2019-09-20T13:00:00Z"); + document.getElementById("legend").style.display = "none"; //defining legends hidden by default + + ////////////////////////////////////////////////////////////////////////// + // Configuring the camera + ////////////////////////////////////////////////////////////////////////// +var initialPosition = Cesium.Cartesian3.fromDegrees(16.368084, 48.183257, 360); + var initialOrientation = new Cesium.HeadingPitchRoll.fromDegrees(249, -17, 0); + var homeCameraView = { + destination : initialPosition, + orientation : { + heading : initialOrientation.heading, + pitch : initialOrientation.pitch, + roll : initialOrientation.roll + } + }; + // // Set the initial view + viewer.scene.camera.setView(homeCameraView); + // set home button to initial view + + viewer.homeButton.viewModel.command.beforeExecute.addEventListener(function (e) { + e.cancel = true; + viewer.scene.camera.flyTo(homeCameraView); + }); + viewer.camera.changed.addEventListener(function() { + + var deg = Math.round( Cesium.Math.toDegrees(viewer.camera.heading)) + console.log('Heading:', deg) + + var deg = Math.round( Cesium.Math.toDegrees(viewer.camera.pitch)) + console.log('Pitch:', deg) + + var deg = Math.round( Cesium.Math.toDegrees(viewer.camera.roll)) + console.log('Roll:', deg) + +}); + ////////////////////////////////////////////////////////////////////////// + // Load 3D Tileset + ////////////////////////////////////////////////////////////////////////// + + var building = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: 'https://w2.iaf.hft-stuttgart.de/CesiumData/3DTiles/Buildings/BuildingSolid/Meidling_Vienna/tileset.json'})); + var outdoorbuildinginstallation = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: 'https://w2.iaf.hft-stuttgart.de/CesiumData/3DTiles/Buildings/BuildingInstallation/Meidling_Vienna/tileset.json'})); + var roofsurface = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: 'https://w2.iaf.hft-stuttgart.de/CesiumData/3DTiles/Buildings/RoofSurface/Mediling_Vienna/tileset.json'})); + var roofdefaultstyle = new Cesium.Cesium3DTileStyle({color : "color('#ff5500')"}); + roofsurface.style = roofdefaultstyle; + // set roof height and load roof tile + roofsurface.readyPromise.then(function(tileset) { + height = 0.02; + viewer.scene.primitives.add(tileset); + var cartographic = Cesium.Cartographic.fromCartesian(tileset.boundingSphere.center); + var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0); + var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, height); + var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3()); + tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); + console.log(error); + }); + roofsurface.show =true; + var landuse = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: 'https://w2.iaf.hft-stuttgart.de/CesiumData/3DTiles/LandUse/Meidling_Vienna/tileset.json'})); + + + building.show = true; + outdoorbuildinginstallation.show = true; + landuse.show = false; + + + function showbuildings() { + if (document.getElementById('buildings').checked) {building.show = true; outdoorbuildinginstallation.show = true; + roofsurface.show = false; + } + else {building.show = false; outdoorbuildinginstallation.show = false; + roofsurface.show = false;} + } + + // Style landuse Tileset + + var landusestyle = new Cesium.Cesium3DTileStyle({ + color : { + conditions : [ + ['Number(${LE_CODE}) === 1000', "color('#FFFF00')"], + ['Number(${LE_CODE}) === 2000', "color('#8B6914')"], + ['Number(${LE_CODE}) === 3000', "color('#808080')"], + ['Number(${LE_CODE}) === 4000', "color('#008000')"], + ['Number(${LE_CODE}) === 5000', "color('#00FFFF')"], + ] + }, + show: true + }); + + function showlanduse() { + if (document.getElementById('landuse').checked) { + landuse.show = true; + landuse.style = landusestyle; + document.getElementById("legend").style.display = "block"; + } + else { + landuse.show = false; + document.getElementById("legend").style.display = "none"; + } + } + + ////////////////////////////////////////////////////////////////////////// + // Style 3D Tileset + ////////////////////////////////////////////////////////////////////////// + + var buildingdefaultstyle = new Cesium.Cesium3DTileStyle({ + color : "color('WHITE')", + show: true + }); + + var heatenergydemandstyle = new Cesium.Cesium3DTileStyle({ + color : { + conditions : [ + [' Number(${nrg_epc_primaryEnergyDemandValue_s1}) >= 225', "color('red')"], + [' Number(${nrg_epc_primaryEnergyDemandValue_s1}) >= 125', "mix(color('yellow'), color('red'), (Number(${nrg_epc_primaryEnergyDemandValue_s1}) -125) / 125)"], + [' Number(${nrg_epc_primaryEnergyDemandValue_s1}) >= 1', "mix(color('green'), color('yellow'), (Number(${nrg_epc_primaryEnergyDemandValue_s1}) ) / 125)"], + [' Number(${nrg_epc_primaryEnergyDemandValue_s1}) < 1', 'rgb(0, 0, 0)'], + ['true', 'rgb(0, 0, 0)'] + ] + + }, + show: true + }); + + var heatdemandstyle = document.getElementById('heatdemand'); + function showheatdemand() { + if (document.getElementById('pvpotential').checked) { + alert("At a time only one analysis selection is possible. Please uncheck the current analysis selection first and then re-select this option."); + return false; +} +else + + { + if (document.getElementById('buildings').checked) { + if (heatdemandstyle.checked) { + outdoorbuildinginstallation.show = false; + roofsurface.show = false; + building.style = heatenergydemandstyle; + document.getElementById("heat-demand-legend").style.display = "block"; + } + else { + outdoorbuildinginstallation.show = true; + roofsurface.show = true; + building.style = buildingdefaultstyle; + roofsurface.style = roofdefaultstyle; + document.getElementById("heat-demand-legend").style.display = "none"; + } + } + else { + alert("Please select the buildings layer under 3D city model first, and then re-select this option."); + return false; +} + } + } + + var roofPVstyle = new Cesium.Cesium3DTileStyle({ + color : { + conditions : [ + [' Number(${PV_yield}) >= 10', "color('green')"], + [' Number(${PV_yield}) >= 5', "mix(color('yellow'), color('green'), (Number(${PV_yield}) -5) /5)"], + [' Number(${PV_yield}) >= 1', "mix(color('red'), color('yellow'), (Number(${PV_yield}) ) /5)"], + [' Number(${PV_yield}) < 1', "color('red')"], + ['true', 'rgb(0, 0, 0)'] + ] + + }, + show: true + }); + + var pvpotentialstyle = document.getElementById('pvpotential'); + function showpvpotential(){ + if (document.getElementById('heatdemand').checked) { + alert("At a time only one analysis selection is possible. Please uncheck the current analysis selection first and then re-select this option."); + return false; +} +else { + if (document.getElementById('buildings').checked) { + if (pvpotentialstyle.checked) { + outdoorbuildinginstallation.show = false; + roofsurface.show = true; + roofsurface.style = roofPVstyle; + document.getElementById("pv-potential-legend").style.display = "block"; + } + else { + outdoorbuildinginstallation.show = true; + roofsurface.show = true; + roofsurface.style = roofdefaultstyle; + document.getElementById("pv-potential-legend").style.display = "none"; + } + } + else { + alert("Please select the buildings layer under 3D city model first, and then re-select this option."); + return false; +} + } + } + + + ////////////////////////////////////////////////////////////////////////// + // Custom mouse interaction for highlighting and selecting + ////////////////////////////////////////////////////////////////////////// + + +//Selecting a Building +var Pickers_3DTile_Activated = true; +// Information about the currently highlighted feature +function active3DTilePicker() { + var highlighted = { + feature: undefined, + originalColor: new Cesium.Color() + }; + // Information about the currently selected feature + var selected = { + feature: undefined, + originalColor: new Cesium.Color() + }; + + // An entity object which will hold info about the currently selected feature for infobox display + var selectedEntity = new Cesium.Entity(); + + // Get default left click handler for when a feature is not picked on left click + var clickHandler = viewer.screenSpaceEventHandler.getInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); + // Color a feature yellow on hover. + viewer.screenSpaceEventHandler.setInputAction(function onMouseMove(movement) { + if (Pickers_3DTile_Activated) { + // If a feature was previously highlighted, undo the highlight + if (Cesium.defined(highlighted.feature)) { + highlighted.feature.color = highlighted.originalColor; + highlighted.feature = undefined; + } + // Pick a new feature + var picked3DtileFeature = viewer.scene.pick(movement.endPosition); + + // Highlight the feature if it's not already selected. + if (picked3DtileFeature !== selected.feature) { + highlighted.feature = picked3DtileFeature; + Cesium.Color.clone(picked3DtileFeature.color, highlighted.originalColor); + picked3DtileFeature.color = Cesium.Color.AQUA; + } + } + }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + + // Color a feature on selection and show metadata in the InfoBox. + viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) { + + if (Pickers_3DTile_Activated) { + // If a feature was previously selected, undo the highlight + if (Cesium.defined(selected.feature)) { + selected.feature.color = selected.originalColor; + selected.feature = undefined; + var options = null; + } + // Pick a new feature + var picked3DtileFeature = viewer.scene.pick(movement.position); + if (!Cesium.defined(picked3DtileFeature)) { + clickHandler(movement); + return; + } + // Select the feature if it's not already selected + if (selected.feature === picked3DtileFeature) { + return; + } + selected.feature = picked3DtileFeature; + // Save the selected feature's original color + if (picked3DtileFeature === highlighted.feature) { + Cesium.Color.clone(highlighted.originalColor, selected.originalColor); + highlighted.feature = undefined; + } else { + Cesium.Color.clone(picked3DtileFeature.color, selected.originalColor); + } + // Highlight newly selected feature + picked3DtileFeature.color = Cesium.Color.AQUA; + // Set feature infobox description - if condition is for different info box for different entities such as building solids, roofs, landuse etc + + if (picked3DtileFeature.getProperty('SemanticType') === "Building") { + + + var featureName = "Meidling 3D Viewer - Building"; + selectedEntity.name = featureName; + selectedEntity.description = 'Loading <div class="cesium-infoBox-loading"></div>'; + + viewer.selectedEntity = selectedEntity; + selectedEntity.description = + '<table class="cesium-infoBox-defaultTable"><tbody>' + + '<tr><th>Building ID</th><td>' + picked3DtileFeature.getProperty('gml_id') + '</td></tr>' + + '<tr><th>Building Class Code</th><td>' + picked3DtileFeature.getProperty('citygml_class') + '</td></tr>' + + '<tr><th>Building Type</th><td>' + picked3DtileFeature.getProperty('buildingType') + '</td></tr>' + + '<tr><th>Year of Construction</th><td>' + picked3DtileFeature.getProperty('citygml_year_of_construction') + '</td></tr>' + + '<tr><th>Roof Type</th><td>' + picked3DtileFeature.getProperty('citygml_roof_type') + '</td></tr>' + + '<tr><th>Building Storeys Above Ground</th><td>' + picked3DtileFeature.getProperty('citygml_storeys_above_ground') + '</td></tr>' + + '<tr><th>Building Storeys Below Ground</th><td>' + picked3DtileFeature.getProperty('citygml_storeys_below_ground') + '</td></tr>' + + '<tr><th>Total Residents</th><td>' + picked3DtileFeature.getProperty('num_residents') + '</td></tr>' + + '<tr><th>Building Height</th><td>' + picked3DtileFeature.getProperty('citygml_measured_height') + ' ' + 'm' + '</td></tr>' + + '<tr><th>Footprint Area </th><td>' + picked3DtileFeature.getProperty('footprintArea') + ' ' + 'm²' + '</td></tr>' + + '<tr><th>Building Volume</th><td>' + picked3DtileFeature.getProperty('lod2Volume') + ' ' + 'm³' + '</td></tr>' + + '<tr><th>Specific Space Heating Demand</th><td>' + picked3DtileFeature.getProperty('nrg_epc_primaryEnergyDemandValue_s1') + ' ' + 'kWh/m²*yr' + '</td></tr>' + + '<tr><th>Domestic Hot Water Demand</th><td>' + picked3DtileFeature.getProperty('nrg_dhwDemandYear') + ' ' + 'kWh*yr' + '</td></tr>' + + '<tr><th>Electricity Domestic Hot Water Demand</th><td>' + picked3DtileFeature.getProperty('nrg_electricityDemandYear') + ' ' + 'kWh*yr' + '</td></tr>' + + '</tbody></table>'; + + console.log(picked3DtileFeature.getProperty('SemanticType'));} + + + else if (picked3DtileFeature.getProperty('SemanticType') === "RoofSurface") { + + + var featureName = "Meidling 3D Viewer - Roof Surface"; + selectedEntity.name = featureName; + selectedEntity.description = 'Loading <div class="cesium-infoBox-loading"></div>'; + + viewer.selectedEntity = selectedEntity; + selectedEntity.description = + '<table class="cesium-infoBox-defaultTable"><tbody>' + + '<tr><th>Building ID</th><td>' + picked3DtileFeature.getProperty('gml_id') + '</td></tr>' + + '<tr><th>Building Parent ID</th><td>' + picked3DtileFeature.getProperty('gml_parent_id') + '</td></tr>' + + '<tr><th>Roof Type</th><td>' + picked3DtileFeature.getProperty('citygml_roof_type') + '</td></tr>' + + '<tr><th>Roof Area </th><td>' + picked3DtileFeature.getProperty('roofArea') + ' ' + 'm²' + '</td></tr>' + + '<tr><th>Photovoltaic Potential</th><td>' + picked3DtileFeature.getProperty('PV_yield') + ' ' + 'MWh/yr' + '</td></tr>' + + '</tbody></table>'; + + console.log(picked3DtileFeature.getProperty('SemanticType'));} + + else if (picked3DtileFeature.getProperty('SemanticType') === "LandUse") { + + + var featureName = "Meidling 3D Viewer - LandUse"; + selectedEntity.name = featureName; + selectedEntity.description = 'Loading <div class="cesium-infoBox-loading"></div>'; + + viewer.selectedEntity = selectedEntity; + selectedEntity.description = + '<table class="cesium-infoBox-defaultTable"><tbody>' + + '<tr><th>LandUse ID</th><td>' + picked3DtileFeature.getProperty('gml_id') + '</td></tr>' + + '<tr><th>LandUse Class</th><td>' + picked3DtileFeature.getProperty('NUTZUNG_LE') + '</td></tr>' + + '<tr><th>LandUse Function</th><td>' + picked3DtileFeature.getProperty('NUTZUNG_L0') + '</td></tr>' + + '<tr><th>LandUse Usage</th><td>' + picked3DtileFeature.getProperty('NUTZUNG_L1') + '</td></tr>' + + '<tr><th>LandUse Area </th><td>' + picked3DtileFeature.getProperty('Shape_Area') + ' ' + 'm²' + '</td></tr>' + + '</tbody></table>'; + + console.log(picked3DtileFeature.getProperty('SemanticType'));} + + + else + { + var featureName = "Meidling 3D Viewer - Building Installation"; + selectedEntity.name = featureName; + selectedEntity.description = 'Loading <div class="cesium-infoBox-loading"></div>'; + + viewer.selectedEntity = selectedEntity; + selectedEntity.description = + '<table class="cesium-infoBox-defaultTable"><tbody>' + + '<tr><th>Building ID</th><td>' + picked3DtileFeature.getProperty('gml_id') + '</td></tr>' + + '<tr><th>Building Parent ID</th><td>' + picked3DtileFeature.getProperty('gml_parent_id') + '</td></tr>' + + '<tr><th>Installation Area </th><td>' + picked3DtileFeature.getProperty('area') + ' ' + 'm²' + '</td></tr>' + + '</tbody></table>'; + + console.log(picked3DtileFeature.getProperty('SemanticType'));} + + var arrow = document.getElementById('arrow'); + var arrowPosition = 10 + ((Number(picked3DtileFeature.getProperty('nrg_epc_primaryEnergyDemandValue_s1')) / 250) * 465); + if (Number(picked3DtileFeature.getProperty('nrg_epc_primaryEnergyDemandValue_s1')) >= 250) { + arrowPosition = 465; + } + console.log("Width: " + arrow.style.width); + arrow.style.left = arrowPosition + "px"; + console.log("position left: : " + 10 + ((Number(picked3DtileFeature.getProperty('nrg_epc_primaryEnergyDemandValue_s1')) / 250) * 100) * 465 + "px"); + arrow.style.visibility = 'visible'; + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); +} + +active3DTilePicker(); + diff --git a/public/CSS/Images/hft.jpg b/public/CSS/Images/hft.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00262fedc74fc53ad6eeac8f6e75ee2802769dc7 GIT binary patch literal 58428 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 literal 0 HcmV?d00001 diff --git a/public/CSS/index.css b/public/CSS/index.css new file mode 100644 index 0000000..a3ac2ff --- /dev/null +++ b/public/CSS/index.css @@ -0,0 +1,68 @@ +.backdrop { + display: inline-block; + background: rgba(42, 42, 42, 0.7); + border-radius: 5px; + border: 1px solid #444; + padding: 5px 10px; + color: #fff; + line-height: 150%; + font-size: small; +} + +#heightSliderLabel, #heightValue { + vertical-align: top; +} + +.backdrop a:link, .backdrop a:visited, .backdrop a:hover { + color: #fff +} + +.loadingIndicator { + display: none; + position: absolute; + top: 50%; + left: 50%; + margin-top: -33px; + margin-left: -33px; + width: 66px; + height: 66px; + background: url(Source/Images/ajax-loader.gif) center no-repeat; +} + +.cover { + display: none; + position: absolute; + background-color: rgba(0, 0, 0, 0.75); + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +#menu { + position: absolute; + left: 10px; + top: 10px; +} + +.nowrap { + white-space: nowrap; +} + +html, body, #cesiumContainer { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: hidden; + font-family: sans-serif; + background: #000; +} + +button.cesium-infoBox-camera { + display: none; +} + +#3DTiles { + padding-top: 10px; +} \ No newline at end of file diff --git a/public/CSS/meidling.css b/public/CSS/meidling.css new file mode 100644 index 0000000..0b05d2a --- /dev/null +++ b/public/CSS/meidling.css @@ -0,0 +1,247 @@ + + +/* +html, +body, +*/ + +#Navbar { + overflow: hidden; +} + +html, +body, +#cesiumContainer { + top: 0px; + left: 0px; + position: absolute; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: hidden; + z-index: -1; +} + +#legend { + position: relative; + left: 5px; + top: 5px; +} + +.backdrop { + display: inline-block; + background: rgba(42, 42, 42, 0.7); + border-radius: 5px; + border: 1px solid #444; + color: #fff; + line-height: 150%; + font-size: small; + box-shadow: 0 0 10px 1px #000; +} + +button.cesium-infoBox-camera { + display: none; +} + +.cesium-infoBox { + + width: 80%; + height: auto; + right: 5px; + background: rgba(0, 0, 0, 0.65); + border-radius: 10px; + border: 1px solid #444; + padding: 5px 10px; + color: #fff; + font: 1em "Fira Sans", sans-serif; + float: right; +} + +.cesium-infoBox-title { + background: rgba(0, 0, 0, 0); + font: 1em "Fira Sans", sans-serif; +} + +.cesium-infoBox-close { + z-index: 99999; +} + +.my-legend .legend-title { + text-align: left; + margin-bottom: 5px; + font-weight: bold; + font-size: 90%; +} + +.my-legend .legend-scale ul { + margin: 0; + margin-bottom: 5px; + padding: 0; + float: left; + list-style: none; +} + +.my-legend .legend-scale ul li { + list-style: none; + margin-left: 0; + line-height: 18px; + margin-bottom: 2px; +} + +.my-legend ul.legend-labels li span { + display: block; + float: left; + height: 16px; + width: 30px; + margin-right: 5px; + margin-left: 0; + border: 1px solid #999; +} + +.my-legend a { + color: #777; +} + +.legends { + transform: translate(0, 0); + display: none; + bottom: 35px; + right: 10px; + width: 70%; + max-width: 480px; + color: #edffff; + border: 1px solid #444; + border-right: none; + border-top-left-radius: 7px; + border-bottom-left-radius: 7px; + box-shadow: 0 0 10px 1px #000; + opacity: 0.9; + transition: visibility 0s 0.3s, opacity 0.3s ease-in, transform 0.3s ease-in; + background: rgba(42, 42, 42, 0.9); + position: absolute; + padding: 8px; + border-radius: 10px; +} + +.pv-potential-legend-container { + background: rgba(42, 42, 42, 0.9); + padding: 8px; + border-radius: 4px; + text-align: center; +} + +#pv-potential-legend-title { + margin: 0px; + padding-bottom: 10px; +} + +.pv-potential-Bar { + display: flex; + justify-content: space-around; + align-items: center; + width: 100%; + height: 30px; + background: linear-gradient(to right, #ff0000 0%, #ffff00 50%, #00ff00 100%); + color: #000; + font-size: 14px; + font-weight: bold; +} + +#bottom-round { + border-top-left-radius: 20px; + border-top-right-radius: 20px; + border-bottom-right-radius: 20px; + border-bottom-left-radius: 20px; +} + +.line { + font-size: 145%; +} + +.values { + display: flex; + justify-content: space-around; + align-items: center; + width: 100%; + height: 25px; + color: #edffff; + font-size: 14px; + font-weight: bold; +} + + + + + + +.heat-demand-legend-container { + background: rgba(42, 42, 42, 0.9); + padding: 8px; + border-radius: 4px; + text-align: center; +} + +#heat-demand-legend-title { + margin: 0px; + padding-bottom: 10px; +} + +.Heat-Demand-Bar { + display: flex; + justify-content: space-around; + align-items: center; + width: 100%; + height: 30px; + background: linear-gradient(to right, #00ff00 0%, #ffff00 50%, #ff0000 100%); + color: #000; + font-size: 14px; + font-weight: bold; + opacity: 1; +} +#top { + border-top-left-radius: 20px; + border-top-right-radius: 20px; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} + +#bottom { + border-top-left-radius: 0px; + border-top-right-radius: 0px; + border-bottom-right-radius: 20px; + border-bottom-left-radius: 20px; + font-size: 145%; +} + +#arrow-slider { + display: block; + width: 100%; + height: 25px; +} + +#arrow { + position: absolute; + top: 66%; + left: 0px; + visibility: hidden; + color: #000; + font-size: 35px; + font-weight: bold; +} + +.credit { + + width: 100px; + height: 100px; + overflow: hidden; + position: fixed; + z-index: 99999; + background: url(Images/hft.jpg) no-repeat; + background-size: 100px; + bottom: 70px; + left: 10px; + box-shadow: 0 0 10px 1px #000; + /* left: 5px;*/ +} + diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..ad9745d --- /dev/null +++ b/public/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <!-- Use correct character set. --> + <meta charset="utf-8"> + <!-- Tell IE to use the latest, best version. --> + <meta http-equiv="X-UA-Compatible" content="IE=Edge"> + <!-- Make the app on mobile take up the full browser screen and disable user scaling. --> + <meta name="viewport" + content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> + <title>Meidling 3D Viewer</title> + <!-- The Cesium library. --> + <script src="https://cesiumjs.org/releases/1.57/Build/Cesium/Cesium.js"></script> + <link href="https://cesiumjs.org/releases/1.57/Build/Cesium/Widgets/widgets.css" rel="stylesheet"> + <!-- stylesheets --> + <link rel="stylesheet" href="./CSS/index.css" media="screen"> + <link rel="stylesheet" type="text/css" href="./CSS/meidling.css"> + <!-- external scripts --> + </head> + <body> + <!-- defining container to keep cesium viewer --> + <div id="cesiumContainer"></div> + <!-- defining menu panel --> + <div class="backdrop" id="menu"> + <h2>Meidling 3D Viewer</h2> + <span><strong>3D City Model</strong></span> + <div class="nowrap"> + <input id="buildings" type="checkbox" checked onclick="showbuildings()" /> + <label for="buildings">Buildings</label> + <input id="landuse" type="checkbox" onclick="showlanduse()" /> + <label for="landuse">LandUse</label> + </div> + <br> + <span><strong>Analysis</strong></span> + <div class="nowrap"> + <input id="heatdemand" type="checkbox" onclick="return showheatdemand()" /> + <label for="heatdemand">Specific Space Heating Demand</label> + <br> + <input id="pvpotential" type="checkbox" onclick="return showpvpotential()" /> + <label for="pvpotential">Rooftop Photovoltaic Potential</label> + </div> + <br> + + <!-- for legend panel --> + <div id=legend> + <hr color='white'> + <div class='my-legend' id="legendcontainer"> + <div class='legend-title'>LandUse Classification</div> + <div class='legend-scale'> + <ul class='legend-labels'> + <li><span style='background:#FFFF00;'></span>Settlmemt Area</li> + <li><span style='background:#8B6914;'></span>Open Plot</li> + <li><span style='background:#808080;'></span>Road</li> + <li><span style='background:#008000;'></span>Vegetation</li> + <li><span style='background:#00FFFF;'></span>Water Body</li> + </ul> + </div> + </div> + </div> + </div> + <!-- defining container to keep cesium viewer --> + <div id="chartcontainer" style="visibility: hidden;"> <div class='legend-title'>Select a Building</div><button type="button" class="cesium-infoBox-close" onclick="closeChart()">×</button> + <div id="chart"></div> + </div> + <a href="https://www.hft-stuttgart.de/" target='_blank'> + <div class="credit"></div> + </a> + + + + + <div class="legends" id="pv-potential-legend"> + <div class="pv-potential-legend-container"> + <h3 id="pv-potential-legend-title"> + Rooftop Photovoltaic Potential [MWh/yr] + </h3> + <div class= "pv-potential-Bar" id="bottom-round"/> + </div> + <div class="values"> + <div class="value">0</div> + <div class="value">2</div> + <div class="value">4</div> + <div class="value">6</div> + <div class="value">8</div> + <div class="value">>10</div> + </div> + </div> + </div> + + <div class="legends" id="heat-demand-legend"> + <div class="heat-demand-legend-container"> + <h3 id="heat-demand-legend-title"> + Specific Space Heating Demand [kWh/(m²*yr)] + </h3> + <div class= "Heat-Demand-Bar" id ="top"> + <div class="classes" >A+</div> + <div class="line" >|</div> + <div class="classes" >A</div> + <div class="line" >|</div> + <div class="classes" >B</div> + <div class="line" >|</div> + <div class="classes" >C</div> + <div class="line" >|</div> + <div class="classes" >D</div> + <div class="line" >|</div> + <div class="classes" >E</div> + <div class="line" >|</div> + <div class="classes" >F</div> + <div class="line" >|</div> + <div class="classes" >G</div> + <div class="line" >|</div> + <div class="classes" >H</div> + </div> + <div class="values"> + <div class="value">0</div> + <div class="value">25</div> + <div class="value">50</div> + <div class="value">75</div> + <div class="value">100</div> + <div class="value">125</div> + <div class="value">150</div> + <div class="value">175</div> + <div class="value">200</div> + <div class="value">>225</div> + </div> + <div class= "Heat-Demand-Bar" id="bottom"/> + <div id="arrow-slider"> + <div id="arrow">⇑</div> + </div> + </div> + </div> + + + <!-- javascript --> + <script src="./App.js"></script> + + </body> +</html> -- GitLab