Bayangkan Anda memiliki jejak GPS yang ingin Anda jadikan anonim, dalam arti hukum. Bagaimana Anda melakukan ini? Apakah memotret dengan jarak x terdekat dan mencabut waktu cukup? Apakah ada standar yang disepakati secara internasional tentang ini? Adakah yang sudah menulis algoritma untuk melakukan ini? Jika tidak, saya berencana untuk membuat fungsi dalam paket stplanr saya yang sedang berkembang untuk melakukan ini.
Contoh yang dapat direproduksi (menggunakan fungsi rotasi yang luar biasa dari @geospacedman) dari data ' Identifiable ' saya sendiri :
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()
Hasilnya ditunjukkan di atas. Singkatnya: apakah rute merah 'dapat diidentifikasi' dan apakah ada cara yang lebih baik?
Jawaban:
Saya bekerja dengan grup bersepeda lokal kami untuk menganonimkan file GPX pada dua kriteria (terutama untuk keamanan). Saya tidak pernah menemukan cara standar untuk menganonimkan data tetapi ini memuaskan dua kekhawatiran anggota kami, sambil menjaga akurasi di sepanjang jalan dan mempercepat informasi:
GPSBabel dapat melakukan keduanya dari baris perintah - misalnya, untuk menggeser waktu dalam file GPX dengan +123450 detik, dan menghapus semua trackpoint berjarak 0,5 km dari tengara di Tanzania utara:
-t
: hanya memproses trek;-i
,-f
: input tipe file (gpx) dan nama file;-x
: dua argumen filter berurutan (-x) untuk pergeseran timeshift (bergerak) dan penghapusan (radius, kecualikan) di sekitar titik;-o
,-F
: jenis file keluaran dan nama file.Perintah ini menyatukan beberapa filter - pertama mentransformasikan trackpoint menjadi waypoint, lalu memfilter, lalu mentransformasikan kembali ke trackpoint.
Perhatikan bahwa mengurangi tempat desimal di sekitar landmark / area privasi SANGAT penting karena mengaburkan pusat tepat area privasi. 3 tempat desimal = ~ 110m akurasi dalam hal ini.
Saya biasanya memanggil GPSBabel dari R, menulis file GPX baru dengan filter yang diterapkan, termasuk + timeshift acak +/- 2 minggu. Ini akan lebih baik sebagai skrip bash atau python tetapi banyak pekerjaan lain yang saya lakukan adalah di R dan saya malas ...
sumber
Anda kurang beruntung, ini sangat sulit dilakukan! Jika Anda serius tentang hal itu, Anda harus membaca tentang privasi diferensial karena ini mungkin yang Anda cari.
Ketika Anda memikirkan masalah ini, Anda harus mempertimbangkan kasus seorang pertapa yang tinggal di ujung jalan yang panjang dan terisolasi. Apakah Anda benar-benar berpikir Anda dapat melakukan sesuatu tentang koordinat GPS mereka dan tidak mengungkapkan apa pun tentang orang tersebut. Informasi sampingan di sini adalah bahwa dapat dengan mudah ditemukan bahwa hanya satu orang yang tinggal di sana.
Melucuti ID pengguna, waktu dan menambahkan noise ke titik data adalah tempat yang baik untuk memulai. Tetapi masalahnya adalah bahwa semua titik data sangat berkorelasi sehingga jika Anda menambahkan suara acak ke setiap titik, kebisingan akan dibatalkan dan seseorang akan dapat memperoleh kemungkinan lintasan. Jadi kebisingan harus tahan terhadap serangan ini, misalnya dengan membuatnya konstan di atas lintasan. Tapi kemudian, lintasan mungkin dapat dengan mudah dicocokkan dengan rute yang mungkin didasarkan pada jalan, dll.
Saya tidak yakin apakah data yang Anda peroleh akan tetap bisa digunakan untuk apa pun yang ingin Anda lakukan dengannya, tetapi setidaknya itu adalah bidang yang menggairahkan.
PS: Saya tidak tahu tentang yang dapat diterima secara hukum, saya berharap itu menjadi target yang bergerak dan spesifik negara sedangkan definisi matematika dari privasi diferensial adalah yang paling kuat yang bisa Anda dapatkan.
sumber
membuat penyesuaian pada koordinat X dan Y dari setiap titik dengan jarak acak antara offset minimum dan maksimum tertentu. juga membuat arah offset (plus atau minus) menjadi pilihan acak. Masukkan dalam pengacakan bahwa beberapa titik mungkin tidak memiliki penyesuaian untuk satu atau kedua bagian dari pasangan koordinat.
sumber