วิธีการระบุชื่อไฟล์ gps?


11

ลองนึกภาพคุณมีการติดตาม GPS ที่คุณต้องการระบุตัวตนในแง่กฎหมาย คุณจะทำอย่างไร การจัดระยะห่างที่ใกล้ที่สุดและทำให้เวลาเพียงพอหรือไม่ มีมาตรฐานที่ตกลงกันในระดับสากลในเรื่องนี้หรือไม่? มีใครเขียนอัลกอริทึมเพื่อทำสิ่งนี้อยู่แล้ว? ถ้าไม่ใช่ฉันวางแผนที่จะทำฟังก์ชั่นในแพ็คเกจ stplanr ที่กำลังพัฒนาของฉันเพื่อทำสิ่งนี้

ตัวอย่างที่ทำซ้ำได้ (ใช้ฟังก์ชั่นการหมุนที่ยอดเยี่ยมจาก @geospacedman) จากข้อมูล 'ตัวตนของฉัน':

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()

สีแดงเส้นทาง

ผลลัพธ์แสดงไว้ด้านบน โดยสรุป: เป็นเส้นทางสีแดง 'ระบุตัวตน' และมีวิธีที่ดีกว่าไหม


5
ฉันคิดว่าคุณอาจต้องการคำจำกัดความและขอบเขตที่ดีสำหรับสิ่งที่ "ไม่ระบุตัวตน" ที่นี่ สิ่งนี้จะขึ้นอยู่กับบริบทของข้อมูลอย่างมหาศาลเช่นหากอยู่ในเมืองใครก็ตามที่สามารถติดตามได้แม้จะเป็นเส้นทางที่แม่นยำมากในพื้นที่ห่างไกล / จำกัด มันจะให้ข้อมูลมากกว่านี้หากเริ่ม / สิ้นสุดที่หรือผ่านไป ตำแหน่งที่ให้ข้อมูลโดยเฉพาะ (เช่นบ้านของใครบางคน) และข้อมูลใดที่ต้องเก็บรักษาไว้? เดินทางไกลไหม เวลาที่สัมพันธ์กันหรือความเร็ว? เส้นทางสำหรับการทำแผนที่เส้นทาง? สิ่งเหล่านี้จะกำหนดว่าคุณสามารถลบข้อมูล (บางส่วน) หรือเพิ่มเสียงคงที่ / สุ่มได้หรือไม่
drfrogsplat

คุณวางแผนที่จะใช้สำหรับเรื่องใดด้วยเช่นกันคุณสามารถกำหนดจุดเริ่มต้นเป็น 0,0 สำหรับทุกเส้นทางของคุณ
Ian Turton

คำถามที่น่าสนใจและกำลังจัดการกับปัญหาที่คล้ายกันบางอย่างกับข้อมูลการขี่จักรยานที่ใช้ร่วมกัน คุณจินตนาการ 'ไม่เปิดเผยชื่อ' ไฟล์GPXและเก็บไว้ในรูปแบบ GPX หรือไม่? คุณสามารถบันทึกเป็นบรรทัด (ทิ้งข้อมูล trackpoint) ได้ไหม? คุณต้องการปิดบังอะไรจริงๆ
Simbamangu

การพูดคุยกับเพื่อนร่วมงานได้นำไปสู่ความคิดของเพียงแค่สับครั้งแรกและครั้ง x เมตรระยะไกลซึ่งถือว่า 'k ที่ไม่ระบุชื่อ' en.wikipedia.org/wiki/K-anonymity ในคำตอบของ @drfrogsplat ฉันหมายถึงการไม่เปิดเผยตัวตนของ ICO ซึ่งคลุมเครือ: "ไม่มีกฎง่ายๆสำหรับการจัดการข้อมูลเชิงพื้นที่ - เช่นรหัสไปรษณีย์ข้อมูล GPS หรือการอ้างอิงแผนที่ - ภายใต้ Data Protection Act 1998 (DPA) สถานการณ์นี้จะเป็นข้อมูลส่วนบุคคล "(แต่ไหน?): ico.org.uk/media/1061/anonymisation-code.pdf
RobinLovelace

1
K ไม่ระบุชื่อคืออะไรสำหรับลำดับของคะแนน GPS? คุณหมายถึงอะไรโดย 'ตัด' มิเตอร์แรก / สุดท้าย - คุณหมายถึงการตัดแต่งชุดของคะแนน (สั้นกว่า) หรือลดความแม่นยำของ trackpoint
Simbamangu

คำตอบ:


5

ฉันทำงานกับกลุ่มการขี่จักรยานในพื้นที่ของเราเพื่อไม่เปิดเผยชื่อไฟล์ GPX ในสองเกณฑ์ (โดยหลัก ๆ เพื่อความปลอดภัย) ฉันไม่เคยเจอวิธีการเปิดเผยข้อมูลแบบมาตรฐาน แต่สิ่งนี้ตอบสนองความกังวลสองประการของสมาชิกของเราในขณะที่รักษาความถูกต้องตามถนนและข้อมูลความเร็ว:

  • สถานที่ส่วนบุคคลการลบพื้นที่ "ส่วนตัว" สำหรับบุคคล
  • การปิดบังเวลาประทับดังนั้นข้อมูลการเดินทางไม่สามารถใช้ระบุการเคลื่อนไหวของแต่ละบุคคลได้

GPSBabel สามารถทำทั้งสองอย่างนี้จากบรรทัดคำสั่ง - ตัวอย่างเช่นเมื่อต้องการเลื่อนเวลาในไฟล์ GPX ภายใน +123450 วินาทีและลบ trackpoint ทั้งหมดออกไป 0.5 กม. จากจุดสังเกตในภาคเหนือของแทนซาเนีย:

