3D Validation of CityGML

Similar documents
CityGML Experience: From Validation to Database Management. Kean Huat SOON, Eric LOW, Zhen Hao NG and Victor KHOO

MSc Geomatics thesis presentation. Validation and automatic repair of planar partitions using a constrained triangulation.

Extruding building footprints to create topologically consistent 3D city models

Implementing INSPIRE Data Specifications Transformation workflow and Challenges Based on Example of Designated Areas for Nature Protection

ENCODING AND DECODING OF PLANAR MAPS THROUGH CONFORMING DELAUNAY TRIANGULATIONS

Study on Delaunay Triangulation with the Islets Constraints

FACET SHIFT ALGORITHM BASED ON MINIMAL DISTANCE IN SIMPLIFICATION OF BUILDINGS WITH PARALLEL STRUCTURE

Geometric Representations. Stelian Coros

Secrets of the JTS Topology Suite

Automatically repairing polygons and planar partitions with prepair and pprepair

Computational Geometry Algorithms Library. Geographic information Systems

Clipping a Mesh Against a Plane

Advanced geometry tools for CEM

Mesh Repairing and Simplification. Gianpaolo Palma

Representing Three-Dimensional Topography in a DBMS with a Star-Based Data Structure

Modelling and analysing 3D buildings with a primal/dual data structure

Robustness improvement of polyhedral mesh method for airbag deployment simulations. TU Delft

Week 8 Voronoi Diagrams

Tight Cocone DIEGO SALUME SEPTEMBER 18, 2013

Contours & Implicit Modelling 1

Contours & Implicit Modelling 4

MSc thesis in Geomatics Validation and automatic repair of planar partitions using a constrained triangulation Ken Arroyo Ohori

: Mesh Processing. Chapter 8

DATA VALIDATION AGAINST SCHEMA AND SOURCE DATA

Final Report Technical Specifications for the Construction of 3D IMGeo-CityGML

A star-based data structure to store efficiently 3D topography in a database

Convex Hulls (3D) O Rourke, Chapter 4

Repair and generalization of hand-made 3D building models

Line segment intersection. Family of intersection problems

Change list. CityGRID 2017 Release Setup. CityGRID Manager, CityGRID Administrator. Recent Developments. Recent Developments

May 21, 2014 Walter E. Washington Convention Center Washington, DC USA. Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Spectral Surface Reconstruction from Noisy Point Clouds

Computer Aided Design. Solid models and B-REP

Week 7 Convex Hulls in 3D

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Determining Differences between Two Sets of Polygons

Boolean Component. Chapter 1. Boolean Operations

Topological and temporal modelling in GML

Using ESRI data in Autodesk ISD Products

Successful STLs for 3D Printing

Development of Reverse Engineering System for Machine Engineering Using 3D Bit-map Data. Tatsuro Yashiki* and Tarou Takagi*

Research Article Polygon Morphing and Its Application in Orebody Modeling

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

10.1 Overview. Section 10.1: Overview. Section 10.2: Procedure for Generating Prisms. Section 10.3: Prism Meshing Options

Chapter 2: Rhino Objects

Convex Polygon Generation

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Computers, Environment and Urban Systems

Leveraging OGC Services in ArcGIS Server. Satish Sankaran, Esri Yingqi Tang, Esri

Geometric Modeling in Graphics

Section 8.3: Examining and Repairing the Input Geometry. Section 8.5: Examining the Cartesian Grid for Leakages

May 7: The source code for your project, including instructions for compilation and running, are due today. This portion is worth 80% of your score:

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

Computing 3D Geometry Directly From Range Images

Scientific Computing WS 2018/2019. Lecture 12. Jürgen Fuhrmann Lecture 12 Slide 1

FLEXIBLE GENERATION OF SEMANTIC 3D BUILDING MODELS

Computer Aided Engineering Applications

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

BUILDING RECONSTRUCTION USING LIDAR DATA

Saab. Kyle McDonald. Polygon Meshes

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Constrained Boundary Recovery for Three Dimensional Delaunay Triangulations

