State of JTS. Presented by: James, Jody, Rob, (Martin)

Similar documents
State of JTS. Presented by: James, Jody, Rob, (Martin)

Secrets of the JTS Topology Suite

Beyond PostGIS. New developments in Open Source Spatial Databases. Karsten Vennemann. Seattle

Advanced Standard Basic Notes

Announcements. Data Sources a list of data files and their sources, an example of what I am looking for:

Geometric Computation: Introduction

Technology Background Development environment, Skeleton and Libraries

Selenium Testing Course Content

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Call for Discussion: Project Skara Investigating source code management options for the JDK sources

Repository Management and Sonatype Nexus. Repository Management and Sonatype Nexus

Vector-Based GIS Data Processing. Chapter 6

Introduction to the Dimensionally Extended 9 Intersection Model (DE-9IM) in PostgreSQL/PostGIS Tutorial

Stian Soiland-Reyes mygrid team University of Manchester

SkylineGlobe 6.5 s New Developments

The Eclipse Development Process for Committers

An introduction to ArcGIS Runtime

The More We Get Together... The Islandora Community

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

PostGIS: future developments

Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation

ArcGIS GeoEvent Server: Real-Time GIS

The Actual Real World at EclipseCon/ALM

ArcGIS Enterprise: An Introduction. Philip Heede

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Developers Road Map to ArcGIS Desktop and ArcGIS Engine

Seven Habits of Highly Effective Jenkins Users. Andrew Bayer Cloudera OSCON Java 2011

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM

Content. Development Tools 2(57)

How to become an Eclipse committer in 20 minutes and to fork the Eclipse IDE

Learning What s New in ArcGIS 10.1 for Server: Administration

Understanding and Using Geometry, Projections, and Spatial Reference Systems in ArcGIS. Rob Juergens, Melita Kennedy, Annette Locke

Dali JPA Tools Project Graduation Review

4/7/2009. Model: Abstraction of reality following formal rules e.g. Euclidean space for physical space

Seven Habits of Highly Effective Jenkins Users

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

GeoTools Steering Document

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Javaentwicklung in der Oracle Cloud

DITA Gradle and Git. DITA-OT day Rotterdam

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2

GAVIN KING RED HAT CEYLON SWARM

Why switch exist-db from Ant to Maven?

Standardized Geoprocessing with 52 North Open Source Software

Understanding and Working with the OGC Geopackage. Keith Ryden Lance Shipman

a brief introduction to creating quality software continuously Copyright 2011 Davisbase, LLC

Bring Location Intelligence To Big Data Applications on Hadoop, Spark, and NoSQL

MongoDB An Overview. 21-Oct Socrates

Continuous Integration and Delivery with Spinnaker

Introduction: Manual Testing :

SpatiaLite: 3D and compressed geometries. Addendum

Oracle Big Data Spatial and Graph: Spatial Features

Analytical and Computer Cartography Winter Lecture 9: Geometric Map Transformations

Leveraging OGC Services in ArcGIS Server. Satish Sankaran, Esri Yingqi Tang, Esri

KTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani -

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Index. BigBadGuiTools (BBGT), 186 Business logic and data layer, 32 Business requirements

Creating a 3D Model for Environmental Noise Simulation at the German Federal Railways Agency. Disy Informationssysteme GmbH

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Überraschend mehr Möglichkeiten. Orcas: Continuous Delivery for Databases. A Framework for Continuous Delivery in Database Environments.

GIS features in MariaDB and MySQL

Oracle Spatial Technologies: An Update. Xavier Lopez Director, Spatial Technologies Oracle Corporation

CS314 Software Engineering Sprint 5 - Release!

Utility Network Management in ArcGIS: Migrating Your Data to the Utility Network. John Alsup & John Long

Zenful Maps with SQL. Matthew Basanta Paul Vidal

JavaFX.Next. Kevin Rushforth Oracle Johan Vos Gluon October Copyright 2018, Oracle and/or its affiliates. All rights reserved.

What s New in ArcGIS 10.3 for Server. Tom Shippee Esri Training Services

Application Development in Web Mapping 1.

GEOSPATIAL ENGINEERING COMPETENCIES. Geographic Information Science

The OpenStack Project Continuous Integration System. Elizabeth K.

Continuous Integration (CI) with Jenkins

ArcGIS for Server Michele Lundeen

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

New Contributor Tutorial and Best Practices

Monitoring Your Operations David Jacob

Geoapplications development Control work 1 (2017, Fall)

OSGeo Web Mapping Typification: GeoMajas, Mapbender, MapFish and OpenLayers. Christoph Baudson Arnulf Christl FOSS4G 2010 Barcelona

Review Version Control Concepts

Auto-Cascading Security Updates Through Docker Images

Building Java Apps with ArcGIS Runtime SDK

How to Build an Appium Continuous Testing Pipeline

Building Microservices with the 12 Factor App Pattern

Turbo boost your digital app test automation with Jenkins

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

OGC Simple Features (for SQL and XML/GML)

