geospatial indexing

2 results

Guest post: Using MongoDB to build government warning systems About VX Company

This is a guest post by Bas van Oudenaarde, Technical Manager, VX Company One of the primary roles of government is to care for the safety of its citizens. Depending on the country, there are different public alert and warning systems to notify civilians of general or local dangers. Historically, such systems have tended to be 'top-down' or hierarchical, but today bottom-up approaches are preferred as news tends to travel much faster through social media like Twitter or Facebook than outmoded means. VX Company builds such public alert and warning systems for governments, and has been evaluating how best to re-engineer its systems using MongoDB. Challenge Recently VX Company developed a novel approach using MongoDB and its built-in geospatial, sharding, replication, and other features. In this prototype, which we defined as an interim project for students, we explored a ‘bottom-up’ approach using a mobile app interfacing with a distributed servers layer with MongoDB nodes. The students got just six weeks to implement these new concepts with MongoDB: design, build, and test. By constraining the delivery deadline, both the students and MongoDB were put to the test. In this new application, a civilian could sent out a message to their neighborhood to get help in case of an emergency situation. For purposes of this system, ...neighborhood“ (or ...cell“ in our terminology) is determined by the type of emergency, so in the case of a robbery the neighborhood or cell might be 10 kilometers around the hotspot. Different emergency problems result in different sizes of cells. In each cell the government can respond to incidents, for example, by sending a fire truck or ambulance, or local neighbors can help or give more information, as appropriate. Alternatively, the government organization could broadcast warning of a problem to a cell. Whether at home or roaming, citizens can both send and receive notice of emergencies. Architecture In order to implement the system we used MongoDB together with the following components: Google API to communicate with the location server On the application level, a JSON-based REST layer that is implemented with Java 7 A push server Load balancer (optional) Any mobile device (BYOD: HTML5/JavaScript-based) Using this architecture provides a lightweight, highly scalable (cloud) solution. Why MongoDB? MongoDB is a great fit for such a distributed system. MongoDB supports location-based queries, provides location positions (longitude, latitude) with a radius and allows for easy retrieval of all persisted messages in this range. Other useful MongoDB features are sharding, replication, and JSON data interchange. Instead of storing all information centrally, sharding data lets organizations store data where it makes sense, and quickly respond to local content. In case of citizen roaming we actually have to deal with two locations, e.g., home and visit location. In addition, reliability of the data is critical in such a system. MongoDB ensures the reliability of data through support for out-of-the-box replication. Finally, MongoDB uses JSON for data exchange and hence fits naturally with mobile computing. Another important point is that MongoDB works well in cloud environments like Amazon Web Services, so that if the application proves successful we can easily and cost effectively scale it out. Initial Results? As mentioned previously, the students had just six weeks to design, build, and test their MongoDB-based emergency alert and response solution. Despite the tight time constraints, the students successfully completed this project in time and with the requisite functionality. For the project the SCRUM approach was used. In total we had three code sprints, with each sprint lasting two weeks.The first sprint was used to set up the key elements of the architecture and sketch the model. For the following two sprints, after each sprint the students delivered a working solution to the client to determine whether the product was ready or still needed adjustments. After six weeks the product was complete, consisting of a running model (which runs the predefined test cases), documentation, API information, installation manual and test setup. These promising results confirmed for us that MongoDB could significantly expand new possibilities, while simultaneously making our lives easier. A lot of interesting mobility features are built into MongoDB and we plan to explore more concepts and build them into future releases of our civilians watch application. In particular, we would like to integrate common social media like Twitter and Facebook, both to generate interest and adoption of the application, but also to improve its utility. VX Company, founded in 1988 and based in The Netherlands, is an IT service provider active in consultancy, projects and secondment in the field of Microsoft, Java, Oracle, OpenVMS, Unix and Linux. Almost 300 IT professionals work on the analysis, design, development, integration, testing and management of applications and computing infrastructures for many customers. Moreover VX Company is a specialist in the field of managed services and project management. The company is characterized by a culture in which the employee is the core of success. That's why Computable named VX Company ...Best ICT secondment company of the year,“ ...Best ICT employer,“ and one of ...the most powerful IT service providers in the Netherlands.“ Learn more at . Tagged with: government, guest post, VX Company, public alert and warning system, geospatial indexing, use cases, case study

