Validation and Automatic Repair of Planar Partitions using a Constrained Triangulation

Planar partitions (subdivisions of the plane into polygonal areas) constitute one of the most important data representations in GIS. They are used to model concepts as varied as land use, administrative units, natural features and cadastral parcels, among many others. However, since polygons are often stored separately, different errors and inconsistencies are introduced during their creation, manipulation (both manual and automatic) and exchange. These come in the form of invalid polygons, gaps, overlaps and disconnected polygons, which severely hampers their use in other software. Existing approaches to solve this problem usually involve polygon repair using a list of constraints, and complex planar partition repair operations performed on a planar graph. However, these have many shortcomings in terms of complexity, numerical robustness and difficulty of implementation. Moreover, they leave many invalid cases untouched. To solve this problem, a novel method to validate and automatically repair planar partitions has been developed. It uses a constrained triangulation of the polygons as a base, which being by definition a planar partition, means that only relatively simple operations are needed to ensure that the output becomes valid. Point locations are maintained throughout the process, while fully automatic repair is possible using customisable criteria. This approach is also extensible to individual polygons, is capable of handling a larger variety of cases and has good performance compared to existing alternatives; all of this with numerical robustness and maintaining topological consistency throughout. In order to analyse, test and improve the developed algorithms, and encourage further development, a fast and efficient implementation has been written in C++, which has been tested with several large data sets and compared with other available software, regarding both performance and functionality. This prototype is able to successfully repair planar partitions of more than 100,000 polygons. It is also open source and freely available on the GDMC website (http://www.gdmc.nl/).

[1]  Y. Heymann,et al.  CORINE Land Cover. Technical Guide , 1994 .

[2]  Jan W. van Roessel,et al.  A new approach to plane-sweep overlay: topological structuring and line-segment classification , 1991 .

[3]  Keith Ryden,et al.  OpenGIS ® Implementation Specification for Geographic information - Simple feature access - Part 1:Common architecture , 2005 .

[4]  Tim Burns Effective unit testing , 2001, UBIQ.

[5]  P. Levin,et al.  On conforming Delaunay mesh generation , 1992 .

[6]  Olivier Devillers,et al.  Walking in a triangulation , 2001, SCG '01.

[7]  Ernst P. Mücke,et al.  Fast randomized point location without preprocessing in two- and three-dimensional Delaunay triangulations , 1996, SCG '96.

[8]  Walid G. Aref,et al.  On local heuristics to speed up polygon-polygon intersection tests , 1999, GIS '99.

[9]  Jonathan Richard Shewchuk,et al.  Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator , 1996, WACG.

[10]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[11]  M. Meijers,et al.  Automatically repairing invalid polygons with a constrained triangulation , 2012 .

[12]  Marc J. van Kreveld On fat partitioning, fat covering and the union size of polygons , 1998, Comput. Geom..

[13]  L. Anselin What is Special About Spatial Data? Alternative Perspectives on Spatial Data Analysis (89-4) , 1989 .

[14]  J. Shewchuk,et al.  Delaunay refinement mesh generation , 1997 .

[15]  Stefan Wiemann,et al.  Conflation Services within Spatial Data Infrastructures , 2010 .

[16]  Günter Rote,et al.  Incremental constructions con BRIO , 2003, SCG '03.

[17]  Soe-tsyr Yuan,et al.  Development of Conflation Components , 1999 .

[18]  Jack Snoeyink,et al.  Faraway Point: a Sentinel Point for Delaunay Computation , 2008, Int. J. Comput. Geom. Appl..

[19]  Michael E. Mortenson Mathematics for Computer Graphics Applications , 1999 .

[20]  Nicholas Chrisman,et al.  Cartographic Data Structures , 1975 .

[21]  Chandrajit L. Bajaj,et al.  Polygon Nesting and Robustness , 1990, Inf. Process. Lett..

[22]  J. Shewchuk,et al.  Streaming computation of Delaunay triangulations , 2006, ACM Trans. Graph..

[23]  C. Dana Tomlin Map algebra: one perspective , 1994 .

[24]  Mariette Yvinec,et al.  Triangulations in CGAL , 2002, Comput. Geom..

[25]  Lutz Plümer,et al.  Achieving Integrity in Geographic Information Systems—Maps and Nested Maps , 1997, GeoInformatica.

[26]  Mark de Berg,et al.  An intersection-sensitive algorithm for snap rounding , 2007, Comput. Geom..

[27]  Michael Ian Shamos,et al.  Geometric intersection problems , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[28]  Kurt Mehlhorn,et al.  Classroom Examples of Robustness Problems in Geometric Computations , 2004, ESA.

[29]  Klaus Greve,et al.  Requirements for Next Generation Spatial Data Infrastructures‐Standardized Web Based Geoprocessing and Web Service Orchestration , 2007, Trans. GIS.

[30]  Joseph O'Rourke,et al.  Computational geometry in C (2nd ed.) , 1998 .

[31]  Derek Thompson,et al.  Fundamentals of spatial information systems , 1992, A.P.I.C. series.

[32]  Guy E. Blelloch,et al.  Compact representations of simplicial meshes in two and three dimensions , 2005, Int. J. Comput. Geom. Appl..

[33]  R. F. Tomlinson,et al.  The Impact of the Transition From Analogue to Digital Cartographic Representation , 1988 .

[34]  John D. Hobby,et al.  Practical segment intersection with finite precision output , 1999, Comput. Geom..

[35]  Stefan Schirra,et al.  Precision and Robustness in Geometric Computations , 1996, Algorithmic Foundations of Geographic Information Systems.

[36]  Lutz Plümer,et al.  Nested maps—a formal, provably correct object model for spatial aggregates , 1996, GIS '96.

[37]  H. Si Three Dimensional Boundary Conforming Delaunay Mesh Generation , 2008 .

[38]  Kate Beard,et al.  Zipper: A Localized Approach to Edgematching , 1988 .

[39]  Alain Fournier,et al.  Triangulating Simple Polygons and Equivalent Problems , 1984, TOGS.

[40]  Michael F. Worboys,et al.  GIS : a computing perspective , 2004 .

[41]  P. Pizor Principles of Geographical Information Systems for Land Resources Assessment. , 1987 .

[42]  Hugo Ledoux,et al.  Validation of planar partitions using constrained triangulations , 2010 .

[43]  M. Goodchild,et al.  Geographic Information Systems and Science (second edition) , 2001 .

[44]  Nicholas Chrisman Deficiencies of sheets and tiles: building sheetless databases , 1990, Int. J. Geogr. Inf. Sci..

[45]  Robert Laurini,et al.  Topological reorganization of inconsistent geographical databases: A step towards their certification , 1994, Comput. Graph..

[46]  Poland ÃLódź,et al.  International Journal of Foundations of Computer Science c ○ World Scientific Publishing Company EFFICIENT ALGORITHMS FOR (δ, γ, α) AND , 2008 .

[47]  Michael Friendly,et al.  Milestones in the history of thematic cartography, statistica l graphics, and data visualization , 2008 .

[48]  Victor J. Milenkovic,et al.  Robust polygon modelling , 1993, Comput. Aided Des..

[49]  John E. Hopcroft,et al.  Towards implementing robust geometric computations , 1988, SCG '88.

[50]  Joseph O'Rourke,et al.  Computational Geometry in C. , 1995 .

[51]  Kurt Mehlhorn,et al.  Four Results on Randomized Incremental Constructions , 1992, Comput. Geom..

[52]  Michael A. Facello,et al.  Implementation of a randomized algorithm for Delaunay and regular triangulations in three dimensions , 1995, Comput. Aided Geom. Des..

[53]  Peter van Oosterom,et al.  About Invalid, Valid and Clean Polygons , 2004, SDH.

[54]  Bettina Speckmann,et al.  Kinetic collision detection for simple polygons , 2000, SCG '00.

[55]  Errol L. Lloyd On triangulations of a set of points in the plane , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[56]  R. M. Dijkstra Information Processing Letters , 2003 .

[57]  M. Baars,et al.  A comparison between ESRI Geodatabase topology and Laser-Scan Radius Topology , 2003 .

[58]  Jonathan Richard Shewchuk,et al.  Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates , 1997, Discret. Comput. Geom..

[59]  Francisco R. Feito-Higueruela,et al.  Boolean operations on general planar polygons , 2000, Comput. Graph..

[60]  Luc Anselin,et al.  WHAT IS SPECIAL ABOUT SPATIAL DATA , 2006 .

[61]  Christopher M. Gold,et al.  Outside-in: An Alternative Approach to Forest Map Digitizing , 1996, Int. J. Geogr. Inf. Sci..

[62]  Anthony E. Lupien,et al.  A GENERAL APPROACH TO MAP CONFLATION , 2008 .

[63]  Sean Michael Barker Towards a topology for computational geometry , 1995, Comput. Aided Des..

[64]  Bernard Chazelle,et al.  Decomposing a polygon into its convex parts , 1979, STOC.

[65]  Nicholas Chrisman,et al.  The Risks of Software Innovation: a Case Study of the Harvard Lab , 1988 .

[66]  Avraham Margalit,et al.  An algorithm for computing the union, intersection or difference of two polygons , 1989, Comput. Graph..

[67]  Michael F. Goodchild,et al.  Demystifying the Persistent Ambiguity of GIS as ‘Tool’ versus ‘Science’ , 1997 .