Skip to content

Commit 57e94ca

Browse files
authored
Merge pull request #82 from 3dcitydb/release-2.0
Release 2.0
2 parents 70312ee + 89ec274 commit 57e94ca

File tree

13 files changed

+1924
-131
lines changed

13 files changed

+1924
-131
lines changed

3dwebclient/css/SplashWindow.css

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
height: 80%;
2424
max-height: 90%;
2525
top: 10%;
26-
position: relative;
26+
left: 10%;
27+
position: absolute;
2728
z-index: 99990;
2829
}
2930

@@ -64,4 +65,4 @@
6465
#close_button:hover {
6566
background-color: green;
6667
color: white;
67-
}
68+
}

3dwebclient/script.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,9 @@ function addLayerToList(layer) {
608608
var targetRadio = event.target;
609609
var layerId = targetRadio.parentNode.id;
610610
webMap.activeLayer = webMap.getLayerById(layerId);
611+
// Adjust GUI based on given values
612+
layerDataTypeDropdownOnchange();
613+
thematicDataSourceAndTableTypeDropdownOnchange();
611614
console.log(webMap.activeLayer);
612615
};
613616

@@ -976,6 +979,8 @@ function removeSelectedLayer() {
976979
}
977980
}
978981

982+
let imageryInserted = false;
983+
979984
function addWebMapServiceProvider() {
980985
function update(callback) {
981986
removeImageryProvider();
@@ -1027,14 +1032,17 @@ function addWebMapServiceProvider() {
10271032

10281033
baseLayerPickerViewModel.imageryProviderViewModels.push(providerViewModel);
10291034
baseLayerPickerViewModel.selectedImagery = providerViewModel;
1035+
imageryInserted = true;
10301036
});
10311037
}
10321038

10331039
function removeImageryProvider() {
1040+
if (!imageryInserted) return; // Remove only if inserted by user
10341041
const baseLayerPickerViewModel = cesiumViewer.baseLayerPicker.viewModel;
10351042
const selectedImagery = baseLayerPickerViewModel.selectedImagery;
10361043
baseLayerPickerViewModel.imageryProviderViewModels.remove(selectedImagery);
10371044
baseLayerPickerViewModel.selectedImagery = baseLayerPickerViewModel.imageryProviderViewModels[0];
1045+
imageryInserted = false;
10381046
}
10391047

10401048
function imageryTypeDropdownOnchange() {
@@ -1081,17 +1089,24 @@ function addTerrainProvider() {
10811089
});
10821090
}
10831091

1092+
let defaultTerrain = undefined;
1093+
10841094
function removeTerrainProvider() {
10851095
const baseLayerPickerViewModel = cesiumViewer.baseLayerPicker.viewModel;
10861096
const selectedTerrain = baseLayerPickerViewModel.selectedTerrain;
10871097
baseLayerPickerViewModel.terrainProviderViewModels.remove(selectedTerrain);
1088-
baseLayerPickerViewModel.selectedTerrain = baseLayerPickerViewModel.terrainProviderViewModels[0];
1098+
if (!Cesium.defined(defaultTerrain)) {
1099+
defaultTerrain = selectedTerrain;
1100+
baseLayerPickerViewModel.selectedTerrain = baseLayerPickerViewModel.terrainProviderViewModels[0];
1101+
} else {
1102+
baseLayerPickerViewModel.selectedTerrain = defaultTerrain;
1103+
}
10891104
}
10901105

