Stellen Sie sich vor, Sie haben eine GPS-Spur, die Sie im rechtlichen Sinne anonymisieren möchten. Wie würdest du das machen? Schnappen Sie auf die nächste x-Distanz und entfernen Sie die Zeit genug? Gibt es hierfür international vereinbarte Standards? Hat jemand schon einen Algorithmus geschrieben, um dies zu tun? Wenn nicht, plane ich, eine Funktion in meinem sich entwickelnden stplanr-Paket zu erstellen , um dies zu tun.
Reproduzierbares Beispiel (unter Verwendung einer fantastischen Rotationsfunktion von @geospacedman) aus meinen eigenen ' identifizierbaren ' Daten:
library(rgdal)
library(tmap)
downloader::download("https://www.openstreetmap.org/trace/1619756/data", "test.gpx")
r <-readOGR(dsn = "test.gpx", layer = "tracks")
r <- spTransform(r, CRS("+init=epsg:27700"))
rproj <- rotateProj(rs, 90) # rotate projection for plotting
r <- spTransform(r, rproj)
rs <- rgeos::gSimplify(r, 1000) # snap to nearest km
qtm(r) + qtm(rs, line.col = "red") + tm_layout(draw.frame = F) + tm_scale_bar()
Das Ergebnis ist oben gezeigt. Zusammenfassend: Ist die rote Route „identifizierbar“ und gibt es einen besseren Weg?
Antworten:
Ich arbeite mit unserer lokalen Fahrradgruppe zusammen, um GPX-Dateien nach zwei Kriterien zu anonymisieren (hauptsächlich aus Sicherheitsgründen). Ich bin noch nie auf eine Standardmethode zur Anonymisierung von Daten gestoßen, aber dies befriedigt zwei Bedenken unserer Mitglieder, während die Genauigkeit auf Straßen und die Geschwindigkeitsinformationen erhalten bleiben:
GPSBabel kann beides über die Befehlszeile ausführen, um beispielsweise die Zeiten in einer GPX-Datei um +123450 Sekunden zu verschieben und alle Trackpoints zu entfernen, die 0,5 km von einem Wahrzeichen im Norden Tansanias entfernt sind:
-t
: nur Tracks verarbeiten;-i
,-f
: Eingabedateityp (gpx) und Dateiname;-x
: zwei aufeinanderfolgende (-x) Filterargumente für Timeshift (Verschieben) und Entfernen (Radius, Ausschließen) um einen Punkt;-o
,-F
: Ausgabedateityp und Dateiname.Dieser Befehl verkettet mehrere Filter - zuerst werden die Trackpoints in Wegpunkte umgewandelt, dann gefiltert und dann wieder in Trackpoints umgewandelt.
Beachten Sie, dass das Reduzieren der Dezimalstellen um den Orientierungspunkt / Datenschutzbereich SEHR wichtig ist, da dadurch die genaue Mitte des Datenschutzbereichs verdeckt wird. 3 Dezimalstellen = ~ 110 m Genauigkeit in diesem Fall.
Normalerweise rufe ich GPSBabel von R aus an und schreibe eine neue GPX-Datei mit angewendeten Filtern, einschließlich einer zufälligen Zeitverschiebung von +/- 2 Wochen. Dies wäre besser als Bash- oder Python-Skript, aber viele andere Arbeiten, die ich mache, sind in R und ich bin faul ...
quelle
Nehmen Sie eine Anpassung der X- und Y-Koordinate jedes Punkts um einen zufälligen Abstand zwischen einem bestimmten minimalen und maximalen Versatz vor. Machen Sie auch die Richtung des Versatzes (Plus oder Minus) zu einer zufälligen Auswahl. Berücksichtigen Sie bei der Randomisierung, dass einige Punkte möglicherweise nicht an einen oder beide Teile eines Koordinatenpaars angepasst werden können.
quelle
Sie haben kein Glück, das ist enorm schwer zu tun! Wenn Sie es ernst meinen, sollten Sie über differenzierte Privatsphäre lesen, da dies wahrscheinlich das ist, wonach Sie suchen.
Wenn Sie an dieses Problem denken, sollten Sie den Fall einer Einsiedlerin in Betracht ziehen, die am Ende einer langen, isolierten Straße lebt. Glaubst du wirklich, du kannst etwas an ihrer GPS-Koordinate ändern und nichts über diese bestimmte Person preisgeben? Die Nebeninformation hier ist, dass es leicht entdeckt werden kann, dass nur eine Person dort lebt.
Das Entfernen der Benutzer-ID, der Zeit und das Hinzufügen von Rauschen zu den Datenpunkten ist ein guter Anfang. Das Problem ist jedoch, dass alle Datenpunkte stark korreliert sind. Wenn Sie also jedem Punkt zufälliges Rauschen hinzufügen, wird das Rauschen aufgehoben und jemand kann die wahrscheinlichen Trajektorien ableiten. Das Rauschen müsste also gegen diesen Angriff resistent sein, indem es beispielsweise über eine Flugbahn konstant gemacht wird. Aber dann können Flugbahnen wahrscheinlich leicht mit wahrscheinlichen Routen auf der Grundlage von Straßen usw. abgeglichen werden.
Ich bin mir nicht sicher, ob die Daten, mit denen Sie am Ende enden werden, für alles, was Sie damit machen möchten, noch funktionsfähig sind, aber zumindest ist es ein leidenschaftliches Feld.
PS: Ich weiß nicht, ob dies rechtlich akzeptabel ist. Ich würde erwarten, dass es sich um ein sich bewegendes Ziel und ein länderspezifisches Ziel handelt, während die mathematische Definition der differenzierten Privatsphäre die robusteste ist, die Sie erhalten können.
quelle