ipfs-inactive / 2016-IPFS-Workshop-Lisbon

[ARCHIVED] Repo for the 2016 Q3 Workshop, in Lisbon and remote
12 stars 6 forks source link

Mapping notes #21

Open nicola opened 8 years ago

nicola commented 8 years ago

The notes at the very end are not that good


Maps

Prior reading:

- maps on ipfs notes: https://github.com/ipfs/notes/issues/142

Storing (solved)

Rendering (solved, there are plenty of out of the box tools leaflet, mapgl)

Status

The great thing about IPFS is that it gives you this data structure that you dont have to think about the lower level aspects

Status

Aim is to construct shortest path in a graph

  1. OSM -> transit graph
    • There are datasets that have some annotations
    • We can use it to build Transit graphs (transit times & so on) - solved problem (see THOR)
  2. Search
    • Naive algorithm: Dijkstra algorithm? No way, too much data to crawl
    • Less naive: A* (= Dijkstra + Heuristics) if we do the path distance estimation fast, then routing is very fast
      • Eucledian distance
      • Landmarks (cities & so on)
      • 2-Hop Hub labeling (exact distance in constant time between nodes in O(n) space and 1 round trip)
      • we could modify A* to cut the number of roundtrips that A* has to do
      • cannot be built incrementally - but can be built
      • consumes a lot of ram
      • we need to buy a 1TB RAM computer
      • Conceptually we calculate the square root of a distance matrix
      • For each vertex, we compute 2 label set
        • v_in, v_out, each of these labelset are collections of vertifices plus sets
        • store a list of nodes and distances
        • property of nodes: any shortest path has at least 1 vertex in v_in and v_out
      • we intersect the distance from A->B, becomes the intersection of two sorted lists

Build label set in linear time

Status

Questions:

daviddias commented 8 years ago

Video will be referenced on - https://github.com/ipfs/2016-Q3-Workshop/issues/22