W W W. R E F R A C T I O N S. N E T Chris Hodgson –Spatial object models using PostGIS, Hibernate, and the JTS Topology Suite.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Conflation with JCS Automated and Human-Assisted Conflation Using the JCS Conflation Suite Presented at GeoTec 2003 Vancouver, BC Martin Davis, Technical.
ArcGIS Geodatabase Miles Logsdon Spatial Information Technologies, UW Garry Trudeau - Doonesbury.
OpenSource GIS 2004 Ottawa, Canada Building MapServer Applications with PostGIS Chris Hodgson & Paul Ramsey Refractions Research.
Introduction to Introduction to Database Systems Rose-Hulman Institute of Technology Curt Clifton.
Spatial Databases Semester 2 DT249/DT211/DT228 Semester Pat Browne
Mikael Johansson Lars Harrie National Land Survey of Sweden Using Java Topology Suite for Real-time Data Generalisation and Integration.
Geographic Information Systems
Geographic Information Systems and Science SECOND EDITION Paul A. Longley, Michael F. Goodchild, David J. Maguire, David W. Rhind © 2005 John Wiley and.
Attribute databases. GIS Definition Diagram Output Query Results.
CSC 2720 Building Web Applications Database and SQL.
The Relational Model Codd (1970): based on set theory Relational model: represents the database as a collection of relations (a table of values --> file)
Open Source Databases and GIS
Session-01. Hibernate Framework ? Why we use Hibernate ?
Benjamin Post Cole Kelleher. Encyclopedia Articles: PostGIS, C. Strobl, pp Oracle Spatial, Geometries, R. Kothuri and S. Ravada, page
Intro. To GIS Lecture 4 Data: data storage, creation & editing
Canada’s Natural Resources – Now and for the Future Using Open Source to analyze Canada’s National Forest Inventory. Chris West and Brian Low Pacific Forestry.
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Spatial Databases ENVE/CE 424/524. Definitions Database – an integrated set of data on a particular subject Spatial database - database containing geographic.
Data Access Patterns Some of the problems with data access from OO programs: 1.Data source and OO program use different data modelling concepts 2.Decoupling.
NHibernate in Action Web Seminar at UMLChina By Pierre Henri Kuaté 2008/08/27
Entity Beans BMP Celsina Bignoli
1 INTRODUCTION TO DATABASE MANAGEMENT SYSTEM L E C T U R E
CHAPTER 14 USING RELATIONAL DATABASES TO PROVIDE OBJECT PERSISTENCE (ONLINE) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database.
David Blasby The Open Planning Project New York. Goals Explain what a WFS and WMS are, and when to use them Be able to create simple spatial web applications.
Best Uses of Microsoft Access Lauren Lewis. What is Microsoft Access? o MS access is a database management system from Microsoft that combines the relational.
OnLine Analytical Processing (OLAP)
Computer Science 101 Database Concepts. Database Collection of related data Models real world “universe” Reflects changes Specific purposes and audience.
Modern Database Techniques Part 1: Object Oriented Databases 3. Different Kinds of OODB.
The 2000 Decennial Census School District Project: Using Census Data for the School District Mapping System **** Development and Implementation Tai A.
OpenSource GIS 2004 Ottawa, Canada A Survey of Open Source GIS “The View from 30,000 Feet” or “A Mile Wide and an Inch Deep” Paul Ramsey.
Introduction to the Geodatabase. What is a Geodatabase? What are feature classes and feature datasets? What are domains Design a personal Geodatabase.
© 2011 Autodesk High-End Infrastructure Modeling with Low-Cost Tools: Introducing AutoCAD® Map 3D 2012 Bradford Heasley, GISP Vice President, Brockwell.
SQL access and working with ST_Geometry Functions
Understanding our world.. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Editing Versioned Geodatabases.
Pusan National University, Korea Joon-Seok Kim Taehoon Kim Ki-Joune Li.
Creating and Maintaining Geographic Databases. Outline Definitions Characteristics of DBMS Types of database Relational model SQL Spatial databases.
Esri UC 2014 | Technical Workshop | Editing Versioned Geodatabases : An Introduction Cheryl Cleghorn and Shawn Thorne.
JPA / HIBERNATE CSCI 6370 Nilayan Bhattacharya Sanket Sable.
1 Ch. 1: Sharing Knowledge and Success  Oracle is an Object-Relational Database (ORDBMS).  RDBMS allows you to put the data in, keep the data, get it.
Nhóm thực hiện: nhóm 1 Nguyễn Ngọc Trường Trần Minh Khang Bùi Quốc Huy Nguyễn Ngọc Linh Nguyễn Thành Phương Trần.
Intro to GIS | Summer 2012 Attribute Tables – Part 1.
DATABASE CONNECTIVITY TO MYSQL. Introduction =>A real life application needs to manipulate data stored in a Database. =>A database is a collection of.
Benjamin Post Cole Kelleher.  Availability  Data must maintain a specified level of availability to the users  Performance  Database requests must.
System for data creation, management and analysis JANITOR GIS Laboratory, CENIA.
What is PostGIS? Spatial DataBlade for Postgresql Store, Query, and Manipulate Spatial data objects as first-class citizens in the Database. Follows the.
Lecture 10 Creating and Maintaining Geographic Databases Longley et al., Ch. 10, through section 10.4.
23 Copyright © 2009, Oracle. All rights reserved. Oracle Business Intelligence Answers: Advanced Features.
Topic : Hibernate 1 Kaster Nurmukan. An ORM tool Used in data layer of applications Implements JPA.
1 Copyright © 2009, Oracle. All rights reserved. Oracle Business Intelligence Enterprise Edition: Overview.
Introduction to ORM Hibernate Hibernate vs JDBC. May 12, 2011 INTRODUCTION TO ORM ORM is a programming technique for converting data between relational.
Database Overview What is a database? What types of databases are there? How are databases more powerful than spreadsheets?
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
CS520 Web Programming Object-Relational Mapping with Hibernate and JPA (I) Chengyu Sun California State University, Los Angeles.
uses of DB systems DB environment DB structure Codd’s rules current common RDBMs implementations.
Hibernate Online Training. Introduction to Hibernate Hibernate is a high-performance Object-Relational persistence and query service which takes care.
Hibernate Java Persistence API. What is Persistence Persistence: The continued or prolonged existence of something. Most Applications Achieve Persistence.
Best 3 Software Development Languages. Hibernate Training Hibernate is a high-performance object-relational mapping tool and query service. Hibernate.
OpenAccess ORM Advanced Topics Kevin Babcock April 9, 2009.
New Technology: Why, What ,How
GIS Institute Center for Geographic Analysis
Efficiently Searching Schema in SQL Server
Database.
Chapter 8 Advanced SQL Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
MySQL Migration Toolkit
Data Management Innovations 2017 High level overview of DB
GIS Institute Center for Geographic Analysis
Data Access Layer (Con’t) (Overview)
GIS Institute Center for Geographic Analysis
Presentation transcript:

