proximity spider project by ganesh naikare project advisor: professor scott spetka
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
Proximity SpiderProject by Ganesh Naikare
Project Advisor:Professor Scott Spetka
Outline
• Requirement Overview• Challenges• Existing Solutions• Design• Comparison• Conclusion
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.
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.
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.
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
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.
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
Geospatial Operations Logic
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 ] }
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 ] }
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)
Use Cases• Searching for a location of particular interest
Use Cases• Searching for a location of particular interest
Use Cases• Adding a business/POI on the map
Performance Comparison
Performance Comparison
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.
Thank You
• Any Questions?