B.Sc. Matej Gomboši Determining differences between two sets of polygons Laboratory for Geometric Modelling and Multimedia Algorithms Faculty of Electrical.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

CpSc 3220 File and Database Processing Lecture 17 Indexed Files.
GUS: 0262 Fundamentals of GIS
Data Models There are 3 parts to a GIS: GUI Tools
The A-tree: An Index Structure for High-dimensional Spaces Using Relative Approximation Yasushi Sakurai (NTT Cyber Space Laboratories) Masatoshi Yoshikawa.
Introduction to Computer Science 2 Lecture 7: Extended binary trees
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Building Models modified by Ray Wisman Ed Angel Professor of Computer Science,
Chapter 15 Algorithms for Query Processing and Optimization Copyright © 2004 Pearson Education, Inc.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Space-for-Time Tradeoffs
Lecture 3: Parallel Algorithm Design
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
CPSC 335 Dr. Marina Gavrilova Computer Science University of Calgary Canada.
03/12/02 (c) 2002 University of Wisconsin, CS559 Last Time Some Visibility (Hidden Surface Removal) algorithms –Painter’s Draw in some order Things drawn.
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.

Chapter 3 The Efficiency of Algorithms
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
ACS-4902 Ron McFadyen Chapter 15 Algorithms for Query Processing and Optimization.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
ECE 250 Algorithms and Data Structures Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Advanced Algorithm Design and Analysis (Lecture 9) SW5 fall 2004 Simonas Šaltenis E1-215b
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Parcel Data Models for the Geodatabase
Chapter 3 Sections 3.5 – 3.7. Vector Data Representation object-based “discrete objects”
Faculty of Applied Engineering and Urban Planning Civil Engineering Department Geographic Information Systems Vector and Raster Data Models Lecture 3 Week.
CHAPTER 09 Compiled by: Dr. Mohammad Omar Alhawarat Sorting & Searching.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Chapter 13 Query Processing Melissa Jamili CS 157B November 11, 2004.
A 3D Model Alignment and Retrieval System Ding-Yun Chen and Ming Ouhyoung.
Visible-Surface Detection Jehee Lee Seoul National University.
CS261 – Recitation 5 Fall Outline Assignment 3: Memory and Timing Tests Binary Search Algorithm Binary Search Tree Add/Remove examples 1.
URBDP 422 Urban and Regional Geo-Spatial Analysis Lecture 2: Spatial Data Models and Structures Lab Exercise 2: Topology January 9, 2014.
Lecture 2 Introduction to GIS, Data models, Data structures.
Data Structures and Algorithms Lecture 1 Instructor: Quratulain Date: 1 st Sep, 2009.
GUS: 0265 Applications in GIS Lecture Presentation 1: Vector Data Model and Operations Jeremy Mennis Department of Geography and Urban Studies Temple University.
Hashing is a method to store data in an array so that sorting, searching, inserting and deleting data is fast. For this every record needs unique key.
Chapter 18: Searching and Sorting Algorithms. Objectives In this chapter, you will: Learn the various search algorithms Implement sequential and binary.
INTRODUCTION TO GIS  Used to describe computer facilities which are used to handle data referenced to the spatial domain.  Has the ability to inter-
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Sorting and Searching by Dr P.Padmanabham Professor (CSE)&Director
Hashtables. An Abstract data type that supports the following operations: –Insert –Find –Remove Search trees can be used for the same operations but require.
Advance Database Systems Query Optimization Ch 15 Department of Computer Science The University of Lahore.
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI CSCI 240 Elementary Data Structures Array Lists Array Lists Dale.
Data Structures and Algorithms Searching Algorithms M. B. Fayek CUFE 2006.
Computer Science: A Structured Programming Approach Using C1 8-7 Two-Dimensional Arrays The arrays we have discussed so far are known as one- dimensional.
What is GIS? “A powerful set of tools for collecting, storing, retrieving, transforming and displaying spatial data”
Chapter 5 Record Storage and Primary File Organizations
CSC 143T 1 CSC 143 Highlights of Tables and Hashing [Chapter 11 p (Tables)] [Chapter 12 p (Hashing)]
CPS120: Introduction to Computer Science Nell Dale John Lewis Abstract Data Types.
Storage and File Organization
Lecture 3: Parallel Algorithm Design
Indexing Goals: Store large files Support multiple search keys
INTRODUCTION TO GEOGRAPHICAL INFORMATION SYSTEM
Geographical Information Systems
Operating Systems (CS 340 D)
Database Performance Tuning and Query Optimization
Query Processing in Databases Dr. M. Gavrilova
Objective of This Course
Query Processing B.Ramamurthy Chapter 12 11/27/2018 B.Ramamurthy.
CSE 214 – Computer Science II B-Trees
Advance Database Systems
Space-for-time tradeoffs
Chapter 11 Database Performance Tuning and Query Optimization
Overlay of Two Subdivisions
Invitation to Computer Science 5th Edition
Presentation transcript:

