![Page 1: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/1.jpg)
Proximity SpiderProject by Ganesh Naikare
Project Advisor:Professor Scott Spetka
![Page 2: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/2.jpg)
Outline
• Requirement Overview• Challenges• Existing Solutions• Design• Comparison• Conclusion
![Page 3: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/9.jpg)
Geospatial Operations Logic
![Page 10: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/13.jpg)
Use Cases• Searching for a location of particular interest
![Page 14: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/14.jpg)
Use Cases• Searching for a location of particular interest
![Page 15: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/15.jpg)
Use Cases• Adding a business/POI on the map
![Page 16: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/16.jpg)
Performance Comparison
![Page 17: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/17.jpg)
Performance Comparison
![Page 18: Proximity Spider Project by Ganesh Naikare Project Advisor: Professor Scott Spetka](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062401/5a4d1b207f8b9ab059995364/html5/thumbnails/19.jpg)
Thank You
• Any Questions?