Spatial Information Systems (SIS) COMP 30110 Spatial data structures (1)

Slides:



Advertisements
Similar presentations
YOSI! BLUE (30 sec play) Ball moves to X1 from X2
Advertisements

Hard Instances of the Constrained Discrete Logarithm Problem Ilya MironovMicrosoft Research Anton MityaginUCSD Kobbi NissimBen Gurion University Speaker:
V3 f3 e4 e1 f4 v4 e2 v1 e5 e6 f1 e3 v2 f2.
© 2001 Business & Information Systems 2/e1 Chapter 1 Information Systems in Business.
Questionnaire on Water Consumption in Sweden P1 From what source do you consume water from most frequently ? P2 Is your home connected to the public system.
Questionnaire on Water Consumption in Sweden P1 From what source do you consume water from most frequently ? P2 Is your home connected to the public system.
robot con 6 gradi di mobilità
Measurement of a Pond Basics of plane geometry Idea of the Coordinate Plane Confining an Area Practical skill Cooperation in the Group Lake measurement.
Introduction to Algorithms
Instructions for using this template. Remember this is Jeopardy, so where I have written Answer this is the prompt the students will see, and where I.
Maximal Independent Subsets of Linear Spaces. Whats a linear space? Given a set of points V a set of lines where a line is a k-set of points each pair.
GG3019/GG4027/GG5019 An Introduction to
1 What is? Structural Equation Modeling (A Very Brief Introduction) Patrick Sturgis University of Surrey.
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 2 Basic Modelling.
Rule Learning – Overview Goal: learn transfer rules for a language pair where one language is resource-rich, the other is resource-poor Learning proceeds.
CSS434 Time and Global States
PROLOG MORE PROBLEMS.
Minimum Weight Plastic Design For Steel-Frame Structures EN 131 Project By James Mahoney.
Computer Graphics Lecture 3 Modeling and Structures.
The Fault-Tolerant Insulin Pump Therapy Alfredo Capozucca, Nicolas Guelfi, Patrizio Pelliccione University of Luxembourg Faculty of Sciences, Technologies.
Computer Graphics 4: Viewing In 2D
Error-Correcting codes
1Computer Graphics Building Models John Shearer Culture Lab – space 2
On / By / With The building blocks of the Mplus language.
Rahnuma Islam Nishat Debajyoti Mondal Md. Saidur Rahman Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering.
Graphs, Planar graphs Graph coloring
Representation of spatial data
Geometry Introduction
Construction of a regular pentagon Dr Andrew French Const. Pent. p1 of 10. A.French 2012.
2 x0 0 12/13/2014 Know Your Facts!. 2 x1 2 12/13/2014 Know Your Facts!
2 x /18/2014 Know Your Facts!. 11 x /18/2014 Know Your Facts!
Solving Linear Systems by Linear Combinations
2 x /10/2015 Know Your Facts!. 8 x /10/2015 Know Your Facts!
Map-making as Graph Drawing Alan Saalfeld Mathematical Cartographer.
A. S. Morse Yale University University of Minnesota June 4, 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Ken McMillan Microsoft Research
Synchronization.
5 x4. 10 x2 9 x3 10 x9 10 x4 10 x8 9 x2 9 x4.
The Problem of K Maximum Sums and its VLSI Implementation Sung Eun Bae, Tadao Takaoka University of Canterbury Christchurch New Zealand.
SATISFIABILITY Eric L. Frederich.
Chapter 8: The Solver and Mathematical Programming Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
Low Power and Low Area Transform–Quant & Inverse Quant–Inverse Transform Hardware Design for H.264 Encoder.
0 x x2 0 0 x1 0 0 x3 0 1 x7 7 2 x0 0 9 x0 0.
Spatial Information Systems (SIS) COMP Terrain modeling and geometric problems (part 2)
Spatial Information Systems (SIS) COMP Spatial data structures (3)
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Spatial Information Systems (SIS) COMP Spatial data structures (2)
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Spatial Information Systems (SIS) COMP Formats and Standards.
Overlay of Two Subdivisions
The Half-Edge Data Structure Computational Geometry, WS 2007/08 Lecture 3, Part III Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen,
The Half-Edge Data Structure
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Spatial Information Systems (SIS) COMP Spatial relations.
Polygonal Mesh – Data Structure and Smoothing
Spatial Information Systems (SIS) COMP Plane Subdivisions.
Representation of spatial data
Polygonal Meshes 3D Object Representation -Tyler Abrams.
COMPUTER AIDED DESIGN -(CAD)-3
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
1 Data models Vector data model Raster data model.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness)
Spatial data models Raster –exhaustive regular or irregular partitioning of space –associated with the field view –location-based Vector –points, lines,
GIS Data Models III GEOG 370 Instructor: Christine Erlien.
Solid Modeling Dr. Scott Schaefer.
3D Object Representations. Introduction Line and circle and polygon algorithms- represented simple and smooth object. Some Natural object are neither.
UNIT 3 – MODULE 3: Raster & Vector
Geographical Information Systems
Computational Geometry 2
Overlay of Two Subdivisions
Presentation transcript:

