Code Monkey home page Code Monkey logo

osrm-qgis-plugin's Introduction

OSRM plugin for QGIS (UNMAINTAINED)

Overview

Tiny QGIS plug-in allowing to retrieve and display data from an (ideally locally based) OSRM web service.

This plug-in is in its early stage of development and the code is hosted on github.

Only targets OSRM > v5.0 (API introduced around April 2016)

Current plugin version : 0.1.0

Functionality

  • Find a route
  • Get a time matrix
  • Make accessibility isochrones
  • Solve the Travelling Salesman Problem
  • Compute and export many routes

Usage

This plug-in is primarily aimed to be used on a local instance of OSRM.

If used to request the public API you have to adhere to the API Usage Policy (which include no heavy usage, like computing many /viaroute with this plug-in)

Example

Images of this page are displayed on OpenStreetMap tiles (© OpenStreetMap contributors) and route computations were done with Open Source Routing Machine.

Find a route

Display a simple route from OSRM (with support of viapoints, alternatives roads and route instructions):

route illustration

Fetch a time-distance matrix

Get a time matrix from one (or between two) QGIS point layer(s):

isochrone illustration

Compute accessibility isochrones

Compute monocentric or polycentric accessibility isochrones:

isochrone illustration

Compute many viaroute

Retrieve many routes between two QGIS layer of points:

isochrone illustration

Display the solution of the Travelling Salesman Problem

Display the result of the Travelling Salesman Problem computed by OSRM:

isochrone illustration

Licence and attribution

If the information computed by this plugin is intend to be reused, you have to properly display the source of the routes and the data licence attribution :

  • All the routes/time matrix displayed are computed by the underlying routing engine OSRM.
  • Route computed by the OSRM public API (and probably by your instance) rely on OpenStreetMap dataset which is under ODbL.

Changelog

0.0.1b:
  • Add support for new OSRM API (> v5.0) and drop support for other versions
0.0.1:
  • Add support for the OSRM /trip functionality
  • Add support for intermediate points in viaroute displaying.
  • Add experimental support for "polycentric" (and more precise) accessibility isochrones.
  • Add support for new OSRM rectangular matrix (and isochrones creation using it).
  • First release
0.0.1-rc1:
  • Drop the use of shapely for isochrone polygons construction.
  • ADD: a backport of functools.lru_cache to cache http request on client side.
  • ADD: restriction on the batch viaroute to prevent a massive use of the public API.

osrm-qgis-plugin's People

Contributors

mthh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

osrm-qgis-plugin's Issues

C++ syntax causes it to fail on Windows QGIS

Is there any chance that you could take a look at trying to make this work on Windows QGIS. There are issues like using Qt::Horizontal that fail. I think it should be Qt.Horizontal. Anyway there are a lot of issues like this. I tried doing an initial pass at getting it to work, but failed. There is too much to fix to make it compatible. Also in the .ui files, the Windows Python does not like:

 <customwidgets>
  <customwidget>
   <class>QgsMapLayerComboBox</class>
   <extends>QComboBox</extends>
   <header>qgsmaplayercombobox.h</header>
  </customwidget>
 </customwidgets>

It should be

<customwidgets>
  <customwidget>
   <class>QgsMapLayerComboBox</class>
   <extends>QComboBox</extends>
   <header>qgis.gui</header>
  </customwidget>
 </customwidgets>

Thanks!!!

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.