Download presentation
Presentation is loading. Please wait.
Published byBeatrice Fletcher Modified over 9 years ago
1
Challenge the future Delft University of Technology The Validation and Repair of CityGML Building Models Junqiao (John) Zhao GIS technology, OTB, Faculty of Architecture and The Built Environment, TUDelft 3 DEC 2013
2
2 Research motivation Visually satisfied model are not always usable Many applications assume the 3D model free of defects, especially those involved in geometric processing e.g. Analysis, Generalization etc. Looks good != Is good Complexity of repair task is often underestimated ( Campen et al., 2012 ) Estimated Reality
3
3 Errors found in CityGML models
4
4 3D Validator Initiated in 3D Pilot Phase 2 Hugo Ledoux (Val3dity) Jan kooijman (CityGML2Poly) Val3dity Improved several algorithms Normal calculation Inside-out detection (with Sjors) Output the visible erroneous map Validate 3D BGT (with Sander) CityGML2Poly – CityGML2SPoly Support semantics Correct the work flow of geometry extraction (multisurface and solids) Optimization of the data structure val3dity Validation of solids according to the international standard ISO 19107
5
5 Examples of the validation of CityGML datasets Berlin_Alexanderplatz_v1.0.0 Total buildings: 1123 Invalid buildings: 229 Type of errors: Hole, Intersection, Floating faces
6
6 Examples of the validation of CityGML datasets FZK-Haus_LoD4_SpaceSolid Total buildings: 1 Invalid buildings: 1 Type of errors: Dangling faces (200)
7
7 Examples of the validation of CityGML datasets Rotterdam 3D - Nesselande Total buildings: 4740 Invalid buildings: 4276 Type of errors: Non-planar polygon, Hole, Floating faces, Intersection
8
8
9
9 For more datasets An online validation tool Integrated with 3DCityDB?
10
10 Repair - why a framework is needed? What are the proper criteria for validity of CityGML models? How to repair the errors accordingly?
11
11 Quality requirement Visualization VR, Navigation, Planning Measurement 3D maps, CADASTRE Analysis Simulation, Indoor, CFD No strict requirement Require valid geometry Require valid geometry and topological structure
12
12 Problems Criteria of quality are vague in standards CityGML CompositeSurfaces and Shells are represented by Multi-Surfaces ISO 19107 A simple geometric primitive can be invalid Multi-surface
13
13 The definition of validity For representing purpose Simple : geometric object that its interior is isotropic, and hence everywhere locally isomorphic to an open subset of a Euclidean coordinate space of the appropriate dimension (ISO19107) For analytical applications 2-manifold : a topological space in which each point has a neighbourhood that is homeomorphic to the Euclidean space of dimension two
14
14 2-Manifold: YES Simple: YES 2-Manifold: YES Simple: YES 2-Manifold: NO Simple: YES 2-Manifold: NO Simple: NO 2-Manifold: YES Simple: YES Invalid and valid geometry Surfaces, CompositeSurfaces, MultiSurfaces 2-Manifold: NO Simple: YES 2-Manifold: NO Simple: YES 2-Manifold: NO Simple: YES 2-Manifold: NO Simple: NO 2-Manifold: NO Simple: YES
15
15 Invalid and valid geometry Solids, CompositeSolids, MultiSolids 2-Manifold: NO Simple: YES 2-Manifold: NO Simple: YES 2-Manifold: NO Simple: YES 2-Manifold: YES Simple: YES 2-Manifold: NO Simple: YES 2-Manifold: NO Simple: YES
16
16 The definition of validity Should all valid CityGML models be 2-manifold? Enforcing 2-manifold is restrictive for representing purpose Complex implies relations like connection, adjacency
17
17 Validty criteria for CityGML geometry Suitable for analysis and retain the power of representing Simple Complex 2-manifold Surfaces or Solids
18
18 Recursive repair paradigm Simple Repair of component models Repair of aggregate models
19
19 Repair operators Repair of component models Goal: 2-manifold Operators for 2D surfaces Splitting Separation Boolean operation Splitting + Separation Boolean
20
20 Repair operators Repair of component models Goal: 2-manifold Operators for 3D Solids Separation Boolean Shell extraction (hole filling) Separation Boolean Boolean + Separation Shell extraction
21
21 Repair operators Repair of aggregate models Goal: simple Operators Splitting 2D vs 2D 3D vs 3D 3D vs 2D
22
22 More than repair… Aggregate enhancement
23
23 Repair of aggregate models Resolve intersection and degeneracies Polygon tessellation Triangle intersection detection Triangle decomposition Merge of co-planer triangles Eliminate degeneracies
24
24 Repair requirements for component models Geometry Water-tight Simple shell (2-manifold) Decompose intersecting parts Fill holes Remove the interior Semantics Correct ID and ‘BoundedBy’ semantics Preserve the correct input semantics Deduce the missing semantics
25
25 Mesh repair Local methods Zip gaps Fill holes Etc. Global methods Voxels Half-space partition Octree Etc. (Barequet, 97) (Oomes, 97)
26
26 Repair using shrink-wrapping Emulates the process where a membrane is shrunk and finally wrapped an object
27
27 Video https://vimeo.com/80282908
28
28 Categorizing triangles Fixed triangle Imported from the input Candidate triangle Generated triangles that are on the hull Candidate tetrahedron A tetrahedron composed of at least one candidate triangle
29
29 Carving operation Carve Delete a candidate tetrahedron Tag all the non-fixed member triangles as candidates Keep Tag all the member triangles as fixed
30
30 Topological constraints For facets (2-faces)
31
31 Topological constraints For edges (1-faces)
32
32 Topological constraints For vertices (0-faces)
33
33 Geometric constraints The topological constraints treat every face equally, which exaggerates the influence of tiny error faces. The characteristics of the input model have to be preserved/deduced, such as filling holes.
34
34 Geometric constraints Bounded coplanar facets
35
35 Geometric constraints Discard ill-shaped facets Judged by the area of a facet Preserve the interior tetrahedron when the input geometry is correctly oriented
36
36 The proper carving order If errors are present on the exterior, the order is crucial
37
37 Heuristic carving Carve the “corner” first Carve the “better known” candidate first Carve “evenly” Heuristics Degree of Freedom (DoF) Carving profit (Cp) Distance from the center
38
38 Semantics
39
39 Semantics Simple rules for LOD2 buildings
40
40 Implementation CityGML2Poly Geometry Semantics Decomposition Triangle-triangle overlap test [Moller, 97] Delaunay triangulation [Shewchuk, 97] Tetrahedralization TetGen 1.5 [Si, 2013]
41
41 Courtesy to Filip
42
42
43
43 Rotterdam CityGML model - WitteDorp Total buildings: 232 Invalid buildings: 232 Valid buildings after repair: 214 (92%)
44
44 Rotterdam CityGML model - WitteDorp
45
45 Rotterdam CityGML model - Nesselande Total buildings: 4740 Invalid buildings: 4276 Valid buildings after repair: 3972 (82%)
46
46 Rotterdam CityGML model - Nesselande
47
47 Discussion
48
48 Generalization using Shrink-wrapping Courtesy to Sjors
49
49 Repair and Generalization
50
50 With semantics
51
51 Summary A top-down repair method without introducing discretization artefacts Good constraints and heuristics are essential to make the smart decision during carving The validation result has not been used yet, which can provide guidance to the repair process Semantics are supported The repair task is always an ill-posed problem
52
52 Future work Integrate with 3D validator Only repair invalid models Using the error information provided by 3D validator Build a repair framework Repair solids then repair the complex val3dity Validation of solids according to the international standard ISO 19107
53
53 Other activities Indoor routing based on weighted voxels (with Liu Liu)
54
Fly mode Walk mode
56
56 Tackle slopes, elevators Adaptive voxels Finer resolution around slopes Routing with multi-sized steps Voxels enriched by semantics Weighting
57
57 Acknowledgement
58
58 I thank you for your attention! My new affiliation Department of Computer Science and Technology, Tongji University, Shanghai
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.