Comments (2)
The database schema follows the CityGML data model. In CityGML, a building's outer shell can be represented as volume or multi-surface geometry using the spatial properties of the Building
feature type (e.g., lod2Solid
or lod3MultiSurface
). Such a geometry representation provides the 3D shape, extent, and location of the building but no information about the meaning of the separate parts of the geometry. For instance, it is not explicit which surface of the geometry is a roof, a wall, or a ground surface of the building.
For this reason, CityGML defines the feature types RoofSurface
, WallSurface
, GroundSurface
, etc. These features are used to semantically classify the different boundary surfaces of the building's outer shell. And they also have spatial properties to represent the shape, extent and location of a wall, roof, or ground surface. So when modelled, these features enrich the semantic information about the building and support more sophisticated queries and analyses.
Note that both ways of describing the building are complementary and not mutually exclusive. If you just have a geometric representation of the building without knowing which parts are roofs or walls, then simply assign the geometry as-is to the Building
feature. If you have more knowledge about roof and wall surfaces, then represent these parts as RoofSurface
or WallSurface
features and assign them to the Building
. CityGML is very flexible and supports models ranging from simple geometric models to semantically rich models. There is a great paper on this so-called spatio-semantic coherence.
Most of the LoD2 building models produced today both semantically describe the wall, roof and ground surfaces and provide a solid geometry of the outer shell in addition. The semantic entities are used to query and process the separate parts of the building. The solid geometry is useful for geometric calculations such as deriving the building's volume. Since the geometry of a wall or roof surface will be identical to a part of the solid geometry, the CityGML specification requires that the building's geometry must not be given redundantly in a dataset but that it shall reuse the surfaces of the boundary surfaces through references (using GML's XLink mechanism). A nice CityGML example dataset demonstrating this can be found here.
Coming to the 3DCityDB finally: the table THEMATIC_SURFACE
is used to store the semantic boundary surfaces of the building, whereas the spatial columns of the BULIDING
table are used to store the purely geometric representation. Use the Importer/Exporter tool to import the above mentioned dataset into the 3DCityDB - then you can learn how the geometries go into the different tables and how the XLink references are mapped on the database level.
Sorry for the lengthy answer - I hope this helps.
Cheers,
Claus
from 3dcitydb.
Thank you Claus.
from 3dcitydb.
Related Issues (20)
- Enhance Github labels
- Github issue form templates
- High number of export files HOT 6
- [Question] CityGML coordinates understanding problem HOT 2
- rename "val_reference_type" to "feature_reference_type" HOT 1
- change index on "name" column of "property"
- Change xal_source column of address to support more content besides xAL
- Remove column supertype_id of table datatype HOT 2
- Export of 2D building geometries (groundfloor, upperfloor, roofs) as geojson? HOT 6
- Drop the "type" column from the geometry_data table
- Drop "val_implicitgeom_transform" column HOT 1
- Change gt_orientation to json HOT 1
- Drop "val_implicitgeom_refpoint" coulmn?
- Data creation learning-curve barrier HOT 3
- Some changes to indexes HOT 1
- Drop the "objectid" column from the geometry_data table HOT 1
- Minor changes to "property" table HOT 2
- Resolve inconsistency between objectclass and datatype HOT 2
- Harmonize file names and directory names HOT 3
- Error on import of 2.0 model HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 3dcitydb.