Code Monkey home page Code Monkey logo

Comments (2)

clausnagel avatar clausnagel commented on May 27, 2024

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.

walterogrady avatar walterogrady commented on May 27, 2024

Thank you Claus.

from 3dcitydb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.