Introduction to Solid Modeling

Geometric Modeling Topics

Lecture notes: Object modeling

10/21/ D Printing. In the Beginning, Manufacturing was Subtractive. Examples of 3D Printing. Today s 3D Printing Process.

3D Printing. Mike Bailey

10/21/ D Printing. In the Beginning, Manufacturing was Subtractive. Mike Bailey.

10/21/ D Printing. In the Beginning, Manufacturing was Subtractive. Examples of 3D Printing. Today s 3D Printing Process

Grade VIII. Mathematics Geometry Notes. #GrowWithGreen

Outline of the presentation

Democratizing Geospatial Modelling:

An Introduction to Geometric Modeling using Polygonal Meshes

Successful STLs For Polyjet 3D Printing

Surface Reconstruction. Gianpaolo Palma

Topological Issues in Hexahedral Meshing

Handles. The justification: For a 0 genus triangle mesh we can write the formula as follows:

Storing and using scale-less topological data efficiently in a clientserver DBMS environment

Sedimentation in Aquilla Lake Hill County, Texas

Constrained Delaunay Triangulations (CDT)

STL Rapid Prototyping

SURFACE CONSTRUCTION USING TRICOLOR MARCHING CUBES

Triangulation and Convex Hull. 8th November 2018

Topology in the Geodatabase: An Introduction

Computer Aided Engineering Design Prof. Anupam Saxena Department of Mechanical Engineering Indian Institute of Technology, Kanpur.

Mesh Generation of Large Size Industrial CFD Applications using a Cartesian Grid based Shrink Wrap approach

COMPUTING CONSTRAINED DELAUNAY

Announcements. Data Sources a list of data files and their sources, an example of what I am looking for:

CLASSIFICATION OF SURFACES

Topology and Shape optimization within the ANSA-TOSCA Environment

pine cone Ratio = 13:8 or 8:5

Scalar Algorithms: Contouring

CSC Computer Graphics

Licom Systems Ltd., Training Course Notes. 3D Surface Creation

Lesson 7.1. Angles of Polygons

Oracle. Oracle Spatial 11g Essentials. 1z Version: Demo. [ Total Questions: 10] Web:

OpenGIS Image geopositioning metadata GML 3.2 application schema

Level of Details in Computer Rendering

Transcription:

3D Validation of CityGML Hugo Ledoux GIS technology group 10 March 2009

CityGML Information model for exchange and storage of 3D city models Based on GML (thus XML-based) Now an international standard (acc. to OGC) Contains 5 different levels of detail (LOD)

CityGML Information model for exchange and storage of 3D city models Based on GML (thus XML-based) Now an international standard (acc. to OGC) Contains 5 different levels of detail (LOD)

CityGML Information model for exchange and storage of 3D city models Based on GML (thus XML-based) Now an international standard (acc. to OGC) Contains 5 different levels of detail (LOD)

Validation = geometric validation Validating a spatial object means ensuring that it respects certain specifications Specifications are standardised, such as by the ISO or the OGC XML schema validation (*.xsd) For Polygons: 1 closed boundary 2 no self-intersection 3 ring does not intersect boundary 4 etc VALID NON-VALID NON-VALID

XML Schema Validation (*.xsd) <Building gml:id="build0815"> <function>1000</function> <yearofconstruction>1985</yearofconstruction> <rooftype>1030</rooftype> <measuredheight uom="#m">8.0</measuredheight> <storeysaboveground>2</storeysaboveground> <storeyheights uom="#m">2.5 2.5</storeyHeights>...... </Building>

Validation = geometric validation Validating a spatial object means ensuring that it respects certain specifications Specifications are standardised, such as by the ISO or the OGC XML schema validation (*.xsd) For Polygons: 1 closed boundary 2 no self-intersection 3 ring does not intersect boundary 4 etc VALID NON-VALID NON-VALID

Why do we want to validate spatial objects? Non-valid spatial objects are fine if you only want to look at them! Validation is necessary to guarantee output of processing or manipulation operations: calculation of area of a polygon creation of a buffer boolean operations such as intersection, touch, contain, etc. conversion to other formats For 2D objects, functions implemented and used (e.g. GEOS, JTS) Very complex task, even in 2D

