Imagine que você tem um rastreamento GPS que deseja tornar anônimo, no sentido legal. Como você faria isso? Está encaixando na distância x mais próxima e diminuindo o tempo suficiente? Existem padrões acordados internacionalmente sobre isso? Alguém já escreveu um algoritmo para fazer isso? Caso contrário, planejo fazer uma função no meu pacote stplanr em evolução para fazer isso.
Exemplo reproduzível (usando a incrível função de rotação de @geospacedman) dos meus próprios dados ' Identificáveis ':
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()
O resultado é mostrado acima. Em resumo: a rota vermelha é 'identificável' e existe uma maneira melhor?
Respostas:
Estou trabalhando com nosso grupo de ciclismo local para anonimizar arquivos GPX com dois critérios (principalmente por segurança). Nunca encontrei uma maneira padrão de anonimizar dados, mas isso satisfaz duas preocupações de nossos membros, preservando a precisão ao longo das estradas e agilizando as informações:
O GPSBabel pode fazer ambos na linha de comando - por exemplo, para alterar os tempos em um arquivo GPX em +123450 segundos e remover todos os pontos de trilha a 0,5 km de um ponto de referência no norte da Tanzânia:
-t
: processa apenas faixas;-i
,-f
: tipo de arquivo de entrada (gpx) e nome do arquivo;-x
: dois argumentos de filtro seqüenciais (-x) para mudança de horário (movimentação) e remoção (raio, exclusão) em torno de um ponto;-o
,-F
: tipo de arquivo de saída e nome do arquivo.Esse comando une vários filtros - primeiro, transformando os pontos de controle em pontos de controle , depois filtrando e depois voltando aos pontos de controle.
Observe que reduzir as casas decimais ao redor da área de referência / privacidade é MUITO importante, pois obscurece o centro exato da área de privacidade. 3 casas decimais = ~ 110m de precisão neste caso.
Eu costumo ligar para GPSBabel da R, escrevendo um novo arquivo GPX com os filtros aplicados, incluindo um desvio de tempo aleatório +/- 2 semanas. Isso seria melhor como um script bash ou python, mas muitos dos outros trabalhos que faço são em R e sou preguiçoso ...
fonte
faça um ajuste nas coordenadas X e Y de cada ponto por uma distância aleatória entre um determinado deslocamento mínimo e máximo. Também faça a direção do deslocamento (mais ou menos) uma seleção aleatória. Inclua na randomização que alguns pontos podem não ter ajuste para uma ou ambas as partes de um par de coordenadas.
fonte
Você está sem sorte, isso é tremendamente difícil de fazer! Se você é sério, deve ler sobre privacidade diferencial, porque provavelmente é isso que você procura.
Ao pensar nesse problema, considere o caso de uma pessoa reclusa que vive no final de uma longa estrada isolada. Você realmente acha que pode fazer algo sobre a coordenada GPS deles e não revelar nada sobre essa pessoa em particular. A informação secundária aqui é que é fácil descobrir que apenas uma pessoa mora lá.
Despir o ID do usuário, o tempo e adicionar ruído aos pontos de dados é um bom ponto de partida. Mas o problema é que todos os pontos de dados estão fortemente correlacionados; portanto, se você adicionar ruído aleatório a cada ponto, o ruído será cancelado e alguém poderá derivar as trajetórias prováveis. Portanto, o ruído teria que ser resistente a esse ataque, por exemplo, tornando-o constante ao longo de uma trajetória. Mas então, as trajetórias provavelmente podem ser facilmente combinadas com rotas prováveis baseadas em estradas, etc.
Não tenho certeza se os dados com os quais você terminará ainda serão viáveis para o que você quiser fazer com eles, mas pelo menos é um campo apaixonante.
PS: Eu não conheço legalmente aceitável, espero que seja um alvo em movimento e específico de país, enquanto a definição matemática de privacidade diferencial é a mais robusta possível.
fonte