February 4, 2013

Getting to know Geospatial Indexing on MongoDB with TST

With built-in geospatial indexing, MongoDB is an excellent option for storing and querying location data. But how are these capabilities being used in the real world? We decided to discuss how one of 10gen's partners, Thermopylae Sciences + Technology (TST), have been leveraging MongoDB for customers in the Federal and Commercial markets. Who is TST? TST is a 10gen partner that focuses on implementing MongoDB for customers in the Federal and Commercial sector. We are avid open source supporters and have contributed additional tools and capabilities to mongoDB and other OSS projects. How would you define Geospatial? Geospatial deals with a few different key areas. The underlying and foundational layer of geospatial is generally known as a map or an image. Managing large amounts of data in this foundational layer has the potential to reach multi-petabyte scale quite quickly. The second element of geospatial is data that helps define the foundational layer - generally this is terrain elevation data or 3D building (urban terrain). The data on top of the previous layers - the static information - is another component and includes information that does not change frequently such as activities, frequency of activities, reports on events at a certain place and time, etc. Static information includes historic data, such as how many robberies occurred in your neighborhood over the previous 5 years. /p> The final set of data is dynamic geo data , which deals with things that are moving such as tracking your friends on Google Latitude. The military has Common Operating Picture displays that show the position of all their troops in a region - another example of dynamic data. As geospatial data management capabilities continue to evolve, the dynamic geo data space is growing considerably. Why MongoDB for Geospatial? As a document oriented storage system , MongoDB allows you to store complex data types. In contrast to distributed hash tables, key value stores, or relational databases that only permit storage of simple types, MongoDB DOES allow for the complex data types. The real value for TST is the ability to support operations-focused customers. These folks, usually in our US Military or other Intelligence Community agencies, have geospatial data that number into the tens of millions of objects, including hyperspectral data and spatio-temporal data that changes rapidly. This volume of data requires the scale-out functionality that MongoDB provides. MongoDB is easy to extend and configure from a developer's perspective, which leads to rapid development. And the technology is schema flexible - with a query language retaining some of the properties of SQL Additionally, we have found the efficient memory management design that MongoDB provides complements our approach well. This enables the storage of the entire index directly within memory as opposed to extensive memory to disk swapping, which hampers write performance. Outside of customer application development, how else does TST use MongoDB for geo? TST has three primary capabilities that currently leverage MongoDB. iSpatial is a geospatial framework that uses MongoDB as one of its indexes for data. As improvements to MongoDB's geospatial management features are contributed, TST will continuously enhance iSpatial to take advantage of those features. iHarvest is a tool that uses MongoDB to monitor hundreds of millions of events on a network. Those events could be carried out by system users, sensors on network, or hardware devices on network. iHarvest creates an individual model for each actor and can then conduct a variety of analysis that helps protect against insider threat, promotes collaboration among individuals with common interests, provides organization heads a roll-up of what their organization is working on, and alerts the users within an organization to new data that they might be interested in reviewing. Ubiquity is TST's mobile software framework that leverages MongoDB through iSpatial. This software enables every day users to drag and drop widgets into a mobile application container to create their own unique mobile apps. TST has extended MongoDB core codebase with an initial update to allow an abstraction of the current indexing that now supports different indexing structures. This allows a variety of additional spatial capabilities. Specifically, the TST extensions now allow for MongoDB to support 3D and 4D searching on geospatial data. TST plans to continue contributing to the MongoDB core around spatial applications and will be working on indexing hyperspectral data and enhancing the geo sharding capabilities. TST will also be working internally to rotate our development staff through our open source contribution team in our Applied Sciences Group, so that a significant percentage of our top developer are smart on MongoDB and able to contribute updates to the core software. To learn more about TST, visit Also, check out Nicholas Knize presentation from mongoDC on Geospatial Indexing and MongoDB . Tagged with: geospatial indexing, mysql, software, foss, open source, government IT, MongoDB, Mongo, NoSQL, Polyglot persistence, 10gen

July 13, 2012