Proximity Spider
Project 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?
© Copyright 2026 Paperzz