MySQL spatial indexing for GIS data in a web 2.0 internet application Brian Toone Samford University

Slides:



Advertisements
Similar presentations
The North American Carbon Program Google Earth Collection Peter C. Griffith, NACP Coordinator; Lisa E. Wilcox; Amy L. Morrell, NACP Web Group Organization:
Advertisements

Indexing and Range Queries in Spatio-Temporal Databases
Danzhou Liu Ee-Peng Lim Wee-Keong Ng
Multidimensional Indexing
Flood Map Library MD. M. HAQUE DWR-HYDROLOGY. Building a Flood Map Library Indexing existing flood maps and geospatial data for search and retrieval Separate.
Group 3 Akash Agrawal and Atanu Roy 1 Raster Database.
2-dimensional indexing structure
For Mapping Biodiversity Data Data Management Options.
Neighborhood Locator Team Members: Qian Hao Nick Miller Doug Shover Tagwireyi Paradzayi.
By Liqiang Cheng, Naiqi Jin and Jason Yap. Project Description Project summary: A Geo-spatial search system that collects and combines data from various.
On Reducing Communication Cost for Distributed Query Monitoring Systems. Fuyu Liu, Kien A. Hua, Fei Xie MDM 2008 Alex Papadimitriou.
Integrating Access with the Web and with Other Programs.
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
R-Trees 2-dimensional indexing structure. R-trees 2-dimensional version of the B-tree: B-tree of maximum degree 8; degree between 3 and 8 Internal nodes.
Indexing Spatio-Temporal Data Warehouses Dimitris Papadias, Yufei Tao, Panos Kalnis, Jun Zhang Department of Computer Science Hong Kong University of Science.
Chapter 9 Introduction to the Document Object Model (DOM) JavaScript, Third Edition.
Multidimensional Data Many applications of databases are ``geographic'' = 2­dimensional data. Others involve large numbers of dimensions. Example: data.
1 Introducing Scenario Network Data Editing and Enterprise GIS January 27, 2010 Minhua Wang, Ph.D. Citilabs, Inc.
Basic Concepts of GIS January 29, What is GIS? “A powerful set of tools for collecting, storing, retrieving, transforming and displaying spatial.
Intro. To GIS Lecture 4 Data: data storage, creation & editing
Website Content, Forms and Dynamic Web Pages. Electronic Portfolios Portfolio: – A collection of work that clearly illustrates effort, progress, knowledge,
Augmenting search using a semantic visual graph Edwin de Jonge Olav ten Bosch Statistics Netherlands.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
Improving Min/Max Aggregation over Spatial Objects Donghui Zhang, Vassilis J. Tsotras University of California, Riverside ACM GIS’01.
1 © Prentice Hall, 2002 Physical Database Design Dr. Bijoy Bordoloi.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
IST 210 Introduction to Spatial Databases. IST 210 Evolution of acronym “GIS” Fig 1.1 Geographic Information Systems (1980s) Geographic Information Science.
Geographic Information System GIS This project is implemented through the CENTRAL EUROPE Programme co-financed by the ERDF GIS Geographic Inf o rmation.
Physical Database Design & Performance. Optimizing for Query Performance For DBs with high retrieval traffic as compared to maintenance traffic, optimizing.
The X-Tree An Index Structure for High Dimensional Data Stefan Berchtold, Daniel A Keim, Hans Peter Kriegel Institute of Computer Science Munich, Germany.
1 OPOL Training (OrderPro Online) Prepared by Christina Van Metre Independent Educational Consultant CTO, Business Development Team © Training Version.
Best Practices for Designing Effective Map Services Tanu Hoque.
Symplectic.co.uk VIVO ISF: Investigating Speed Factors Graham Triggs Head of Repository
Title Page programmemanagementsystem KPMD (IT Solutions) Ltd Blades Enterprise Centre, Bramall Lane, Sheffield S2 4SU, United Kingdom telephone: +44 (0)114.
Video Google: A Text Retrieval Approach to Object Matching in Videos Josef Sivic and Andrew Zisserman.
New Look New Tools Easier Access Accessing and Using Census Data The New American FactFinder (AFF2) Northwest Government Information Network Tumwater,
Indexing and Visualizing Multidimensional Data I. Csabai, M. Trencséni, L. Dobos, G. Herczegh, P. Józsa, N. Purger Eötvös University,Budapest.
ASP.NET Caching - Pradeepa Chandramohan. What is Caching? Storing data in memory for quick access. In Web Application environment, data that is cached.
Search Engines.
Web Programming Brian Toone 8/27/2014. Outline for today 1.Understanding the architecture of the web 2.Overview of programming languages – Client-side.
AJAX Compiled from “AJAX Programming” [Sang Shin] (Asynchronous JavaScript and XML)
Maintaining a Database Access Project 3. 2 What is Database Maintenance ?  Maintaining a database means modifying the data to keep it up-to-date. This.
There are seven main components of a database in Access 2000: Tables. Use tables to store database information. Forms Use forms to enter or edit the information.
Using the AccuGlobe Software with the IndianaMap Using the AccuGlobe Software.
EMIRES Czech. 2 INSPIRE & its requirements Geographic information needed for good governance at all levels should be abundant and widely available under.
Types of Spatial Data Sites Data portals: Find and download data –Humboldt County, National Atlas “Atlases”: General information –GoogleMaps, MapQuest.
Spatial Database 2/5/2011 Reference – Ramakrishna Gerhke and Silbershatz.
the acronym for Asynchronous JavaScript and XML.
Client-Server Paradise ICOM 8015 Distributed Databases.
Database Indexing 1 After this lecture, you should be able to:  Understand why we need database indexing.  Define indexes for your tables in MySQL. 
NSF DUE ; Wen M. Andrews J. Sargeant Reynolds Community College Richmond, Virginia.
CS5604: Final Presentation ProjOpenDSA: Log Support Victoria Suwardiman Anand Swaminathan Shiyi Wei Department of Computer Science, Virginia Tech December.
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka.
WaveMaker Visual AJAX Studio 4.0 Training Java Script Events.
XP New Perspectives on Microsoft Office Access 2003, Second Edition- Tutorial 8 1 Microsoft Office Access 2003 Tutorial 8 – Integrating Access with the.
Hydroinformatics Lecture 15: HydroServer and HydroServer Lite The CUAHSI HIS is Supported by NSF Grant# EAR CUAHSI HIS Sharing hydrologic data.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
CS491B Software Design Lab Project Report Yuet-Chi Lee California State University, Los Angeles.
Flood Map Library MD. M. HAQUE DWR-HYDROLOGY. Building a Flood Map Library Indexing existing flood maps and geospatial data for search and retrieval Separate.
Section 10.1 Define scripting
JavaScript and Ajax (Ajax Tutorial)
Glast Collaboration Data Server and Data Catalog
Enhancing Web Map Performance in ArcGIS Online
Presenter Date | Location
AJAX.
Selectivity Estimation of Big Spatial Data
Data Visualization Web Application
What is a Search Engine EIT, Author Gay Robertson, 2017.
DR. JOHN ABRAHAM PROFESSOR UTPA
Presentation transcript:

MySQL spatial indexing for GIS data in a web 2.0 internet application Brian Toone Samford University

What is Web 2.0? Mind MapMind Map by Markus Angermeier

Our focus Mind MapMind Map by Markus Angermeier

Geographic Information Systems Web 2.0 Google Maps Interactive Maps require data retrieval as the user interacts with the map

How does it work? Short answer: AJAX Long answer: Asynchronous JavaScript And XML Dynamic web pages (DHTML) respond to user events (e.g., onmousemove, onclick, etc…) Typical response is to change visual appearance (e.g., highlight a table cell, display a drop-down menu) AJAX allows retrieval of new data from the web server (e.g., fetch new map data, populate a drop-down box) User can continue to interact with the page during data retrieval (i.e., no need to wait for page reload)

The Problem GIS Datasets can be VERY large Example National Elevation Dataset by the USGS Even with 30m sampling, ~ 60 GB A Web2.0 application even when downloading data “in the background” cannot download that much data without forcing the user to wait a long time! Frequently, we only need a small portion of the data, but finding the relevant data can also take too long

The Problem, cont’d “Needle in a haystack” Consider the example of an elevation profile: Update the profile as user adds new points Small number of points need to be retrieved quickly

The Problem, cont’d NEEDLE: Elevation sample points required (~200 data points) HAYSTACK: The Central Alabama portion of the NED(~39,700,000 data points) One additional problem: frequently we are interested in finding the nearest neighbor because the sample points we are looking for are not available in the dataset

The problem, cont’d Traditional database index speeds up Random access to data within a table Efficient ordered access to data Sounds good so far, but… Finding a geographic point requires matching on TWO different fields (latitude and longitude)

The Solution Spatial indexing Optimizes retrieval based on geographic location Example: find matches within database that contain a geographic region or point MySQL support OpenGIS Geometry Model (e.g., points, lines, polygons) Fields (table columns) supported by MySQL GEOMETRY, POINT, LINESTRING, POLYGON Spatial indexing - R-Trees with quadratic splitting Query support – Currently limited to MBR only

Experimental setup Measure length of time to retrieve elevations for 10 sample points under the following conditions: MySQL table with typical B-tree index MySQL table with spatial index ( R-tree ) External web-service provided by the USGS Purple area shows portion of Central Alabama covered by 30 million sample points. Points were added to the test set by clicking ten times within the purple area. Effort was made to evenly distribute the clicks.

Experimental setup, cont’d After the 10 test points were selected, three queries to retrieve the requested elevations were issued in parallel External web service (Details omitted, used as a reference) B-tree query: R-tree query:

Results Response time to find all 10 elevations was measured against various database sizes R-tree (spatial) indexing was the clear winner

Conclusion MySQL spatial support exists for geospatial data MySQL spatial indexing can dramatically improve performance of spatial queries MySQL spatial support still under development MySQL index sacrifices speed for generality (MBR) Future MySQL support may change these results Development has been slow (v3 to v6)

Future Work Investigate schema based optimizations (i.e., index is the database structure itself). Consider each of the following options: Separate tables for storing elevation data for separate geographic regions (e.g., states, counties) Separate tables for blocks of data of different shapes (square, rectangle, circular, etc…) Maintain application index to select the necessary table(s) to search for a given set of points Compare storage requirements in addition to speed

Thank you! Questions? For more information