Spatial Information Systems (SIS) COMP Spatial data structures (1)

Spatial data structures Data structures that have been defined for manipulating sets of spatial entities Two aspects: – storing: space occupied? redundancies? –querying, analysing, updating, etc.: time required? In general, it is important to be able to manipulate efficiently, still maintaining a “low” space complexity Requirement: the stored information must allow for an unambiguous representation of the subdivision

Spatial data structures: evaluation Spatial data structures can be evaluated in terms of: – space complexity: amount of space (memory) needed for storing all information (entities and relations) that is explicitly represented – time complexity of the algorithms for calculating relations that are not explicitly represented

Constant and variable relations In a generic plane subdivision, a relation is: - constant if it involves a constant number of entities (e.g.: EV, EE, EF involve two entities each) - variable if it involves a variable number of entities (e.g.: VV, VE, VF, FV, FE, FF involve a different number of entities depending on the different cases) jPjjPj iPiiPi e jfjjfj ifiifi ieiiei jejjej f f4 f3 f2 f1 P1 P2 P3P4 e1 e2 e3 e4 P1 P2 P3 P e1 e2 e3 f1 f2 f3

Topology/Connectivity Generic sets of entities: any possible topological relationsGeneric sets of entities: any possible topological relations Overlayed sets of entities (plane subdivisions): only meet and disjoint Overlayed sets of entities (plane subdivisions): only meet and disjoint Meet: topological relation that defines connectivity between entities in a plane subdivisionMeet: topological relation that defines connectivity between entities in a plane subdivision Entities of different dimension are “connected” in different ways: relations (vertex-, edge-, face-based) seen beforeEntities of different dimension are “connected” in different ways: relations (vertex-, edge-, face-based) seen before

Spaghetti data structure Spaghetti data structure: represents sets of points, lines and polygons Spaghetti data structure: represents sets of points, lines and polygons Can be used for both generic sets of entities and overlayed sets (plane subdivisions) Can be used for both generic sets of entities and overlayed sets (plane subdivisions) The geometry of any spatial entity is described independently of other entities The geometry of any spatial entity is described independently of other entities No topology/connectivity information is recorded No topology/connectivity information is recorded

Spaghetti data structure: example Example: points, lines and polygons are stored separately Polygon 1Polygon 2 X1,Y1 X2,Y2 X3,Y3 X4,Y4 X5,Y5 X6,Y6 X7,Y7 X1,Y1 X8,Y8 X9,Y9 X10,Y10 X11,Y11 X3,Y3 X2,Y2 X1,Y1 X8,Y8 12 X5,Y5 X4,Y4 X3,Y3 X11,Y11 X1,Y1 X2,Y2 X7,Y7X6,Y6 X10,Y10 X9,Y9 X8,Y8 For each polygon, we store a (ordered) list of coordinates of points on its boundary (this is not the same as FV relation!)

Another data structure Polygon 1 Polygon 2 P1 P2 P3 P4 P5 P6 P7 P1 P8 P9 P10 P11 P3 P2 P1 P8 12 P5 P4 P3 P11 P1 P2 P7P6 P10 P9 P8 Points and polygons are related: for each polygon, we store a (ordered) list of points (not coordinates) on its boundary: FV relation IDCoord. P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 X1,Y1 X2,Y2 X3,Y3 X4,Y4 X5,Y5 X6,Y6 X7,Y7 X8,Y8 X9,Y9 X10,Y10 X11,Y11

Spaghetti data structure: pros & cons Advantages:Advantages: – simplicity – easy insertions of new entities (all entities are independent) Cons:Cons: – inefficient for topological queries – redundancies (and consequently, possible inconsistencies!)

Spaghetti data structure: remarks Example: NOTE 1: coordinates of points along common boundary are recorded twice! Redundancy: if we update coordinates of a point, we need to update them everywhere! Polygon 1Polygon 2 X1,Y1 X2,Y2 X3,Y3 X4,Y4 X5,Y5 X6,Y6 X7,Y7 X1,Y1 X8,Y8 X9,Y9 X10,Y10 X11,Y11 X3,Y3 X2,Y2 X1,Y1 X8,Y8 12 X5,Y5 X4,Y4 X3,Y3 X11,Y11 X1,Y1 X2,Y2 X7,Y7X6,Y6 X10,Y10 X9,Y9 X8,Y8

