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">&uArr;</div>
+				</div>
+			</div>
+		</div>
+		
+		
+		<!-- javascript -->
+        <script src="./App.js"></script>
+		
+    </body>
+</html>
-- 
GitLab