6. Simple Features Specification Background information UML overview Simple features geometry.

Slides:



Advertisements
Similar presentations
Department of Geoinformation Science Technische Universität Berlin Geo-Databases: lecture 8 Management of Spatial Data Prof. Dr. Thomas H. Kolbe Institute.
Advertisements

Spatial Query Languages Standard Database Query Languages.
ISO19107 Geographic information – Spatial schema Pusan National University Dept. of Computer Engineering Spatiotemporal Database Lab. Joon-Seok Kim
Conflation with JCS Automated and Human-Assisted Conflation Using the JCS Conflation Suite Presented at GeoTec 2003 Vancouver, BC Martin Davis, Technical.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung
UML – Class Diagrams.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Lecture 1 CS171: Game Design Studio 1I UC Santa Cruz School of Engineering 5 January 2010.
SQL/SDA: A Query Language for Supporting Spatial Data Analysis and Its Web-Based Implementation SQL/SDA: A Query Language for Supporting Spatial Data Analysis.
What is UML? A modeling language standardized by the OMG (Object Management Group), and widely used in OO analysis and design A modeling language is a.
Geographic Information Systems
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
GTECH 731 Lab Session 8 10/26/10 Lab 7 Geotools. Previous Labs Labs designed to gradually introduce C# and Visual Studio Started with simple, straight.
Object-Based Vector Data Model
Spatial and temporal data management Nothing puzzles me more than time and space; and yet nothing troubles me less, as I never think about them Charles.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Background in geospatial data modeling Presenter: Manolis Koubarakis Extended Semantic Web Conference 2012.
University of California , San Diego (UCSD)
JTS Topology Suite JTS Topology Suite An API for Processing Linear Geometry Martin Davis, Senior Technical Architect
Spatial Data Models. What is a Data Model? What is a model? (Dictionary meaning) A set of plans (blueprint drawing) for a building A miniature representation.
Spatial Databases ENVE/CE 424/524. Definitions Database – an integrated set of data on a particular subject Spatial database - database containing geographic.
Spatial Database Souhad Daraghma.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
GeoUML a conceptual data model for geographical data conformant to ISO TC 211 Main GeoUML constructs Alberto BelussiNovembre 2004.
Applied Cartography and Introduction to GIS GEOG 2017 EL Lecture-2 Chapters 3 and 4.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
How to Spatially Enable Your IBM Informix Database Chris Bosch.
Source Description-based Approach for the Modeling of Spatial Information Integration Yoshiharu Ishikawa and Hiroyuki Kitagawa University of Tsukuba
CHAPTER 3 VECTOR DATA MODEL.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
GIS Data Structures How do we represent the world in a GIS database?
Abstract ESOLID is a computational geometry system that performs boundary evaluation using exact computation. Boundary Evaluation Exact computation Problem.
Spatial Database Tips & Tricks Paul Ramsey
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
John Pickford IBM H11 Wednesday, October 4, :30. – 14:30. Platform: Informix Practical Applications of IDS Extensibility (Part 2 of 2)
NR 143 Study Overview: part 1 By Austin Troy University of Vermont Using GIS-- Introduction to GIS.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML and Object Modeling Elements
Geometrically Bounded Wireframe AIC (Part 510) Grouping of curves relevant for 3-dimensional wireframe modeling without topological constructs Elementary.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
What is GIS? “A powerful set of tools for collecting, storing, retrieving, transforming and displaying spatial data”
Solid Modeling Prof. Lizhuang Ma Shanghai Jiao Tong University.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 0: Introduction
Physical Structure of GDB
Physical Structure of GDB
Abstract descriptions of systems whose requirements are being analysed
Geographic Information Systems
UML Class Diagrams: Basic Concepts
Chapter 20 Object-Oriented Analysis and Design
JTS Topology Suite An API for Processing Linear Geometry
Spatial and temporal data management
Spatial Databases SpatiaLite & PostGIS.
Prof. Lizhuang Ma Shanghai Jiao Tong University
Presentation transcript:

6. Simple Features Specification Background information UML overview Simple features geometry

UML The Unified Modeling Language (UML) is a standard way of representing software objects, as well as modeling non-software systems. It is commonly used in describing object-oriented code libraries, such as the Simple Features Specification. It grew out of object-oriented software modeling by private companies in the early-mid ‘90s, and was established as an industry- wide standard in the late ’90s. Visual Studio includes a two-way code visualization tool that is similar to UML, but doesn’t include all of its features.

UML A class in UML:

UML Association between classes:

UML Generalization (inheritance):

UML Aggregation (composition):

Simple Features Specification With that quick introduction, we can now look at the Simple Features Specification, which uses UML to diagram its components. SFS is a simplified geometry model, independent of any particular implementation, that describes a way of representing geometry that can be used in a GIS. SFS is a part of a series of standards published by the Open Geospatial Consortium, details of which are available at There are multiple implementations, including Geotools.net, which we will use in class labs.