gpsbabel -t -i gpx -f infile.gpx \
  -x transform,wpt=trk,del -x track,move=123450s \
  -x radius,distance=0.5K,lat=-3.368,lon=36.624,nosort,exclude \
  -x transform,trk=wpt,del \
  -o gpx -F infile_rand.gpx
  • -t: ติดตามกระบวนการเท่านั้น
  • -i, -f: ประเภทไฟล์อินพุต (gpx) และชื่อไฟล์;
  • -x: อาร์กิวเมนต์ตัวกรองเรียงตามลำดับ (-x) สองตัวสำหรับการเปลี่ยนเวลา (ย้าย) และการลบ (รัศมีแยกออก) รอบจุด;
  • -o, -F: ประเภทไฟล์ที่ส่งออกและชื่อไฟล์

คำสั่งนี้เชื่อมโยงตัวกรองหลายตัวเข้าด้วยกัน - ก่อนจะเปลี่ยน trackpoints เป็น waypoints จากนั้นทำการกรองจากนั้นเปลี่ยนกลับเป็น trackpoint

โปรดทราบว่าการลดตำแหน่งทศนิยมรอบ ๆ สถานที่สำคัญ / ความเป็นส่วนตัวนั้นสำคัญมากเนื่องจากจะปิดบังศูนย์กลางที่แน่นอนของพื้นที่ความเป็นส่วนตัว ทศนิยม 3 ตำแหน่ง = ความแม่นยำ 110 มม.ในกรณีนี้

ฉันมักจะเรียก GPSBabel จาก R เขียนไฟล์ GPX ใหม่โดยใช้ตัวกรองรวมถึงการเปลี่ยนเวลาแบบสุ่ม +/- 2 สัปดาห์ นี่จะดีกว่าเป็นสคริปต์ทุบตีหรืองูหลาม แต่งานอื่นอีกมากที่ฉันทำคือใน R และฉันขี้เกียจ ...

# Get the correct location for GPSBabel:
GB <- Sys.which("gpsbabel")

# Set up the filters
shift <- round((runif(1, 0, 2600000) - 1300000), 0) # +/- 2 weeks in secs
filter <- " -x transform,wpt=trk,del"
filter <- paste(" -x track,move=", shift, "s", sep = "")
filter <- paste(filter, " -x radius,distance=", dist, "K,", "lat=", lat, ",long=", lon, sep = "")
filter <- paste(filter, " -x transform,wpt=trk,del", sep="")

# Pass the complete command to the system
system(paste(GB, " -t -i gpx -f ", gpx_file, filter, " -o gpx -F ", 
           gsub(".gpx", replacement = "_rand.gpx", x = gpx_file, fixed = T),
           sep = ""), intern = TRUE)

1

คุณไม่มีโชคนี่เป็นเรื่องยากที่จะทำ! หากคุณจริงจังกับเรื่องนี้คุณควรอ่านเกี่ยวกับความเป็นส่วนตัวที่แตกต่างกันเพราะนี่คือสิ่งที่คุณเป็น

เมื่อคุณนึกถึงปัญหานี้คุณควรพิจารณากรณีของผู้ใช้ชีวิตสันโดษที่อยู่สุดถนนที่ห่างไกล คุณคิดว่าคุณสามารถทำอะไรบางอย่างเกี่ยวกับพิกัด GPS ของพวกเขาและไม่เปิดเผยอะไรเกี่ยวกับบุคคลนั้น ข้อมูลด้านข้างที่นี่คือมันสามารถค้นพบได้ง่ายว่ามีเพียงคนเดียวเท่านั้น

การลอกรหัสผู้ใช้เวลาและการเพิ่มจุดรบกวนให้กับจุดข้อมูลเป็นจุดเริ่มต้นที่ดี แต่ปัญหาคือดาต้าพอยน์ทั้งหมดมีความสัมพันธ์กันอย่างหนักดังนั้นหากคุณเพิ่มสัญญาณรบกวนแบบสุ่มในแต่ละจุดเสียงจะถูกยกเลิกและบางคนจะได้รับวิถีที่น่าจะเป็น ดังนั้นเสียงจะต้องมีความต้านทานต่อการโจมตีเช่นโดยทำให้คงที่ตลอดเส้นทาง แต่จากนั้นเส้นทางอาจจะถูกจับคู่ได้อย่างง่ายดายกับเส้นทางที่น่าจะเป็นไปตามถนน ฯลฯ

ฉันไม่แน่ใจว่าข้อมูลที่คุณจะได้รับจะยังคงสามารถใช้งานได้กับทุกสิ่งที่คุณต้องการทำ แต่อย่างน้อยมันก็เป็นฟิลด์ที่น่าหลงใหล

PS: ฉันไม่รู้เกี่ยวกับการยอมรับทางกฎหมายฉันคาดหวังว่ามันจะเป็นเป้าหมายที่เคลื่อนไหวและเจาะจงประเทศในขณะที่คำจำกัดความทางคณิตศาสตร์ของความเป็นส่วนตัวที่แตกต่างนั้นแข็งแกร่งที่สุดที่คุณจะได้รับ


0

ทำการปรับพิกัด X และ Y ของแต่ละจุดด้วยระยะทางแบบสุ่มระหว่างออฟเซ็ตต่ำสุดและสูงสุด ยังทำให้ทิศทางของการชดเชย (บวกหรือลบ) การเลือกแบบสุ่ม รวมอยู่ในการสุ่มว่าบางจุดอาจไม่มีการปรับหนึ่งหรือทั้งสองส่วนของคู่พิกัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.