Coder Social home page Coder Social logo

eurlirian-path's Introduction

RunCityStreets v0.2 (Alpha)

Motivation + Aims:
This project was started with a desire to run the length of my entire local area. I soon learned that
route planning could get pretty complicated - especially if you want to avoid re-running streets.

This project aims to find the most efficient running routes to achieve the above goal. 

Current State of the Project:
Provided with a shapefile of a given road network, the program converts this to a graph. From this graph,
the Eulerian path is calculated, if this is not possible you can calculate the semi-eulirian path.

In its current state, the best route will only be created for a fraction of the users.

Graph creation logic:
The current graph creation code removes nodes (street corners) that have either 0 streets connected to them,
or an odd number of streets connected to them. This is in an effort to ensure at least a semi-eulirian path
is possible. This logic may be flawed and I invite improvements.

Next steps:
- calculate the next best path is eulirian or semi-eulirian paths are not possible.
- output calculated path to a gpx file
- automate path calculation so that it finds the eulirian, then semi-eulirian then hamiltonian - in that order.
- GUI
- produce a shapefile automatically from an area selected on an open streetmap


Please don't distribute or try and make money using my code without my permission etc.

eurlirian-path's People

Contributors

vizik24 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.