Validation of polygons = many cases

GML Geography Markup Language <gml:solid> <gml:exterior> <gml:compositesurface> <gml:surfacemember> <!--top surface--> <gml:polygon gml:id="a"> <gml:exterior> <gml:linearring> <gml:pos>0 0 1</gml:pos> <gml:pos>1 0 1</gml:pos> <gml:pos>1 1 1</gml:pos> <gml:pos>0 1 1</gml:pos> <gml:pos>0 0 1</gml:pos> </gml:linearring> </gml:exterior> </gml:polygon> </gml:surfacemember>...... </gml:compositesurface> </gml:exterior> </gml:solid>

Examples of solids INVALID VALID VALID

Example of a CityGML solid

Validation with constrained Delaunay tetrahedralization 3 buildings DT of the vertices of the buildings Constrained DT Constrained Delaunay triangulation (in 2D)

Validation with constrained Delaunay tetrahedralization Constrained Delaunay tetrahedralization (in 3D)

Main ideas for geometric validation Using volumetric methods, since we re dealing with volumes Create CDT for the objects, and then eat away tetrahedralization Permits us to easily detect connectedness problems, non-watertight situations, etc.

Main ideas for geometric validation Using volumetric methods, since we re dealing with volumes Create CDT for the objects, and then eat away tetrahedralization Permits us to easily detect connectedness problems, non-watertight situations, etc.

3D model of the TU Delft campus Simplest method to create 3D city models: Extrusion

Topological problems with extrusion E=12m B=12m A=15m C=8m D=9m (a) (b) Touching buildings create problems

Topological problems with extrusion E=12m a b C=8m A=15m B=12m d c D=9m b a c d k b o a n l g e i h f p j c q d m (a) (b) (c) Touching buildings create problems

Our approach to extrusion Since no cleaning tools in 3D yet, we used 2D tools Creation of topologically consistent file for the buildings Shapefile FME + Oracle Topology Iteration over the edges to construct vertical planes

Tetrahedralized model of TU Delft Validation of our approach

That s all, thanks for your attention!

Automatic Repair

Other Examples

Ambiguities in ISO/GML

What do we have to check? 1. closedness of the rings of every surface: easy, just check if 1st and last point given are the same. Done outside tetgen, as a pre-processing. 2. distinct vertex: easy to check, and must be done outside tetgen as pre-processing. 3.orientation of points within a surface: to make sure that the outer and the inner ring(s) have opposite orientation (CCW and CW). This must be done outside tetgen as a pre-process, and involves finding a single point that defines a hole for the inner rings. 4. planarity of surfaces: this is checked when tetgen makes a surface mesh, it s a requirement of tetgen. Done pre-processing right now. 5.non-self intersection of surfaces: this is checked with tetgen surface mesh also.

What do we have to check? 6. non-overlapping inner rings on a surface. That would be checked automatically by tetgen also when meshing each surface. [again, that might not be necessary for same reason as rule #3] 7. closedness of the solid: Builtin tetgen. 8. Inner shells are a volume This is to make sure that one inner shell is not a line segment for instance. That wouldn t be a problem for tetgen, so we have to take extra care for that one... I guess that would be done when checking the closedness in rule #7. 9. connectedness of the volume of the solid: rather easy to perform, once we have the CDT. Start at a point inside a IN tetra, and breath-first search, counting tetra visited on the way. Constraints obviously stops you. Then compare number of visited tetra with total number of IN tetra.

What do we have to check? 10. inner-outer check of shells, ie make sure that inner shells do not intersect outer shells. The triangle-triangle intersection series of tests will test that. 11. orientation of surfaces : probably the last step of the algorithm. Once we have the CDT with all tetra flagged as IN or OUT, we can then make sure that for each face, the tetra on each side are all consistent. Two cases: the point given to define the interior was based on a wrongly orientated faces; point given was based on a correctly orientated face.