Ffmap-d3: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 11: Zeile 11:


== Input ==
== Input ==
ffmap-d3 benötigt eine 'nodes.json'. Diese sieht in etwa so aus:
ffmap-d3 benötigt eine 'nodes.json'. Diese sieht in etwa so aus:
ffmap-d3 benötigt eine 'nodes.json'. Diese sieht in etwa so aus:
  {
  {
Zeile 41: Zeile 40:
  ]
  ]


== Geplanter Input ==
Vorschläge?
{
    "meta": { "timestamp": "2013-05-04T17:53:00"}, // Wann die Datei generiert wurde. - erscheint oben als Uhrzeit
    "nodes": {                                    // Liste aller Nodes
        "[nodeid]": {                              // Eindeutig um den Knoten identifizieren zu können.
            "name"  :"[NAME]",                    // Name des Nodes
            "geo"    : [50.9956, 7.02981],        // Geokoordinaten (lat, long)
            "clients": 3,                          // Anzahl Clients an diesem Node
            "gateway": true | false,              // Handelt es sich bei diesem Node um ein Gateway?
            "links"  : {                          // Liste aller Links
                "[nodeid]": {                      // Nodeid des link-Ziels
                    "type"  : null | vpn,        // links zu nodes: null, links zu vpns: vpn
                    "quality": 1.000
                }, ...
            }
        }, ...
    }
}
== Links ==
== Links ==
* [https://github.com/tcatm/ffmap-d3 tcatm/ffmap-d3 original]
* [https://github.com/tcatm/ffmap-d3 tcatm/ffmap-d3 original]

Version vom 17. Juli 2013, 22:32 Uhr

Work in progress


ffmap-d3 erzeugt einen Knotengraphen (Abb. 1), eine Nodekarte (Abb. 2) und eine Statusübersicht (Abb. 3).

Input

ffmap-d3 benötigt eine 'nodes.json'. Diese sieht in etwa so aus:

{
  "meta": { "timestamp": "2013-05-04T17:53:00"}, // Wann die Datei generiert wurde. - erscheint oben als Uhrzeit
  "links": [ 				          // Eine Linie zwischen zwei Nodes.
   {"target": 43, 			          // Start,  
    "source": 1, 			          // Ende des Links -> Indizces in die Liste -> Start bei 0
    "quality": "TT", 		                  // "Ganz vage defininiert." -> Entweder Text, oder 1-2 floating Zahlen. 
					          // Der Durchschnitt entspricht der Farbe des Links. Nur ein Feld: Dünne Linie
					          // TT -> Es ist ein Client
					          // Jeder CLient wird auch als Node im Array "nodes" aufgeführt.
    "type": "client",   	                  // Client oder VPN . Ist einer der beiden Nodes ein Client, dann Client link
					          // Ist ein Link ein Gateway, dann Gateway-Link
    "id": "66:70:02:5c:2c:31-8e:8f:e7:e6:5e:f2"  // Braucht die Karte für die auto-update funktion - 
						  // Was ist bei mehreren Links zwischen gleichen Nodes? -> Aktuell Reduce-Funktion -> Wird auf einen Link reduziert.
	}, 
 ],
 "nodes": [					  // Liste aller Nodes. 
  {
	"name": "SN 1",                           // Name des Nodes
	"flags": {				  // Zustand des Nodes (online, gateway, client, vpn (nicht verwendet)) 
		"online": false, 
		"gateway": false, 
		"client": false}, 
	"id": "f4:ec:38:9d:7d:c2",               // Eindeutig um den Knoten identifizieren zu können.
	"macs": "f4:ec:38:9d:7d:c2",             // Comma seperated List aller macs
	"geo": [50.9956, 7.02981]                // Geokoordinaten (lat, long)
	}
]

Geplanter Input

Vorschläge?

{
    "meta": { "timestamp": "2013-05-04T17:53:00"}, // Wann die Datei generiert wurde. - erscheint oben als Uhrzeit
    "nodes": {                                     // Liste aller Nodes
        "[nodeid]": {                              // Eindeutig um den Knoten identifizieren zu können.
            "name"   :"[NAME]",                    // Name des Nodes
            "geo"    : [50.9956, 7.02981],         // Geokoordinaten (lat, long)
            "clients": 3,                          // Anzahl Clients an diesem Node
            "gateway": true | false,               // Handelt es sich bei diesem Node um ein Gateway?
            "links"  : {                           // Liste aller Links
                "[nodeid]": {                      // Nodeid des link-Ziels
                    "type"   : null | vpn,         // links zu nodes: null, links zu vpns: vpn
                    "quality": 1.000
                }, ...
            }
        }, ...
    }
}

Links