Spaghetti data structure: remarks (cont.d) Example: NOTE 2: no easy way of solving queries such as: “Do Polygon 1 and 2 share a common bounding line?” Need to analyse all coordinates of points of Polygon 1 and compare with those of Polygon 2 and see if two consecutive pairs are the same: inefficient!! Polygon 1Polygon 2 X1,Y1 X2,Y2 X3,Y3 X4,Y4 X5,Y5 X6,Y6 X7,Y7 X1,Y1 X8,Y8 X9,Y9 X10,Y10 X11,Y11 X3,Y3 X2,Y2 X1,Y1 X8,Y8 12 X5,Y5 X4,Y4 X3,Y3 X11,Y11 X1,Y1 X2,Y2 X7,Y7X6,Y6 X10,Y10 X9,Y9 X8,Y8

Topological data structures for plane subdivisions Incorporate “connectivity” among spatial objects by storing explicitly a subset of the relations seen before Incorporate “connectivity” among spatial objects by storing explicitly a subset of the relations seen before Two types of points: Two types of points: – points that are endpoints of a line (vertices) – points that define the shape (geometry) of a line For polygons/lines: For polygons/lines: – adjacency information (e.g., encode polygons on each side of a boundary line – left and right polygon with respect to the direction of the line: EF relation)

Topological data structures: motivations Storing connectivity information explicitly allows for more efficient spatial queries Example: if we store relation FE explicitely (i.e., for each polygon we store a list of IDs of edges bounding it), the query: store a list of IDs of edges bounding it), the query: “do Polygon 1 and 2 share a common bounding line?” only requires checking whether the two lists contain any common IDs only requires checking whether the two lists contain any common IDs Polygon 1 Polygon 2 e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e2 e1 12 e4 e3e11 e7 e1 e6e5 e10 e9 e8 e2 e12

Topological data structures: motivations (cont.d) Topology/connectivity: important criterion to establish the correctness (integrity, consistency) of geographic databases Examples: – neighbouring countries must share a boundary – seas and lakes cannot overlap

Doubly-Connected Edge List (DCEL) structure (Preparata and Shamos, 1985) DCEL structure stores: – the three sets of entities V, E, F – the three edge-based relations EV, EE, EF (all constant) – the two partial relations: FE* and VE* FE*: associates a face f with one of the edges bounding f VE*: associates a vertex v with one of the edges incident in v V F E EF * FE * EV * VE * EE

Example (1) P9 P8 P3 f1f2 e4 e3 e11 e7 e1 e6 e5 e10 e9 e8 e2 e12 P5 P4 P11 P1 P2 P7P6 P10 f0 Entities V{P1,P2,….., P11} E{e1, e2,….., e12} F{f0,f1,f2}

Partialrelations VE * FE * P1e1f0e3 P2e2f1e3 P3e3f2e1 P4e4 P5e5 P6e6 P7e7 P8e8 P9e9 P10e10 P11e11 Example (2) Entities VP1,P2,….., P11 Ee1, e2,….., e12 Ff0,f1,f2 Edge -basedrelations EVEFEE e1P1,P2f1,f2e7,e2 e2P2,P3f1,f2e1,e12 e3P3,P4f1,f0e2,e4 e4P4,P5f1,f0e3,e5 e5P5,P6f1,f0e4,e6 e6P6,P7f1,f0e5,e7 e7P7,P1f1,f0e6,e8 e8P1,P8f2,f0e1,e9 e9P8,P9f2,f0e8,e10 e10P9,P10f2,f0e9,e11 e11P10,P11f2,f0e10,e12 e12P11,P3f2,f0e11,e3 P9 P8 P3 f1f2 e4 e3 e11 e7 e1 e6 e5 e10 e9 e8 e2 e12 P5 P4 P11 P1 P2 P7P6 P10 f0

DCEL: space complexity For every edge: 3 constant relations are stored (involving 2 entities): 6e For every face: 1 relation involving one entity: f For every vertex: 1 relation involving one entity: n Space required to represent relations: 6e + f + n For each vertex we also store the two geometric coordinates: 2n

Retrieving missing relations: FE Calculating complete relation FE: Obtained by combining FE * and EE For example, given a face f1, we find the first bounding edge e3 using FE *. Then using EE we find the successor e4 of e3 (in counter-closkwise order) on the boundary of f1: if e3 is oriented in such a way that f1 is on its left hand side, then e4 is the second of the two edges associated with e3 through EE P9 P8 P3 f1f2 e4 e3 e11 e7 e1 e6 e5 e10 e9 e8 e2 e12 P5 P4 P11 P1 P2 P7P6 P10 f0

Retrieving missing relations: FE (cont.d) We apply the same method (2 nd element of EE) to obtain all other edges on the boundary of f1, until we reach e3 again. P9 P8 P3 f1f2 e4 e3 e11 e7 e1 e6 e5 e10 e9 e8 e2 e12 P5 P4 P11 P1 P2 P7P6 P10 f0

DCEL: FV and FF FV can be obtained by combining FE and EV: for each bounding edge e of a given face f (obtained with FE), we consider its endpoints using EV FF can be obtained by combining FE and EF: for each bounding edge e of a given face f (obtained with FE), we consider the other face f’ obtained by using EF

DCEL: VE, VV, VF Exercise!! For next week