Code Monkey home page Code Monkey logo

modulo's Introduction

modulo

Drive-by sensing is a popular upcoming approach for monitoring large geographic areas using a fleet of vehicles equipped to sense relevant quantities. Prior research has shown the efficacy of drive-by sensing in monitoring air pollution, detecting potholes, recognizing unsafe pedestrian movement, etc.

Assume a scenario in which a sensor network administrator decides to install 10 sensors on vehicles to sense a quantity. The administrator may have a much larger fleet of vehicles, say 100 vehicles, to choose these 10 vehicles from. How does the administrator decide which 10 of the 100 available vehicles to choose, such that his/her choice maximizes the spatiotemporal coverage? We introduce Modulo --- a system for vehicle selection in drive-by sensing.

Installation and Pre-requisites

Modulo is primarily written in Python and supports Python version >=3.6. You can install Modulo using:

pip3 install pymodulo

Modulo also has a few other non-Python dependencies:

  1. MongoDB Please ensure you have access to a MongoDB server (local or remote). If you prefer a quick and simple remote MongoDB server, you can try out MongoDB Atlas. Instead, if you prefer installing a local server, you can do so from here. If you choose to install it locally, we also suggest installing a MongoDB GUI like MongoDB Compass.
  2. Node.js and NPM Modulo uses Turf.js, a JavaScript library available on NPM. You can download the package.json available in this repository, place it in the root of your project, and simply do:
    npm init
    npm install
    Please ensure that the Node.js is accessible as the node command on the terminal.

How to Run

Please follow the iPython notebook available in this repository (example.ipynb).

The code is well-documented using Python docstrings. Hence, you can use Python's help() feature on any class or method to know more about what it does.

Citing this work

If you find Modulo useful for your research work, please cite us as follows:

Dhruv Agarwal, Srinivasan Iyengar, et al. Modulo: Drive-by sensing at city-scale on the cheap. InProceedings of the 3rd ACM SIGCAS Conference on Computing and Sustainable Societies 2020.

@inproceedings{agarwal2020modulo,
  title={Modulo: Drive-by sensing at city-scale on the cheap},
  author={Agarwal, Dhruv and Iyengar, Srinivasan and Swaminathan, Manohar and Sharma, Eash and Raj, Ashish and Hatwar, Aadithya},
  booktitle={Proceedings of the 3rd ACM SIGCAS Conference on Computing and Sustainable Societies},
  year={2020}
}

modulo's People

Contributors

agdhruv avatar microsoft-github-operations[bot] avatar microsoftopensource avatar t-sriyen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modulo's Issues

Replace "parseInt" to "Number" in gridding.js

The "parseInt" in line 14 of SpatialStratification/gridding.js should be replaced with "Number".
Otherwise it would cause an error if set the first parameter of GridStratification( ) to 0.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.