challenge the future delft university of technology the validation and repair of citygml building...
Post on 31-Dec-2015
224 Views
Preview:
TRANSCRIPT
Challenge the future
DelftUniversity ofTechnology
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
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
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
val3dityValidation of solids according to the international standard ISO 19107
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
Examples of the validation of CityGML datasets
• FZK-Haus_LoD4_SpaceSolid• Total buildings: 1
• Invalid buildings: 1
• Type of errors: Dangling faces (200)
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
10
Repair - why a framework is needed?
What are the proper criteria for validity of CityGML models?
How to repair the errors accordingly?
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
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
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
2-Manifold: YESSimple: YES
2-Manifold: YESSimple: YES
2-Manifold: NOSimple: YES
2-Manifold: NOSimple: NO
2-Manifold: YESSimple: YES
Invalid and valid geometry
• Surfaces, CompositeSurfaces, MultiSurfaces
2-Manifold: NOSimple: YES
2-Manifold: NOSimple: YES
2-Manifold: NOSimple: YES
2-Manifold: NOSimple: NO
2-Manifold: NOSimple: YES
15
Invalid and valid geometry
• Solids, CompositeSolids, MultiSolids
2-Manifold: NOSimple: YES
2-Manifold: NO Simple: YES
2-Manifold: NOSimple: YES
2-Manifold: YESSimple: YES
2-Manifold: NOSimple: YES
2-Manifold: NOSimple: YES
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
Aggregate model Aggregate model
Component model
Component model
CityGML model
Component model
Component model
Building PartsBuilding Parts
Building Installations, RoomsBuilding Installations, Rooms
Validty criteria for CityGML geometry
• Suitable for analysis and retain the power of representing
Simple Complex
2-manifoldSurfaces or Solids
19
Repair operators
• Repair of component models• Goal: 2-manifold
• Operators for 2D surfaces• Splitting
• Separation
• Boolean operation
Splitting + Separation
Boolean
Boolean
20
Repair operators
• Repair of component models• Goal: 2-manifold
• Operators for 3D Solids• Separation
• Boolean
• Shell extraction (hole filling)
Separation
Boolean
Boolean + SeparationShell extraction
21
Repair operators
• Repair of aggregate models• Goal: simple
• Operators• Splitting
a) b) c)
d) e)
2D vs 2D
3D vs 3D
3D vs 2D
22
More than repair…
𝐆𝐌𝐀𝐠𝐠𝐫𝐞𝐠𝐚𝐭𝐞<𝐆𝐌𝐂𝐨𝐦𝐩𝐨𝐬𝐢𝐭𝐞≤𝐆𝐌𝐏𝐫𝐢𝐦𝐢𝐭𝐢𝐯𝐞
• Aggregate enhancement
MultiSurface
CompositeSurface
Surface
Shell SolidIf connected If closed convert
23
Repair of aggregate models
• Resolve intersection and degeneracies• Polygon tessellation
• Triangle intersection detection
• Triangle decomposition
• Merge of co-planer triangles
• Eliminate degeneracies
a) b) c) d)
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
Mesh repair
• Local methods• Zip gaps
• Fill holes
• Etc.
•Global methods• Voxels
• Half-space partition
• Octree
• Etc.
(Barequet, 97)
(Oomes, 97)
26
Repair using shrink-wrapping
• Emulates the process where a membrane is shrunk and finally wrapped an object
Input Decomposition Tetrahedralization
Heuristic carving Watertight output
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
Carving operation
• Carve• Delete a candidate tetrahedron
• Tag all the non-fixed member triangles as candidates
• Keep • Tag all the member triangles as fixed
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.
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
a) b) c)
1
2
a) b) c)
1
2
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
Configuration DoF CP4C 0F 0 43C 1F 1 33C 0F 1 22C 2F 2 22C 1F 2 12C 0F 2 01C 3F 3 11C 2F 3 01C 1F 3 -11C 0F 3 -2
38
Semantics
Semantics of a face
Face decomposition
New face
Inherit the semantics
Deduce the semantics
Homogeneous neighboring
coplanar faces
Heterogeneousneighboring
coplanar faces
Transplant the semantics
Deduce the semantics based on
normal
No neighboring coplanar surfaces
Merge the faces with the same ID
Transplant the dominant semantics
39
Semantics
• Simple rules for LOD2 buildings
Normal direction SemanticsThreshold
(angle between Z)
UpwardRoof surface,
OuterFloor surface0 ~ 75 degree
Horizontal Wall surface 75 ~ 179 degree
DownwardGround surface,
OuterCeiling surface179-180 degree
40
Implementation
• CityGML2Poly• Geometry
• Semantics
•Decomposition• Triangle-triangle
overlap test [Moller, 97]
• Delaunay triangulation [Shewchuk, 97]
• Tetrahedralization• TetGen 1.5 [Si, 2013]
43
Rotterdam CityGML model - WitteDorp
• Total buildings: 232
• Invalid buildings: 232
•Valid buildings after repair: 214 (92%)
45
Rotterdam CityGML model - Nesselande
• Total buildings: 4740
• Invalid buildings: 4276
•Valid buildings after repair: 3972 (82%)
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
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
val3dityValidation of solids according to the international standard ISO 19107
56
Tackle slopes, elevators
• Adaptive voxels• Finer resolution around slopes
• Routing with multi-sized steps
• Voxels enriched by semantics•Weighting
top related