Skip to content

Proof of concept to implement a service to calculate the driving distance using osm network

License

Notifications You must be signed in to change notification settings

angelcervera/poc-drivingdistance

Repository files navigation

Driving Distance Algorithm implementation.

Remind: This is a PoC so it's not for production at all.

This PoC is a reasearch to generate create a service to generate "Areas of coverage" or "Driving Distance". The first implementation is using AKKA to implement an in-memory database to represent the Graph and the algorithm to generate the map of nodes.

All information used to generate the network is using info from OpenStreetMap and the library osm4scala to parse the file in Scala.

Information

How to know the way direccion

Basically, all ways with the tag highway are bidirectional, except when the tag oneway is present. Depending of the value:

  • If the value is "yes" the direction the natural drawn direction.
  • If the values is "-1", the direction the opposite to the natural drawn direction.
  • If the value is "no" or the tag is not present, it is a bidirectional way.

Info:

Metrics.

Time transferring all blocks of the full planet

~/apps/hadoop-2.7.4$ time bin/hdfs dfs -put /tmp/blocks osm/planet

real	41m50.689s
user	3m17.480s
sys	2m9.436s

Next steps approachs:

  • Store one street per Actor, instead a node, so we save a lot of calls between nodes and it is necessary only check if we passed before by the street and not be the node.
  • Store a set of streets (per osm block) per Actor.

About

Proof of concept to implement a service to calculate the driving distance using osm network

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages