Skip to content

v1.0.0-dev

Latest
Compare
Choose a tag to compare
@Son-HNguyen Son-HNguyen released this 19 Dec 22:54
· 43 commits to match-all-modules since this release

This is a development release containing additional features, which extend from the
base release v1.0.0. The added features are
summarized as follows:

  • Multi-module Support: CityGML top-level features from most thematic modules, such as buildings, bridges, tunnels,
    vegetation, etc. can now be mapped and matched using the same graph database.

  • 3D Spatial Matching: In addition to R-tree of 2D footprints, the height information is also considered while
    finding the best match for 3D CityGML top-level features, such as tunnels and trees.

  • Accurate Bounding Boxes: The bounding box of top-level features are normally given in the input CityGML documents.
    They may however be missing or not fully represent their geometric contents, especially in trees and city furniture
    with XLinks or implicit geometries (with transformation matrix and reference point). Since bounding boxes play a
    crucial role in subsequent analyses, the current implementation recalculates these bounding boxes after all XLinks
    have been resolved and replaces and stores the new bounding box also in the same graphs.

  • Matching of Trees: Trees often have very small footprints or bounding volume. Finding matching candidates solely
    based on their overlapping footprints or volumes may still result in a large number of potential matches. To minimize
    this number further, ideally to a single optimal match, additional checks are introduced, such as weighted values for
    class, species, height, and especially names of each tree.

  • Other Improvements: Additional improvements include:

    • The reconstruction methods can now produce the correct type for double and integer arrays directly, without
      relying on string casting.

    • Matching of attributed nodes now counts the number of their common properties with the same names and values.

    • Further refactoring and introduction of new helper functions.

NEW
  • LoD Changes: Added support for LoD changes in geometries,
    see e59b819.
    The difference in LoDs is calculated based on the highest available LoD of the two compared geometries.
    If such a deviation is detected, a corresponding change node is created and attached to the source nodes in the graph
    database.

  • CSV Export of Changes: Detected changes are now exported to CSV files,
    see 190ca36.
    The location of the directory of these CSV files is specified in the config file in the directory config.

  • CityGML Exporter: It is now possible to export an entire graph back to their original CityGML datasets (versions
    2.0 and 3.0) using Gradle,
    see 0a23164.

  • Mapping (without Matching): It is now possible to map only one CityGML dataset without matching or interpreting,
    see 6a7fcd3.
    This is useful for creating a graph representation of a single city model as a basis for further graph-based analysis.
    Simply add a single path in the config file:

    # Config file
    
    # Add a single path for mapping only
    mapper.dataset.paths = [
     "path/to/dataset.gml"
    ]
    

Full Changelog: v1.0.0...v1.0.0-dev