SVENSK STANDARD SS-ISO :2004. Geografisk information Hantering av enklare objekt Del 1: Arkitektur (ISO :2004, IDT)

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Info Error Deploying Artifact Failed To Transfer File Return Code Is 401

GeoEvent Server: An Introduction. Adam Ziegler, Solution Engineer

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Sonatype CLM Enforcement Points - Nexus. Sonatype CLM Enforcement Points - Nexus

What s New in ArcGIS Server 10

Package geoops. March 19, 2018

What is Maven? Apache Maven is a software project management and comprehension tool (build, test, packaging, reporting, site, deploy).

UTM Geo Map APP Quick Start (Version 1.2)

J, K F, G, H. Library/framework, 168 LIKE() predicate, 142 Load-balancing server (LBS), 120 Lock on check out (LOCO), 1

ArcGIS Runtime SDK for Java: Building Apps. Mark Baird

Vector Data. James Frew ESM 263 Winter

JIRA Studio Use Cases and Tutorial basis

Transcription:

State of JTS Presented by: James, Jody, Rob, (Martin)

Welcome Martin Davis James Hughes Jody Garnett Rob Emanuele Vivid Solutions CCRi Boundless Azavea 2

Introducing JTS Topology Suite udig Introduction 3

What is JTS Topology Suite? Java API for working with 2D Geometries 4

JTS is EVERYWHERE Sptial4J JTS GeoTrellis Net Topology Suite GeoMesa GeoWave GEOS JSTS 5

JTS Project History 1.4 2004 1.5 2003 1.6 2005 1.2 1.3 1.7 1.1 1.0 2002 2001 1.8 2006 2007 1.9 2008 1.13 2014 2013 1.12 2012 2016 1.10 2009 1.11 2011 2010 2018 2020 1.15 JTS 1.14 2015 2000 2017 6

JTS Topology Suite Reprentations: OGC Simple Features Point LineString LinearRing Polygon MultiPoint MultiLineString MultiPolygon GeometryCollection 7

JTS Topology Suite Predicates (DE-9IM) Equals Disjoin Intersects Touches Crosses Within Contains Overlaps Covers CoveredBy 8

JTS Topology Suite Overlays Intersection Union Difference SymDifference 9

JTS Topology Suite Measurements Length Area Distance 10

JTS Topology Suite IO: WKT WKB GeoJSON KML 11

JTS Topology Suite Algorithms Convex Hull Buffer Validation Dissolve Polygonization Simplification Triangulation Voronoi Linear Referencing and more... 12

JTS Topology Suite Applications TestBuilder TestRunner 13

JTS 1.14

JTS 1.14 Released January 2016 LineDissolver edgegraph package Visvalingam-Whyatt simplification Improvements: Improved thread-safety Fixed Java 7 compatibility Added Spatialite WKB CoordinateSequence many bug fixes and performance improvements JTS I/O Visvalingam-Whyatt vs Douglas-Peucker KML Writer GeoJsonReader/Writer Oracle SDO Performance 15

JTS 1.14 with Maven JTS 1.14 <dependency> <groupid>com.vividsolutions</groupid> <artifactid>jts-core</artifactid> <version>1.14.0</version> Published Official release on SF Install into local repo </dependency> On Maven Central We do not know who did this! 16

JTS 1.15

JTS 1.15 Focus on codebase organization and packaging Some functionality improvements K Nearest Neighbor search for STR-Tree Improve handling of Quadtree queries with null Envelope Intersects now supports GeometryCollection JTSTestRunnerCmd command-line app

Sourceforge GitHub Moving from SVN to GIT https://github.com/locationtech/jts 19

Why choose GitHub? High Visibility Great tools Git tools Issue tracking Pull Requests Continuous Integration Website Easier for contributions Where the action is! 20

GitHub: JTS Project Activity Pull Requests 76 accepted, 8 open Issues 7 closed, 25 open 21

Mavenization Build chain now uses Maven instead of Ant Easier to build and use Easy Eclipse IDE configuration Unit tests run by Maven build including XML tests Better release story Code artifacts will be hosted on Maven Central Apps built as fat-jars (TestBuilder, TestRunner) To Do Work on packaging a distro with source, scripts, etc... 22

Modular Codebase Codebase organized into modules jts-core - geometry implementation for use jts-tests - extensive testing for correctness and stability jts-io - read and write geometry jts-example - examples of using the jts api jts-lab - experimental playground use at your own risk jts-app - test builder application for defining tests better clarity of internal dependencies 23

JTS Joins LocationTech LocationTech offers project infrastructure project visibility stability, governance Immediate benefits More team members Synergy with other LocationTech projects In-depth legal review for IP (Intellectual Property) cleanliness Initial Work Project Application License Change LocationTech Incubation Long term hopes Additional Contributors Funding for JTS 2.0 Build Infrastructure Official Maven Deployment 24

LocationTech Incubation A new License Eclipse Public License Eclipse Distribution License (BSD-3 Clause License) Challenges: A new home: Project Website Mailing List Build Server GitHub repo Contact assorted contributors (because we did not have a CLA) changing package names Opportunity to work together Maintaining codebase history 25