B.Sc. Matej Gomboši Determining differences between two sets of polygons Laboratory for Geometric Modelling and Multimedia Algorithms Faculty of Electrical Engineering and Computer Science University of Maribor

Introduction  Parcel records on paper - cadastre  Computer supported cadastre  Database changes  Keeping database up-to-date  Finding and analyzing changes  Working with changes in geometry and attributes  Lack of appropriate commercial solutions (ESRI, ArcView)  Integrated solution for GIS environments

Introduction Difference ?

Formulation 1. Let P be a polygon made up of vertices v 1, v 2,..., v n and edges e 1, e 2,..., e n connecting them. 2. Let S be a set of polygons P 1, P 2,..., P n. Each P i can have arbitrary shape and number of vertices. 3. Find a set of polygons D, which represents the difference between S 1 and S 2. D contains changed polygons P 1, P 2,..., P m, which belong to S 1 or S 2.

Strategies  Brute force approach  Localized search approch  Speed and stability considerations  Separate aplications for different problems (need for integration)

Basic idea  Comparison of S 1 and S 2 based on polygon edges  Removing equal edges  What remains represents changes  Analyzing remaining edges

Polygon Sets of polygons from ESRI files (SHP) Organized data structures in memory Edge as main object “Work table” Uniform plane subdivision Binary search tree in cells Sorted edges Edge p 1,p 2 Polygon info Hole info Data objects

“Work table” binary search tree in each cell pointers to tree roots

Polygon edge information 1.Coordinates - p 1 (x 1,y 1 ), p 2 (x 2,y 2 ) 2.Polygon info polygon index set indicator (S1 or S2) index of the surrounding polygon Counter Hole info hole index (locally inside a polygon)

Edge clasification Counter values!

1.Acquiring polygon sets from ESRI database 2.Inserting edges into uniform plane subdivison 3.Updating already existing edges 4.Removing of equal edges 5.Analyzing remaining edges 6.Storing changes Algorithm

Finding differences (1)

Finding differences (2)

Problems at comparing attributes Non-simple polygon Contains regular(green) and non-regular(gray) holes Finding correct polygon index to compare attributes

Arithmetic problems  Possible errors of overlaping edges  Measuring error (+/- 12cm)  Epsilon tolerance at comparing the vertices

Time complexity 1.Inserting edges O(n*log m) n – total num. of edges m – average num. of edges in a cell 2.Analyzing changes O(n*log m) n – number of cells m - average num. of edges in a cell

Practical results edges polygons changes 5 seconds with database access

Conclusions New efficient algorithm for specific geometric problem Works on large sets of polygons as found in GIS application Simple implementation Efficient use of known speed-up techniques Easy integration into other GIS environments (dll) Robust (no problems with geometric boundary cases) Succesfully used in practice