Hi,
Also wenn ich es nun richtig verstehe kommen die ganzen falschen Positionen daher, dass alle unsere Freifunk Router die gleiche BSSID haben. Diese aber in der Datenbank ein PK ist und daher nur einmal vorkommt. Das würde wahrscheinlich auch erklären, warum die ganzen "falsch" positionierten Knoten alle Koordinaten bekommen die auch bereich Nordwest liegen.
Ich habe mir nun nicht alles angeschaut daher mal ein vorsichtiger Schuss ins Blaue:
Wenn der Router eine Positionsanfrage stellt könnte er doch seine eigene BSSID mit senden (vielleicht macht er das auch) die mitgesendete BSSID ist bei allen Freifunk Routern in Nordwest gleich. Bzw zukünftig hat zwar jede Hood eine eigene, kommt aber auf das gleiche hinaus. Die eigene BSSID müsste dann bei der Datenbankabfrage am besten ignoriert werden das könnte uns doch helfen oder?
Das stimmt. die Router senden alle empfangenden BSSIDs bei einem WLAN scan (also auch die eigene) an das backend würde man jetzt die Freifunk Router rausfiltern so sollte das wieder genau sein. Nun ist die Frage ob die einfach nur die Freifunk bssids Rausfiltern wollen oder ob wir einen besseren Komplexeren Algorithmus bauen wo dann auch noch das gesamte Projekt von Profitiert?
Imgrunde unterteielt sich das Projekt in 3. Teil Projekte
Die Position abfrage läuft rein über die Libwlocate
Dann gibt es noch eine Android App die, die WLANs sieht und an Hand der eigenen GPS position mit koordinaten versieht (hier bin ich noch nicht ganz sicher Es könnte auch sein das die App die empfangenden Daten + handy position als metrik an das backend schickt und erst im Backend wird die Position der WLANs ermittelt. Sieht aber nicht danach aus)
Und Es gibt noch das Backend was wie es scheint auch einem PHP Script besteht und daten nach bestimmten Kriterien Filtert und in eine MySQL DB schreibt. <-- Hier findet vermutlich auch die Filterung von Redundanten BSSIDs Statt.
Es könnte natürlich auch eine bessere Losung sein wenn man Redundante BSSIDs einfach in der DB mit einen Ignoriere Flag versieht. Denn eine Intention könnte ja sein das nach dem Motto gegangen wird: Eine BSSID eine Position...
Ich bin mir nicht sicher was genau jetzt die bessere Variante ist. Das müsste man denke ich einfach mal ausprobieren da Vor- und Nach-teile schlecht abzuschätzen sind.
vg Tarek