LocationTech Project Site www.locationtech.org/projects/technology.jts 26

JTS 1.15-SNAPSHOT Packaging org.locationtech.jts GitHub repo https://github.com/locationtech/jts Snapshots Available via LT Nexus https://repo.locationtech.org/ 27

Using JTS 1.15 with Maven JTS 1.14 <dependency> <groupid>com.vividsolutions</groupid> <artifactid>jts-core</artifactid> <version>1.14.0</version> </dependency> JTS 1.15.0-SNAPSHOT <dependency> <groupid>org.locationtech.jts</groupid> <artifactid>jts-core</artifactid> <version>1.15.0-snapshot</version> </dependency>. <repositories> <repository> <id>locationtech-snapshots</id> <url>https://repo.locationtech.org/content/groups/snapshots</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> 28

Migration to JTS 1.15 New module structure jts-core jts-io-common - GeoJSON jts-io-ora - Oracle support jts-io-sde - SDE support jts-tests - XML Tests & TestRunner Change package names org.locationtech.jts.* Change Maven reference To be determined

Team Code Sprints Dates January 25-27, 2016 November 3-4, 2016 Achievements Sourceforge GitHub Mavenization New Committers Addressed IP review questions

31

JTS 1.15 Coming Soon! Coming soon to a repo near you! Incubation is nearly complete LocationTech Release process Final IP issues being resolved (checking in new icons for the test builder application) Two week release review Deploy to Maven Central (and LocationTech repo) 32

Roadmap / Wishlist udig Introduction 33

Algorithm Improvements Goal: improve some key JTS algorithms Overlay Spatial Predicate improvements Snap-rounding (no more TopologyExceptions!) Support PreparedGeometry for caching Fast & robust Clip to Rectangle Streaming / Lazy evaluation with short-circuiting User-defined precision model Less sensitive to valid geometry (e.g. Intersects) Distance Support cached PreparedGeometry 34

New Algorithms Concave Hull Polygon Triangulation Polygon Cleaning ( MakeValid ) Split Geometry by Line Polygon Coverage Simplification Concave Hull Polygon Triangulation 35

New API - JTS 2.0 Concept for a redesign of JTS Key Goals Interface-based Geometry access Immutable Geometry objects Geodetic (WGS84) support, with some basic algorithms Pluggable/discoverable Geometry operation framework Coordinate extensions (XY, XY+M) Non-goals Backwards compatibility Improving geometry algorithms 36

Join JTS Topology Suite Shape the Future

Contributing to JTS Register as a Contributor Sign the Eclipse Contributor Agreement https://www.eclipse.org/legal/eca.php Develop a patch, making sure to include Javadoc Unit Tests - JUnit and/or JTS XML tests Make a Pull Request on GitHub Acknowledge code is IP clean by signing-off each Git commit Make sure the Travis CI validation tests pass See also https://github.com/locationtech/jts/blob/master/contributing.md 38

Questions? udig Introduction 39

Project Resources Source Code repo https://github.com/locationtech/jts Issue Tracker https://github.com/locationtech/jts/issues Mailing List https://dev.locationtech.org/mailman/listinfo/jts-dev Project website https://locationtech.github.io/jts Javadoc https://locationtech.github.io/jts/javadoc 40

Thank you from the JTS Team

What is JTS Topology Suite - - - Java API for 2D Geometry - linear vector geometry - representing and processing Featuring: - Validation, Polygonization, Simplification, Linear Referencing, etc. Apps - TestRunner - TestBuilder - OGC Simple Features for SQL - full geometry specification: - Geometry: - Points, Linestring, Polygons - Collections Metrics: - Length, Area, Distance Predicates: - intersects, contains, etc.; relate for DE-9IM Overlay: - intersection, union, difference, symdifference Algorithms: - Convex Hull, Buffer - - - 42

JTS in LT projects (and others) LocationTech projects using JTS GeoMesa - geoanalytics for big data GeoTrellis - geoprocessing for big data Spatial4J - geodetic geometry API Also by some interesting research projects GeoSpark (https://github.com/datasystemslab/geospark) Simba - Spatial In-Memory Big data Analytics (https://github.com/initialdlab/simba)

What is JTS Topology Suite? Java API for 2D Geometries 44

What is JTS Topology Suite? Java API for 2D Geometries 45

What is JTS Topology Suite? Java API for 2D Geometries 46

What is JTS Topology Suite - - - Java API for 2D Geometry - linear vector geometry - representing and processing Featuring: - Validation, Polygonization, Simplification, Linear Referencing, etc. Apps - TestRunner - TestBuilder - OGC Simple Features for SQL - full geometry specification: - Geometry: - Points, Linestring, Polygons - Collections Metrics: - Length, Area, Distance Predicates: - intersects, contains, etc.; relate for DE-9IM Overlay: - intersection, union, difference, symdifference Algorithms: - Convex Hull, Buffer - - - 47