Ffmap-d3: Unterschied zwischen den Versionen

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

Version vom 30. Mai 2013, 22:06 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: 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)
	}
]

Links