proximity spider project by ganesh naikare project advisor: professor scott spetka

19
Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Upload: erik-perkins

Post on 18-Jan-2018

219 views

Category:

Documents


0 download

DESCRIPTION

Requirement Overview Web based application to use vast geospatial information Millions of records associated with geospatial information can be added and processed. Real-time geospatial operation capability and responsive nature of an application Application should be accessible via any computer, laptops, mobile devices.

TRANSCRIPT

Page 1: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Proximity SpiderProject by Ganesh Naikare

Project Advisor:Professor Scott Spetka

Page 2: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Outline

• Requirement Overview• Challenges• Existing Solutions• Design• Comparison• Conclusion

Page 3: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Requirement Overview

• Web based application to use vast geospatial information• Millions of records associated with geospatial information

can be added and processed.• Real-time geospatial operation capability and responsive

nature of an application• Application should be accessible via any computer,

laptops, mobile devices.

Page 4: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Challenges

• Growing data size hinders performance in relational database technologies

• No inbuilt support for geospatial operations.• Use of API for geospatial operations add up to the

response time of an application and has limitations on their use.

• Need of database which performs well even with large data set and has inbuilt geospatial operations capability.

Page 5: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Existing Solutions

• Google Maps API – Usage limitations• Bigtable by Google (fully-managed cloud NoSQL database

service) – Not public until May 2015• Hadoop or Big Data – Good performance for large datasets

but still need external solution for • Lack of support for Spherical geometry in distance

calculations.

Page 6: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Design

• Design Goals• 99.99% Availability• Easy to use interface accessible via mobile devices as well on

mobile devices• Fast response time • Scalable design• Low complexity

Page 7: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Project Modules

• Web Interface• Google Maps API (for showing locations using pins on a

map)• Business Logic module• Data access service – To translate programming language

MongDB queries• Database – Data storage, indexing & Geospatial operation

engine.

Page 8: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Frameworks Used

• Spring Framework – Java Application Framework (Inversion of Control)

• SpringData MongoDB – To convert Criteria queries to MongoDB scripts

• Bootstrap – Responsive design HTML, CSS and JS Framework

Page 9: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Geospatial Operations Logic

Page 10: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Geospatial Operations Logic• MongoDB’s 2dSphere Index – Works with GeoJSON objects

• { type: "<GeoJSON type>" , coordinates: <coordinates> }• coordinates in longitude, latitude order.• Point• LineString• Polygon• MultiPoint• MultiLineString• MultiPolygon• GeometryCollection

• Data Type Point - { type: "Point", coordinates: [ 40, 5 ] }

Page 11: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Geospatial Operations Logic• MongoDB’s 2dSphere Index – Works with GeoJSON objects

• { type: "<GeoJSON type>" , coordinates: <coordinates> }• coordinates in longitude, latitude order.• Point• LineString• Polygon• MultiPoint• MultiLineString• MultiPolygon• GeometryCollection

• Data Type Point - { type: "Point", coordinates: [ 40, 5 ] }

Page 12: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Spherical Geometry Support• Circle circle = new Circle(point, radiusDistance);• Criteria criteria = Criteria.where("location").withinSphere(circle);• The above criteria gets translated into following query

db.places.find( { loc: { $geoWithin: { $centerSphere: [ [ -74, 40.74 ] , 100 / 3963.2 ] } } } )

• These three queries use radians for distance• distance to radians: divide the distance by the radius of the sphere (e.g. the

Earth) 

Page 13: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Use Cases• Searching for a location of particular interest

Page 14: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Use Cases• Searching for a location of particular interest

Page 15: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Use Cases• Adding a business/POI on the map

Page 16: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Performance Comparison

Page 17: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Performance Comparison

Page 18: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Conclusion

• Performance gain of NoSQL database increases with increasing data set as compared to relational database, allowing faster access.

• MongoDB Provides advantage of 2dSphere indexes and geospatial operations over other databases

• Schema less document database provisions storage of data different size, number, content in same collection. This makes application easily scalable.

Page 19: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka

Thank You

• Any Questions?