W W W. R E F R A C T I O N S. N E T Chris Hodgson –Spatial object models using PostGIS, Hibernate, and the JTS Topology Suite

W W W. R E F R A C T I O N S. N E TOverview BC Digital Road Atlas Project PostgreSQL & PostGIS JTS Topology Suite Hibernate Putting It All Together Lessons Learned

W W W. R E F R A C T I O N S. N E T BC Digital Roads Atlas Project (DRA) ‏ Maintained by Refractions for the Ministry of Agriculture and Lands Attribute-rich GPS-sourced roads Forestry roads from photogrammetry 3 million segments 50+ attributes (somewhat sparse) ‏

W W W. R E F R A C T I O N S. N E T DRA Operations Monthly GPS updates (~10,000 segs) Quarterly photogrammetric updates Monthly or quarterly deliveries to: –Emergency Services & 911 dispatch –Federal & Provincial government agencies –Resource sector industries

W W W. R E F R A C T I O N S. N E T DRA1 -> DRA2 DRA1 - GPS roads from a single source Stored in PostGIS database Updates and deliveries managed with FME DRA2 – multiple sources of data requiring more sophisticate update process involving conflation Updates managed by a Java Process

W W W. R E F R A C T I O N S. N E T DRA2 Data Model

W W W. R E F R A C T I O N S. N E T PostgreSQL & PostGIS PostgreSQL - open source database –Featureful and standards compliant –Highly customizable PostGIS - “Spatially Enables” PostgreSQL –Equivalent to Oracle Spatial or ArcSDE –Standards compliant – OGC “Simple Features Specification for SQL”

W W W. R E F R A C T I O N S. N E T JTS Topology Suite Open Source Java code library Geometry objects (point/line/polygon) ‏ Methods to manipulate, compare, combine, and analyze geometries Buffer, Intersects, Union, etc. Standards compliant – OGC “Simple Features Specification” Robust, consistent, and fast

W W W. R E F R A C T I O N S. N E THibernate Object/Relational Mapping Tool Persists Java objects in a database Maps between objects and tables High performance, industry standard Powerful querying, caching lazy/eager fetching of multiple results

W W W. R E F R A C T I O N S. N E T Life Without Hibernate Direct JDBC Queries/Updates When to commit changes? How to handle large query results? How to optimize retrieval of varied objects in a single query? How to make sure you don't have multiple objects representing the same database row?

W W W. R E F R A C T I O N S. N E T Custom Hibernate UserType Custom UserTypes allow you to convert between database types and Java classes PostGIS Geometry type in DB to JTS Geometry type in Java PostgreSQL PostGIS Geometry (Column Data)‏ Java JTS Geometry (Object)‏ Hibernate JtsGeometryType (UserType)‏

W W W. R E F R A C T I O N S. N E T Reverse Engineering w/Hibernate- Tools

W W W. R E F R A C T I O N S. N E T Reverse Engineering w/Hibernate- Tools

W W W. R E F R A C T I O N S. N E T Reverse Engineering w/Hibernate- Tools

W W W. R E F R A C T I O N S. N E T Putting it all Together PostgreSQL PostGIS Java JTS Hibernate DRA Update

W W W. R E F R A C T I O N S. N E T The Resulting System Update Process Code HibernatePostgreSQL/ PostGIS Queries for Segment Returns Segment Caches Segme nt Update s Segme nt Discar ds Segme nt Commits Updated Segment Flushe s Cache

W W W. R E F R A C T I O N S. N E T Lessons Learned Caching/Flushing Cached Objects vs. Spatial Queries Hibernate has feature designed for a multi-user, multi-threaded transactional environment (Java Enterprise Edition) ‏

W W W. R E F R A C T I O N S. N E TQuestions? Chris Hodgson Come visit me at the Refractions Research booth in the Exhibition hall!