JTS Topology Suite An API for Processing Linear Geometry

Slides:



Advertisements
Similar presentations
Chapter 4 Part C: Queries, Computations & Map Algebra.
Advertisements

Chapter 4 Part A: Geometric & related operations.
Representation of spatial data
Department of Geoinformation Science Technische Universität Berlin Geo-Databases: lecture 8 Management of Spatial Data Prof. Dr. Thomas H. Kolbe Institute.
Spatial Database Systems. Spatial Database Applications GIS applications (maps): Urban planning, route optimization, fire or pollution monitoring, utility.
Conflation with JCS Automated and Human-Assisted Conflation Using the JCS Conflation Suite Presented at GeoTec 2003 Vancouver, BC Martin Davis, Technical.
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
Spatial Data Mining. 2 Introduction Spatial data mining is the process of discovering interesting, useful, non-trivial patterns from large spatial datasets.
Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
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.
Oracle spatial – Creating spatial tables Object Relational Model Creating Spatial Tables.
TECNOLOGIAS DE ARMAZENAMENTO DE INFORMAÇÃO ESPACIAL.
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.
Geographic Information Systems and Science SECOND EDITION Paul A. Longley, Michael F. Goodchild, David J. Maguire, David W. Rhind © 2005 John Wiley and.
Object Relational Model Creating Spatial Tables. Concepts Describe the schema associated with a spatial layer Explain how spatial data is stored using.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
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.
Parcel Data Models for the Geodatabase
“Codd’s Rules for Spatial ORDBMS”
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.
© Manfred Huber Autonomous Robots Robot Path Planning.
GeoUML a conceptual data model for geographical data conformant to ISO TC 211 Main GeoUML constructs Alberto BelussiNovembre 2004.
Marko Tintor Danica Porobić Microsoft Development Center Serbia.
Faculty of Applied Engineering and Urban Planning Civil Engineering Department Geographic Information Systems Vector and Raster Data Models Lecture 3 Week.
The OpenGIS Consortium Geog 516 Presentation #2 Rueben Schulz March 2004.
6. Simple Features Specification Background information UML overview Simple features geometry.
Disediakan oleh Suriati bte Sadimon GMM, FSKSM, UTM, 2004 SOLID MODELLING.
How to Spatially Enable Your IBM Informix Database Chris Bosch.
Union and Intersection of Polygons Union = Intersection =
Complex Data Transformations in Digital Libraries with Spatio-Temporal Information B. Martins, N. Freire, J. Borbinha Instituto Superior Técnico, Technical.
URBDP 422 Urban and Regional Geo-Spatial Analysis Lecture 2: Spatial Data Models and Structures Lab Exercise 2: Topology January 9, 2014.
Intersection of Nonconvex Polygons Using the Alternate Hierarchical Decomposition, AHD by Rizwan Bulbul, and Andrew U. Frank Department of Geoinformation.
GUS: 0265 Applications in GIS Lecture Presentation 1: Vector Data Model and Operations Jeremy Mennis Department of Geography and Urban Studies Temple University.
Spatial Database Tips & Tricks Paul Ramsey
Spatial DBMS Spatial Database Management Systems.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
John Pickford IBM H11 Wednesday, October 4, :30. – 14:30. Platform: Informix Practical Applications of IDS Extensibility (Part 2 of 2)
Advanced Editing: Rules-Based Topology in ArcEditor
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Oracle Spatial Extension of the RDBMS Oracle by spatial data types and operations –introduced in version 8 (current version.
Topics  Direct Predicate Characterization as an evaluation method.  Implementation and Testing of the Approach.  Conclusions and Future Work.
CS552: Computer Graphics Lecture 28: Solid Modeling.
AHD: Alternate Hierarchical Decomposition Convex decomposition of nonconvex objects into their convex hull components, represented in hierarchical tree.
Chapter 13 Editing and Topology.
Image Representation and Description – Representation Schemes
General-Purpose Learning Machine
Physical Structure of GDB
Spatial Database Systems
Geographical Information Systems
Physical Structure of GDB
3D Object Representations
Geographic Information Systems
Spatial Data Types And Indexing SQL Server 2008
Principles of GIS Geocomputation – Part II Shaowen Wang
Introdução to Geoinformatics: vector geometries
Map Control / GIS library for DelftShell
Size Limited Bounding Polygons for Planar Point Sets
Spatial Database Systems
Spatial and temporal data management
The Arc-Node Data Model
Introduction to Geoinformatics: Topology
Spatial Databases SpatiaLite & PostGIS.
Spatial Databases - Representation
Spatial Databases - Representation
Topological Signatures For Fast Mobility Analysis
Presentation transcript:

JTS Topology Suite An API for Processing Linear Geometry Martin Davis, Senior Technical Architect mbdavis@vividsolutions.com JTS Topology Suite

JTS Topology Suite Core API for processing Geometry Full implementation of OpenGIS Consortium Simple Features for SQL specification Open Source, 100% Java Design Features: Fast, production quality Robust Explicit precision model All basic geometry operations History JTS 1.0 released Feb 2002 JTS 1.4 released Nov 2003 JTS Topology Suite

Geometry Model Complete model for 2-D linear geometry (following OGC SFS model) Point LineString, LinearRing Polygon (with holes) MultiPoint, MultiLineString, MultiPolygon GeometryCollection Supports user-defined coordinate representation JTS Topology Suite

Explicit Precision Model JTS provides ability to specify Precision Model of coordinates Floating - Double & Single Precision (IEEE-754) Fixed - specified # of decimal places Ensures constructive geometry operations are closed over the specified coordinate space Floating Fixed POLYGON ((3 2, 1 2, 1 3, 3 2.333333333333333, 3 2)) POLYGON ((3 2, 1 2, 1 3, 3 2)) JTS Topology Suite

Spatial Predicates Computes the spatial relationship of 2 Geometries JTS implements the full Dimensionally Extended 9-Intersection Model (DE-9IM) Computes dimension of intersection of Interior, Boundary, Exterior General function: Relate( pattern ) Named predicates: Equals, Disjoint, Intersects, Touches, Crosses, Within, Contains, Overlaps JTS Topology Suite

Overlay Methods Overlay methods = Boolean set-theoretic functions Intersection, Union, Difference, Symmetric Difference Intersection Union Difference Symmetric Difference Heterogeneous – all geometry types supported JTS Topology Suite

Buffering Both Positive & Negative buffers Choice of End Cap Styles All Geometry types Robust, efficient algorithm Choice of End Cap Styles Round, Square, Butt Curve Densification is user-controllable JTS Topology Suite

Other Constructive Methods Convex Hull Standard Computational Geometry algorithm Centroid & InteriorPoint Centroid is center of mass (not necessarily in interior) Interior point always in interior, as close to centre as possible all Geometry types supported JTS Topology Suite

Metric Methods Area, Length Length = Perimeter, for Area geometries Distance Constructive – computes location of points providing minimum distance WithinDistance “Limited predicate” allows optimized computation JTS Topology Suite

Geometry Validation Validation of Geometry topology essential to ensure correct spatial processing Polygons in particular – many possible invalid situations JTS provides full Validation of Topology isValid provides simple good/bad test ValidOp class provides detailed error information, including location Self-intersection Overlapping Rings Hole intersects shell JTS Topology Suite

Line Merging & Polygonization Removes 2-nodes from set of LineStrings Polygonization Including finding Dangles and Cutlines JTS Topology Suite

Spatial Algorithms & Structures Numerous basic Computational Geometry algorithms Line segment intersection, Ring orientation, Point-Line orientation, Point-line distance, etc. Spatial Indexes Quadtree, STRtree, Bintree, MonotoneChains, SweepLine Line segment Noding i.e. find and create all intersections in set of Line Segments Planar Graph framework Precision Reduction JTS Topology Suite

JTS TestBuilder Create/edit/view geometry Compute & view results of all JTS methods JTS Topology Suite

JTS In Use JTS used for core geometry processing in numerous open source and commercial geo-spatial applications JUMP BC Gov’t Electronic Submission Framework Internet Mapping Framework GeoServer / GeoTools Deegree PostGIS (as GEOS) Tlogica (Bulgaria) Other interesting applications Font Creator (RobMeek.com) JTS Topology Suite

Future Work Fully robust Overlay Operations Improve performance e.g. line noding, distance computation Optimize repeated method calls on single Geometry e.g. “find all geometries which intersect this geometry” Improve internal structure Geometry simplification / generalization methods Douglas-Peucker line simplification, etc Generalized Distance methods Hausdorff distance, Frechet distance, etc User-defined Geometry representation Allows easier adaptation to other Geometry APIs, database structures Affine Transform Linear Referencing operations Improved/Extended Spatial Indexes Updatable Quadtree, R-tree, Visitor pattern, performance… Coverage datatype JTS Topology Suite