10911106
function createScreenshot() {
10921107
cesiumViewer.render();
1093-
var imageUri = cesiumViewer.canvas.toDataURL();
1094-
var imageWin = window.open("");
1108+
const imageUri = cesiumViewer.canvas.toDataURL();
1109+
const imageWin = window.open("");
10951110
imageWin.document.write("<html><head>" +
10961111
"<title>" + imageUri + "</title></head><body>" +
10971112
'<img src="' + imageUri + '"width="100%">' +
@@ -1100,11 +1115,11 @@ function createScreenshot() {
11001115
}
11011116

11021117
function printCurrentview() {
1103-
var imageWin = createScreenshot();
1118+
const imageWin = createScreenshot();
11041119
imageWin.document.close();
11051120
imageWin.focus();
11061121
imageWin.print();
1107-
imageWin.close();
1122+
// imageWin.close();
11081123
}
11091124

11101125
function toggleShadows() {

3dwebclient/splash/SplashWindow.html

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<html lang="en">
44
<head>
55
<meta charset="UTF-8">
6-
<title>Title</title>
6+
<title>3DCityDB-Web-Map-Client</title>
77

88
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
99
<script>
@@ -187,32 +187,38 @@ <h1>3DCityDB-Web-Map-Client</h1>
187187

188188
<h2 class="milestone">Introduction</h2>
189189
<p>
190-
The <b>3DCityDB-Web-Map-Client</b> is a web-based front-end of the 3DCityDB for high-performance 3D visualization and interactive exploration of <b>arbitrarily large semantic 3D city models in CityGML</b>. It utilizes the <a href="http://cesiumjs.org/index.html" target="_blank">Cesium Virtual Globe</a> as its 3D geo-visualization engine based on HTML5 and Web Graphics Library (WebGL) to provide hardware acceleration and cross-platform functionalities like displaying 3D graphic contents on web browsers without the needs of additional plugins.
190+
The <b>3DCityDB-Web-Map-Client</b> is a web-based front-end of the 3DCityDB for high-performance 3D visualization and interactive exploration of <b>arbitrarily large semantic 3D city models in CityGML</b>. It utilizes the <a href="https://cesium.com/" target="_blank">Cesium Virtual Globe</a> as its 3D geo-visualization engine based on HTML5 and Web Graphics Library (WebGL) to provide hardware acceleration and cross-platform functionalities like displaying 3D graphic contents on web browsers without the needs of additional plugins.
191191
</p>
192192
<p>
193193
The key features and functionalities of the 3DCityDB-Web-Map-Client is summarized as follows:
194194

195195
<ul>
196196
<li>
197-
Support for efficient displaying, caching, prefetching, dynamic loading and unloading of large pre-styled 3D visualization models in the form of tiled KML/glTF datasets exported from the 3DCityDB using the Importer/Exporter
197+
Support for efficient displaying, caching, prefetching, dynamic loading and unloading of large pre-styled 3D visualization models in the form of <b>tiled KML/glTF datasets exported from the 3DCityDB</b> using the Importer/Exporter
198198
</li>
199199
<li>
200-
Intuitive user interface for adding and removing arbitrary number of data layers like 3D visualization model (KML/glTF), WMS imagery layer, and Cesium digital terrain model
200+
Intuitive user interface for adding and removing <b>arbitrary number of data layers</b> for 3D visualization (KML/glTF, CZML, GeoJSON, Cesium 3D Tiles, I3S), together with WMS/WMTS imagery layer, and Cesium digital terrain model
201201
</li>
202202
<li>
203-
Support for linking the 3D visualization models (KML/glTF) with the cloud-based Google Fusion Table allowing for querying the thematic data of every 3D object
203+
Support for linking the 3D visualization models (KML/glTF, GeoJSON, Cesium 3D Tiles, I3S) with <b>external thematic data sources</b>, such as <b>Google Spreadsheets</b>, <b>PostgreSQL/PostgREST</b> and <b>OGC Feature API</b>, allowing for querying the thematic data of every 3D object
204204
</li>
205205
<li>
206-
Support for rich interaction with 3D visualization models (KML/glTF), for example, highlighting of 3D objects on mouseover and mouseclick as well as hiding and showing of the selected 3D objects
206+
Support for displaying the existing <b>thematic data embedded</b> within the visualization datasets, such as KML, GeoJSON, Cesium 3D Tiles and I3S
207207
</li>
208208
<li>
209-
Support for exploring a 3D object of interest from different view perspectives using third-party mapping services like Microsoft Bing Maps with oblique view, Google Streetview, and a combined version (DualMaps)
209+
Support for rich interaction with 3D visualization models, for example, <b>highlighting</b> of 3D objects on mouseover and mouseclick as well as <b>hiding</b> and <b>showing</b> of multiple selected 3D objects
210210
</li>
211211
<li>
212-
Support for on-the-fly activating and deactivating shadow visualization of 3D objects (only for glTF, KML is currently not supported yet) and Cesium digital terrain models
212+
Support for exploring a 3D object of interest from <b>different view perspectives</b> using third-party mapping services like <b>Microsoft Bing Maps</b> with oblique view, <b>Google Streetview</b>, and a combined version (<b>DualMaps</b>)
213213
</li>
214214
<li>
215-
Support for collaborative creation and sharing of the workspace of the 3DCityDB-Web-Map-Client by means of generating a scene link including information about the current camera perspective, activation status of the shadow visualization, parameters of the current loaded data layers etc.
215+
Support for on-the-fly activating and deactivating <b>shadow visualization</b> of 3D objects and Cesium digital terrain models
216+
</li>
217+
<li>
218+
Support for collaborative creation and sharing of the workspace of the 3DCityDB-Web-Map-Client by means of <b>generating a scene link</b> including information about the current camera perspective, activation status of the shadow visualization, parameters of the current loaded data layers, etc. This link can be easily shared or bookmarked, and can be reopened in a browser on different machines.
219+
</li>
220+
<li>
221+
Packaged as a <a href="https://hub.docker.com/r/tumgis/3dcitydb-web-map/tags?page=1&ordering=last_updated" target="_blank"><b>Docker image</b></a> for fast and convenient deployment
216222
</li>
217223
</ul>
218224
</p>
@@ -226,21 +232,22 @@ <h2 class="milestone">License</h2>
226232
</p>
227233

228234
<h2 class="milestone">Latest release</h2>
229-
<p>
230-
The latest stable release of the 3DCityDB-Web-Map-Client is <samp>1.7.1</samp>.
231235
<p>
232236
All releases are available from the <a href="https://github.com/3dcitydb/3dcitydb-web-map/releases" target="_blank">releases section</a>.
233237
</p>
234238
<p>
235-
For convenient use, there is an official <a href="https://www.3dcitydb.org/3dcitydb-web-map/1.7.1/3dwebclient/index.html" target="_blank">web link</a> available that can be called to directly run the 3DCityDb-Web-Map-Client on your web browser.
239+
This project is also available in Docker, see <a href="https://github.com/tum-gis/3dcitydb-web-map-docker" target="_blank">repository</a> and <a href="https://hub.docker.com/r/tumgis/3dcitydb-web-map/tags?page=1&ordering=last_updated" target="_blank">Docker images</a>.
240+
</p>
241+
<p>
242+
For convenient use, there is an official <a href="https://www.3dcitydb.org/3dcitydb-web-map/latest/3dwebclient/index.html" target="_blank">web link</a> available that can be called to directly run the 3DCityDb-Web-Map-Client on your web browser.
236243
</p>
237244

238245
<h2 class="milestone">System requirements</h2>
239246
<p>
240247
The hardware on which the 3DCityDB-Web-Map-Client will be run must have a graphics card installed that supports WebGL. In addition, the web browser in use must also provide appropriate WebGL support.
241248
</p>
242249
<p>
243-
You can visit the <a href="http://get.webgl.org/](http://get.webgl.org/" target="_blank">WebGL website</a> to check whether your web browser supports WebGL.
250+
You can visit the <a href="http://get.webgl.org](http://get.webgl.org" target="_blank">WebGL website</a> to check whether your web browser supports WebGL.
244251
</p>
245252
<p>
246253
The 3DCityDB-Web-Map-Client has been successfully tested on (but is not limited to) the following web browsers under different desktop operating systems like Microsoft Windows, Linux, Apple Mac OS X, and even on mobile operating systems like Android and iOS.
@@ -270,15 +277,19 @@ <h2 class="milestone">Documentation</h2>
270277

271278
<h2 class="milestone">Contributing</h2>
272279
<p>
280+
The source codes of this project are available on <a href="https://github.com/3dcitydb/3dcitydb-web-map" target="_blank">GitHub</a>. All releases can be found <a href="https://github.com/3dcitydb/3dcitydb-web-map/releases" target="_blank">here</a>.
281+
</p>
282+
<p>
283+
The platform GitHub is also used for collaborating:
273284
<ul>
274285
<li>
275-
To file bugs found in the software create a GitHub issue.
286+
To report bugs found in the software, please create a GitHub issue.
276287
</li>
277288
<li>
278-
To contribute code for fixing filed issues create a pull request with the issue id.
289+
To contribute code for fixing issues, please create a pull request with the issue id.
279290
</li>
280291
<li>
281-
To propose a new feature create a GitHub issue and open a discussion.
292+
To propose a new feature, please also create a GitHub issue and open a discussion.
282293
</li>
283294
</ul>
284295
</p>
@@ -288,19 +299,19 @@ <h2 class="milestone">Developers</h2>
288299
The 3DCityDB-Web-Map-Client has been developed by:
289300
<ul>
290301
<li>
291-
Zhihang Yao, Son H. Nguyen, Kanishk Chaturvedi, and Thomas H. Kolbe
302+
Son H. Nguyen, Kanishk Chaturvedi, and Thomas H. Kolbe
292303
<br>
293-
<a href="https://www.gis.bgu.tum.de/" target="_blank">Chair of Geoinformatics, Technical University of Munich</a>
304+
<a href="https://www.asg.ed.tum.de/en/gis" target="_blank">Chair of Geoinformatics, Technical University of Munich</a>
294305
</li>
295306
</ul>
296307
</p>
297308
<p>
298309
and with the support from the following cooperation partners:
299310
<ul>
300311
<li>
301-
Jannes Bolling, Lucas van Walstijn, and Claus Nagel
312+
Zhihang Yao, Jannes Bolling, Lucas van Walstijn, and Claus Nagel
302313
<br>
303-
<a href="https://www.virtualcitysystems.de/" target="_blank">virtualcitySYSTEMS GmbH, Berlin</a>
314+
<a href="https://vc.systems" target="_blank">Virtual City Systems, Berlin</a>
304315
</li>
305316
</ul>
306317
</p>
@@ -317,4 +328,4 @@ <h2 class="milestone">More information</h2>
317328
</article>
318329

319330
</body>
320-
</html>
331+
</html>

0 commit comments

Comments
 (0)