UML Note the differences between the triangle (inheritance) and diamond (aggregation) in the relationships between the classes.

Geometry Geometry is the root class of the hierarchy. Geometry is an abstract (non-instantiable) class. It contains methods available in all geometry objects These include descriptive methods, methods used to compare different geometries. These will be reviewed after describing the kinds of available geometries.

Point A Point is a 0-dimensional geometric object and represents a single location in coordinate space. A Point has an x-coordinate value and a y-coordinate value (doubles). The boundary of a Point is the empty set.

Curve and LineString A Curve is a one-dimensional geometric object usually stored as a sequence of points, with the subtype of Curve specifying the form of the interpolation between points. The Simple Features Spec defines only one subclass of Curve, LineString, which uses linear interpolation between points.

LineString A LineString is a Curve with linear interpolation between points. Each consecutive pair of points defines a line segment. A Line is a LineString with exactly 2 points. A LinearRing is a LineString that is both closed and simple. LinearRings are the basis of Polygons

LineString

Polygon A Polygon inherits from Surface and contains LinearRings. As in LineString and Curve, Polygon is the only Surface in the Simple Features Spec. Each interior boundary defines a hole in the Polygon.

Polygon A Polygon is a planar Surface, defined by 1 exterior boundary and 0 or more interior boundaries. Each interior boundary defines a hole in the Polygon. Polygons are topologically closed. The boundary of a Polygon consists of a set of LinearRings that make up its exterior and interior boundaries. No two rings in the boundary cross, the rings in the boundary of a Polygon may intersect at a Point but only as a tangent A Polygon may not have cut lines, spikes or punctures. Useful methods include Centroid, Area, and PointOnSurface.

Polygon

Geometry Polygon centroid:

GeometryCollection A GeometryCollection is a collection of 1 or more geometric objects. It inherits from Geometry, and implements abstract methods defined in the Geometry class. Collections are defined for each type of Geometry.

MultiPoint The elements of a MultiPoint are restricted to Points. The Points are not connected or ordered. A MultiPoint is simple if no two Points in the MultiPoint are equal (have identical coordinate values). The boundary of a MultiPoint is the empty set.

MultiLineString A MultiLineString is a MultiCurve whose elements are LineStrings:

MultiPolygon

Geometry Now that we have described the kinds of geometries available, we can cover some of the methods in the Geometry class that apply to all of them. Descriptive methods: Envelope( ):Geometry — The minimum bounding box for this Geometry, returned as a Geometry. The polygon is defined by the corner points of the bounding box [(MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)]. IsEmpty( ):Integer — Returns 1 (TRUE) if this geometric object is the empty geometry. If true, then this geometric object represents the empty point set, ∅, for the coordinate space. AsText( ):String — Exports this geometric object to a specific Well-known Text Representation of Geometry. IsSimple( ):Integer —Returns 1 (TRUE) if this Geometry has no anomalous geometric points, such as self intersection or self tangency.

Geometry The Envelope() for a Polygon:

Geometry Text representations returned by AsText (useful for reading/writing geometry from file or database). A binary representation is also specified:

Geometry Boolean methods that describe spatial relationships: Equals(anotherGeometry:Geometry):Integer — Returns 1 (TRUE) if this geometric object is “spatially equal” to anotherGeometry. Touches(anotherGeometry:Geometry):Integer — Returns 1 (TRUE) if this geometric object “spatially touches” anotherGeometry. Crosses(anotherGeometry:Geometry):Integer — Returns 1 (TRUE) if this geometric object “spatially crosses’ anotherGeometry. Within(anotherGeometry:Geometry):Integer — Returns 1 (TRUE) if this geometric object is “spatially within” anotherGeometry. Overlaps(anotherGeometry:Geometry):Integer — Returns 1 (TRUE) if this geometric object “spatially overlaps” anotherGeometry. Contains(anotherGeometry:Geometry):Integer — Returns 1 (TRUE) if this geometric object “spatially contains” anotherGeometry.

Geometry The Touches relationship:

Geometry The Crosses relationship:

Geometry The Within relationship:

Geometry The Overlaps relationship:

Geometry Examples of additional methods that return geometrical objects: Buffer(distance:Double):Geometry — Returns a geometric object that represents all Points whose distance from this geometric object is less than or equal to distance. ConvexHull( ):Geometry — Returns a geometric object that represents the convex hull of this geometric object. Intersection(anotherGeometry:Geometry):Geometry — Returns a geometric object that represents the Point set intersection of this geometric object with anotherGeometry. Union(anotherGeometry:Geometry):Geometry — Returns a geometric object that represents the Point set union of this geometric object with anotherGeometry. Difference(anotherGeometry:Geometry):Geometry — Returns a geometric object that represents the Point set difference of this geometric object with anotherGeometry

Geometry Buffer:

Geometry Convex hull:

Geometry Intersection:

Geotools.net The next two slides show the Geotools.net geometry hierarchy, which implements Simple Features geometry in C#.

Geometry

Convex hull: