Un método simple para mover ubicaciones dentro de tales anillos explota una representación cuadriculada de la distancia al límite del tracto. Comenzando con una representación poligonal de las secciones del Censo (que es lo habitual),
Convierta eso en los límites del polígono (una capa de polilínea).
Calcule la cuadrícula de distancia euclidiana a los límites.
Extraiga las distancias euclidianas en los lugares dados.
Mueva cada ubicación dentro del rango dado por la distancia, que, por definición, es el máximo al límite.
Normalmente, cada uno requiere un solo comando con un SIG, lo que hace que toda la secuencia se automatice fácilmente y se ejecute fácilmente de forma manual. Estos son comandos eficientes , ya que no requieren la construcción de un búfer para cada punto (que generalmente crea varias docenas a casi mil puntos para describir un anillo o anillo ). Tampoco se necesitan búsquedas o ensayos aleatorios: los puntos se desplazan directamente por cantidades garantizadas para dejarlos dentro de sus secciones censales originales.
Por ejemplo, moví 172,902 ubicaciones dentro de 47 tractos en direcciones aleatorias mediante desplazamientos distribuidos uniformemente entre la mitad de la distancia y la distancia total hasta el límite. Aquí hay una parte de un tratado antes del traslado:
(cuadrados amarillos marcan las ubicaciones) y después del movimiento:
(ahora los cuadrados grises marcan las nuevas ubicaciones). La operación total tomó solo uno o dos minutos (usando un viejo SIG obsoleto :-).
Al comparar estas cifras de cerca, puede ver que
Los puntos que ahora están cerca del límite (como cerca de los dos lagos que se muestran como "agujeros" blancos en estas figuras) permanecen necesariamente cerca del límite.
Los puntos alejados del límite tienden a moverse lejos.
En consecuencia, un punto cercano al límite probablemente (pero no ciertamente) se originó muy cerca, mientras que cualquier punto alejado del límite probablemente se originó en otro lugar lejos del límite. Estas dos tendencias están lejos de ser completamente aleatorias: podrían (con bastante facilidad) ser explotadas por alguien que desea penetrar en la privacidad que estos movimientos estaban destinados a permitir.
Mejores métodos harían que las conexiones entre la ubicación final y la inicial fueran más tenues y más aleatorias. Como mínimo, los puntos deben moverse dentro de vecindarios razonablemente grandes en lugar de dentro de vecindarios de tamaño variable (y posiblemente arbitrariamente pequeño). Dichos movimientos no se llevan a cabo fácilmente con cuadrículas, porque generalmente requieren un poco de prueba y error: genera un grupo de puntos aleatorios dentro de un vecindario de cada punto original y selecciona el primero que se encuentra dentro del mismo tramo del Censo. Es un ciclo que involucra (1) un movimiento aleatorio y (2) una investigación de punto en el polígono. Ambas operaciones son rápidas, pero esto requiere un poco de programación para implementar el bucle.
(En un comentario a la pregunta, proporciono enlaces a algunos estudios de métodos utilizados para disfrazar datos de ubicación con fines de privacidad).