Giter VIP home page Giter VIP logo

msc-dissertation's Introduction

Msc Dissertation

This is the repository for my Msc Computing Dissertation.

For the code at submission see the branch submission-code

There are two parts to this project.

  • Data processing to produce a set of alert points
  • Mobile application to give audible alerts while driving

OpenStreetMap data

OpenStreetMap has been used in this project as the map data source. OpenStreetMap® is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF). Further information available at openstreetmap.org/copyright

Used Libraries

Python

OSMnx

OSMnx is a Python library for working with OpenStreetMap data. It is licensed under the MIT license

geopy

geopy is a Python client for several popular geocoding web services. It is licensed under the MIT license

progressbar2

progressbar2 is a Python library to show a progress bar for a typically long running operation. It is licensed under BSD license

Java

SimpleLatLng

SimpleLatLng is a Java library for latitude and longitude calculations. This is licensed using the Apache 2.0 License

Data Processing

There are two scripts required for to run the data processing. Before running any scripts the following is required

  • The .osm or .osm.pbf file will need to be put inside the data-processing/osm-raw directory.
  • Both Osmconvert and Osmfilter need to be downloaded and placed in the data-processing directory with the file names osmconvert64.exe and osmfilter.exe respectively.

Once the above is completed the two scripts are called for the data processing.

  • First the raw data needs initial filtering by running .\filter-raw-osm-data.ps1 .\osm-raw\NAME_OF_OSM_FILE.osm.pbf. Once completed this will create a NAME_OF_OSM_FILE.osm file in the osm-filtered directory.
  • Second run the python script with the following command python .\process_data.py .\osm-filtered\NAME_OF_OSM_FILE.osm When completed the alerts will be saved to a JSON file NAME_OF_OSM_FILE.json in the alerts directory.

Android Application

The alert JSON file is copied into the app/app/src/main/res/raw directory. Then in AlertCheckerService.java within app/app/src/main/java/com/example/gpssafetydrivingapp/alerts within the loadAlertPoints() method the line getApplicationContext().getResources().openRawResource(R.raw.NAME_OF_JSON) will need NAME_OF_JSON to be replaced with JSON filename without the extension.

The Android application can then be built.

msc-dissertation's People

Contributors

timothyf1 avatar

Watchers

 avatar

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.