2.1. Procedural Modelling
The manual vectorisation of the
Imperial Obligatory Imprints of the Stable Cadastre 1:2880 (
Figure 2a) provided input data for the procedural modelling of 3D objects. For building modelling, not only vectorised footprints of buildings were used, but also other data readable from underlying maps, such as building types (on the Imprints, buildings are categorised by the material used as either combustible-wooden or non-combustible constructions). The procedural modelling of buildings and vegetation was subsequently performed based on parts of this vectorised map, specifically on the vectorised footprints of buildings and polygons of forests, fruit orchards and other areas with dense vegetation (
Figure 2b). The automatic vectorisation of elevation contours (
Figure 3b) from the State Map 1:5000-Derived (
Figure 3a) was used, together with other sources, such as the longitudinal profile of the river, to create a historical DTM. The vectorisation of the
Imperial Obligatory Imprints (
Figure 4a) and
SMO-5 (
Figure 4b) map sheets was conducted for the entire area of interest of the Vltava River valley.
Other input data comprised archival data, such as written sources, drawings, photographs and postcards, according to which, statistical data of modelled objects were determined (average number of floors, average number of windows, type of roofing, roofing angles, etc.). These parameters were further used in the rule file as attribute values for procedural modelling (
Figure 5).
Modelling, testing, editing rule sets and other procedural modelling work was performed primarily in the ESRI CityEngine software. This software application implements the CGA shape grammar, and is, therefore, well suited for the procedural modelling of large urban areas. In addition, ArcGIS Pro was used, mainly for editing procedurally modelled objects and for publishing in the online environment. However, as ArcGIS Pro still does not allow the authorising of procedural modelling rules, the main part of the preparation of rule files was conducted in CityEngine.
The main goal of our visualisations is not to create super-realistic models of every single house or other objects, but to create such objects that will allow one to better orient themself in the whole Vltava River valley model, especially focusing on the older generation, who experienced the Vltava River before the construction of dams, and on young people in the field of geography teaching. Furthermore, it was necessary to look at the volume of data, due to the large area of interest, with an area of approximately 1670 km
2, which contains over 28,000 procedurally generated buildings. For this reason, the procedurally modelled objects are simple in nature (
Figure 6a), without a large amount of spatial fragmentation; however, these apparent shortcomings are mainly replaced using high-quality textures with high resolution.
The use of simple models is also related to the limitations of procedural modelling. Since we are modelling more than 28,000 buildings, one of the limitations is the hardware requirements for the processing, procedural generation, display and editing of 3D models on such a large area containing a large number of objects, villages and cities (
Figure 6b). Procedural modelling on this scale cannot be performed on regular computers; it is necessary to use a workstation computer. A workstation with 32 GB of RAM was used to conduct procedural modelling; any smaller value of RAM resulted in the “freezing” and “crashing” of the software, and even when using this workstation, actions involving the layer of models (modelling, seed changes, application of rule file changes, export of models, etc.) took up to tens of minutes. Due to the iterative process of editing rule files, finding errors, testing, publishing and editing for further use (e.g., for VR), the use of more spatially fragmented and complex models would mean considerable increases in the difficulty and prolongation of the work.
Another limitation of procedural modelling is working with the terrain, respectively placing the created buildings on the historical terrain model. Since the data sources used for procedural modelling, and for creating the digital terrain model, are heterogeneous, with different levels of precision, the two models (procedurally modelled buildings and the terrain model) may not always fit together properly. This corresponds with the fact that building models are regular 3D objects that have to be aligned with the continuous 2.5D digital terrain model.
Since the options for local DTM editing are limited in GIS software (at most, various filtering methods are suitable for smoothing the terrain), we have to use workarounds. Although the CityEngine software offers several functions for working with terrain (placing objects at the lowest, highest and average footprint touch points, fitting terrain to models), these functions cannot fully eliminate problems with terrain–model intersections, and on the contrary, may exaggerate these problems (height shifting of objects does not eliminate embedding/floating problems, fitting terrain to objects appears very artificial and unrealistic). In order to prevent the building models from floating above the terrain or, on the contrary, being excessively embedded into it, which is most often the case on slopes, hills, rocks or banks of the Vltava River, a second set of models was procedurally modelled. This new set of models was oriented downwards, i.e., below the terrain, and serves as the foundations for the buildings, on which the models of the buildings themselves are located (
Figure 7). These foundations have a uniform texture, and a roof angle of 0°. In addition to these minor changes, they use the same set of rules as the buildings above ground.
This solution is not perfect, but it can be applied once to the entire Vltava Valley area, and most building models will gain a more natural appearance due to the removal of floating, which is replaced by foundations. Another advantage of this solution is that it only needs to be applied once, even if the building models change, which happens frequently due to the continuous tuning and optimisation of the models.
Another limitation of the procedural modelling method, or rather, the CityEngine software in which the procedural modelling was performed, was the inclusion of external 3D models. CityEngine has problems with importing external 3D models (texture inversion, importing models in incorrect location or scale), and problems with exporting scenes to ArcGIS Online, even though it is an ESRI product (general error messages). For these reasons, piecing together these parts of the visualisation was conducted in ArcGIS Pro.
In order to combine the procedurally modelled buildings and other objects with other 3D models (photogrammetric models, models of significant buildings, churches, etc.), and import them into ArcGIS Pro, they had to be exported in geodatabase format (*.gdb). However, the procedurally created building models exported in this way were too large, over 90 GB, and, therefore, the textures were compressed. Due to the selection of high-quality textures, this reduction in quality is not noticeable on the models.
The last limitation of procedural modelling we encountered was the creation of spatially complex objects, such as churches and castles. Since their creation by procedural modelling would probably require the creation of separate rule sets for each such object, and since we have the necessary documentation for these objects, it was decided that these objects would be modelled using CAD software. This procedure is described in the next section.
2.2. Detailed Manual Modelling in CAD
In addition to the procedural model of a common conurbation in the whole area of interest, we also created more detailed models of landmark buildings in CAD software. As manual 3D modelling is rather time consuming, we carefully chose specific buildings to be modelled. First, thirteen church areas were selected, primarily in disappeared settlements. Churches were preferred as they are the natural distinguishing features of individual municipalities.
Second, historic buildings in the town of Český Krumlov and the city of České Budějovice were also modelled in more detail. The reason for this is that the first-mentioned municipality is famous worldwide (on the UNESCO World Heritage List since 1992), and it was necessary to depict it at least in a reasonable amount of detail. At the same time, it was possible to use the already existing models of heritage buildings in the town (the castle and monument reserve), which are used by the municipal authority. Therefore, it was sufficient to alter the building models to be in a state corresponding to the 19th century (
Figure 8a).
Finally, several other heritage buildings were selected, such as castles, chateaus and monasteries in the Vltava River valley, which are continuously modelled. This was facilitated by enthusiastic 3D modellers who had prepared their models originally for Google Earth and agreed to the use and modification of their models for the needs of our 3D scene. Thus, our results overlap with those of crowdsourcing-based techniques.
It is apparent that detailed 3D modelling requires more accurate input data sources. Therefore, we performed additional archival research to find existing archival drawings and textual documents from structural historical surveys. The amount of data sources found varied for each modelled object. However, the most important buildings were reasonably well documented. For example, this was the case for probably the most valuable parish complex in Červená nad Vltavou (with an originally Romanesque single-nave church from the end of the 12th century), which was relocated before the dam was filled in 1960, and its condition before the relocation is very well documented (
Figure 8b).
All input drawings had to be carefully processed by the means of digital cartography. Materials in paper form had to be scanned at a sufficient resolution, and then georeferenced in, at least, a local coordinate system. The latter was crucial to allow for the measuring of dimensions directly on the drawings. The actual modelling was performed in simple 3D CAD software. Our modelling team mainly utilised the Trimble SketchUp application, which is highly suitable for this task. An alternative could be, for example, Bentley MicroStation, which, however, is a bit more cumbersome for 3D modelling. For the clarity of our results, it was essential to divide individual building parts into components and appropriate layers.
The textures of the resulting building models were chosen to match archival iconographic materials (historical postcards and photographs). Unfortunately, most of the period photographs could not be directly used for texturing as they are of too low resolution, and are often taken from a distance, most often across a river (
Figure 9a) or from vantage points, such as cliffs, valley tops, etc. (
Figure 9b). For these reasons, parts of the buildings were textured with modern textures that are consistent with the archival source.
2.3. Conversion to the GIS Environment and Publication of the 3D Web Scene
The outcomes of the procedures described in the previous section are textured 3D models in the native format of the modelling software (e.g., SKP files in the case of Trimble SketchUp). To transform them into a form suitable for publication in the resulting web scene, we first had to export them to the GIS spatial database. This step was facilitated by the KMZ file format. The KMZ files were first exported from SketchUp, and then imported into the ESRI file geodatabase using the KML To Layer geoprocessing tool.
The resulting multipatch features were then spatially located, as the approximate position from SketchUp (Geo-location tool) is not particularly accurate. Georeferencing was performed manually based on the building footprints obtained from old maps. This was sufficient for our purpose, as the detailed models had the same level of accuracy for georeferencing as the procedurally modelled surrounding situation, whose automatic modelling was based on the same input data.
After georeferencing, we proceeded to attribute management. To enhance the information value of the resulting 3D scene, we added basic attributes to all the detailed models of landmark buildings (building type, name, dates of construction, reconstructions, or deconstruction, brief textual description of the history of the object, URL to supplementary information sources). The georeferenced models enriched with attribute data were embedded into the context of procedurally generated surroundings. All procedurally modelled buildings are also identifiable and contained the basic attributes (based on the specification of the used material derived from the
Imperial Obligatory Imprints). The entire resulting 3D scene was therefore consistent, and all models were queryable (
Figure 10).
While publishing the 3D models, we had to ensure that the results would be available to a wide range of users directly via a web browser. Encouraging users to install any third-party browser plugins is no longer acceptable. Currently, there are just two options for publishing models from a geodatabase to be viewable online.
The first alternative is exporting the whole 3D scene as one physical file (3WS) using the CityEngine procedural modelling tool. The advantage of this choice is the ease of handling and transferring the single file; however, the disadvantages prevail. The scene must be loaded into the memory as a whole before the users can view it, and the loading is quite slow; connected with this is the limited extent of the displayed area. Moreover, the export of textured surfaces from CityEngine is highly unreliable (randomly missing textures and/or inverted normals), and subsequent corrections make this method of publication a time-consuming affair.
Therefore, we decided to use the second alternative and publish the results using a more modern approach, i.e., via the 3D web service of ArcGIS Pro. This option enables dynamic content loading depending on the displayed territory in the same manner as 2D web mapping applications. For this reason, this method is also suitable for 3D scenes of large areas, as in our case. The building models were exported as 3D Object Scene Layer Packages—SLPKs. The landmarks were exported individually, while the procedurally modelled common conurbation was exported as a whole. Although this was very demanding in terms of computing power, it allows one to display the complete conurbation model as a whole more clearly within the resulting web scene. Subsequently, all SLPKs were published as hosted services on ArcGIS Online. The digital terrain model was published ibid as an image service (elevation). Textures for the terrain were created from the vectorised old maps (Imperial Obligatory Imprints). The vector model was symbolised with semi-photorealistic textures, and then published in the form of raster tiles. Individual published layers were combined online in the form of a 3D web scene via Scene Viewer.