meercart: HeatMap für DriveNow

Die Positionsdaten von drive now zeiltich sammeln und dann auswerten

Frontend

Backend

Calc Lat. & Long. to pixel HeatMapClass Orthodrome - Abstand zwischen zwei Erdkoordinaten Gutes Beispiel für Couch DB ReReduce

DB

Der tile-get-view holt anhand des 'key' mit den Parametern ''Tile für Zoom:13, X:2687, Y:306;'' [http://umija.iriscouch.com/meercart/_design/dev/_view/get_zxyr?limit=99&key=%5B13%2C2687%2C306%5D)

Jetzt auch mit Reduce und natürlich auch ReReduce

Daten einsammeln

per cron alle 20 Minuten

file

seit mitte April als file

aber {CODE()} curl -s https://www.drive-now.com/php/metropolis/vehicle_filter | curl -X PUT https://umija:xxxxxxx@umija.iriscouch.com/meercart/date +\%F_\%H_\%M -d @- {CODE} udn das zu couch ~/drive-now$ for f in ls drivenow_2012-05-15*; do var=${f:9:13}_${f:23:2}; curl -X PUT https://umija:XXXXXXXXXXXXXX@umija.iriscouch.com/meercart/$var -d @$f ; done

Zeitaggregation

Stündliche kachel: http://meercart.umija.org/backend/CreatHeatMaphora.php?hora=12&zoom=13&x=4360&y=2841 leider noch nicht gecached, daher wird das bild nicht immer erzeugt

Example

mit http://meercart.umija.org/frontend/tilesoverlay.html {DIV(id="mapdiv", width=512px, height=512px)}Loading ...{DIV} {JS(file="http://maplib.khtml.org/khtml.maplib/khtml_all.js")}{JS} {JS()} //choose map render libary var mr=new Object(khtml.maplib);

//initialize the map
var map=new mr.Map(document.getElementById("mapdiv"));
var p=new mr.LatLng(48.15351, 11.56072);
map.centerAndZoom(p,13);

var zoominger=new khtml.maplib.ui.Zoombar();
map.addOverlay(zoominger);

ov=map.addTilesOverlay({
maxzoom:18,
minzoom:4,
src:function(x,y,z){
    return "http://meercart.umija.org/backend/CreatHeatMap.php?zoom="+z+"&x="+x+"&y="+y;
},
copyright:"openseamap"
})

{JS}

Das Ganze lässt sich auch mit Toner Map realisieren. Karte: [http://maps.stamen.com] JS Lib: [http://leaflet.cloudmade.com/reference.html#imageoverlay]

Auswertungsmöglichkeiten

Bewegung

Anhand der Daten lässt sich die Startkoordinate und die Zielkoordinate eines Mietvorganges ermitteln. Diese zwei Koordinaten als Vektor dargestellt stellen dann den Bewegungspfeil dar. Anhand dieser Information lassen sich die belibten Zielpunkte bzw. beliebten Fahrten ermitteln.

SourceCode

Ist per GIT einzusehen und natürlich auch zu verändern [https://gitorious.org/meercart/meercart].

Name

was hältst du von * carsharingradar * Meerkat, * mobileMeerkat * carmeerkat * ridemeerkat * meerkat2ride --> meercart.umija.org A 88.80.195.198

Ideen

Eine statische Seite mit haml Bibliothek rausschicken und den Rest per Google ImageService rendern lassen. Noch mehr haml Info.