Ffmap-d3: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<span style="color:#F00">'''Work in progress'''</span>
[[Kategorie:Archiv]]
{{:Archiv-Hinweis}}




Zeile 10: Zeile 11:
</gallery>
</gallery>


== Input ==
== Original ffmap-d3 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:
  {
  {
   "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)
  }
  }
  ]
  ]


== Derzeitiges JSON-Format bei FF-KBU ==
{
    "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.
            "clients": 3,                          // Anzahl Clients an diesem Node
            "macs"  : "maca, macb"                // MACs des Nodes (wlan, mesh-vpn, etc)
            "name"  : "[NAME]",                    // Name des Nodes
            "links"  : {                          // Liste aller Links
                "[nodeid]": {                      // Nodeid des link-Ziels
                    "type"  : null | vpn,        // links zu nodes: null, links zu vpns: vpn
                    "quality": 1.000              // link-quali
                }, ...
            }
            "flags"  : {
                "client"  : true | false,                  // eig nutzlos
                "gateway" : true | false,                  // ist node im batman-adv - Gateway modus?
                "online"  : true | false                  // ist der Node online?
            }
            "geo"    : [50.9956, 7.02981],        // Geokoordinaten (lat, long)
        }, ...
    }
}
== Links ==
== Links ==
* [https://github.com/tcatm/ffmap-d3 tcatm/ffmap-d3 original]
* [https://github.com/tcatm/ffmap-d3 tcatm/ffmap-d3 original]

Aktuelle Version vom 28. August 2019, 11:18 Uhr

Hinweis: Diese Seite wurde in das Archiv verschoben. Die Informationen sind größtenteils veraltet und nur für Spezialfälle relevant.


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

Original ffmap-d3 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)
	}
]

Derzeitiges JSON-Format bei FF-KBU

{
    "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.
            "clients": 3,                          // Anzahl Clients an diesem Node
            "macs"   : "maca, macb"                // MACs des Nodes (wlan, mesh-vpn, etc)
            "name"   : "[NAME]",                    // Name des Nodes
            "links"  : {                           // Liste aller Links
                "[nodeid]": {                      // Nodeid des link-Ziels
                    "type"   : null | vpn,         // links zu nodes: null, links zu vpns: vpn
                    "quality": 1.000               // link-quali
                }, ...
            }
            "flags"  : {
                "client"  : true | false,                  // eig nutzlos
                "gateway" : true | false,                  // ist node im batman-adv - Gateway modus?
                "online"  : true | false                   // ist der Node online?
            }
            "geo"    : [50.9956, 7.02981],         // Geokoordinaten (lat, long)
        }, ...
    }
}

Links