আমি দুটি স্থানীয় মানদণ্ডে (প্রাথমিকভাবে সুরক্ষার জন্য) জিপিএক্স ফাইলগুলি বেনামে রাখতে আমাদের স্থানীয় সাইক্লিং গ্রুপের সাথে কাজ করছি। আমি তথ্য বেনাম দেওয়ার কোনও স্ট্যান্ডার্ড পদ্ধতিতে কখনই আসিনি তবে এটি আমাদের সদস্যদের দুটি উদ্বেগকে মেটায়, রাস্তা এবং গতির তথ্যের সাথে যথাযথতা সংরক্ষণ করে:
- ব্যক্তিগত অবস্থান, ব্যক্তিদের জন্য 'ব্যক্তিগত' অঞ্চলগুলি সরানো;
- টাইমস্ট্যাম্পগুলিকে অস্পষ্ট করা যাতে ভ্রমণের ডেটা পৃথক চলাচল সনাক্ত করতে ব্যবহার করা যায় না।
জিপিএসবেল কমান্ড লাইন থেকে এগুলি উভয়ই করতে পারে - উদাহরণস্বরূপ, জিপিএক্স ফাইলের সময়গুলিকে +123450 সেকেন্ডে স্থানান্তর করতে এবং উত্তরের তানজানিয়ার একটি ল্যান্ডমার্ক থেকে 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
: ইনপুট ফাইলের ধরণ (জিপিএক্স) এবং ফাইলের নাম;
-x
: একটি বিন্দুর চারপাশে টাইমশিফ্ট (সরানো) এবং অপসারণ (ব্যাসার্ধ, বাদ) জন্য দুটি ক্রমিক (-x) ফিল্টার আর্গুমেন্ট;
-o
, -F
: আউটপুট ফাইলের ধরণ এবং ফাইলের নাম।
এই কমান্ডটি কয়েকটি ফিল্টারকে এক সাথে শৃঙ্খলাবদ্ধ করে - প্রথমে ট্র্যাকপয়েন্টগুলিকে ওয়েপপয়েন্টগুলিতে রূপান্তর করে, তারপরে ফিল্টারিং, তারপরে ট্র্যাকপয়েন্টগুলিতে ফিরে রূপান্তরিত করে।
নোট করুন যে ল্যান্ডমার্ক / গোপনীয়তা অঞ্চলের আশেপাশের দশমিক স্থান হ্রাস করা অত্যন্ত গুরুত্বপূর্ণ কারণ এটি গোপনীয়তার ক্ষেত্রের সঠিক কেন্দ্রটিকে অস্পষ্ট করে। 3 দশমিক স্থান = এই ক্ষেত্রে 110 মিটার নির্ভুলতা ।
আমি সাধারণত আর থেকে জিপিএসবেল কল করি, একটি এলোমেলো টাইমশিফ্ট +/- 2 সপ্তাহ সহ ফিল্টার সহ একটি নতুন জিপিএক্স ফাইল লিখি। এটি বাশ বা পাইথন স্ক্রিপ্ট হিসাবে ভাল হবে তবে আমি অন্যান্য অনেক কাজ আর এ করি এবং আমি অলস ...
# 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)