लगभग अपेक्षित स्थानों से जीपीएस एक बिंदु के लिए निर्देशांक करता है


9

मैं अपने ध्यान के बिंदु (बिंदु X, नीला चिह्नित) के निर्देशांक खोजने की कोशिश कर रहा हूं। मैंने अपनी गाड़ी के जीपीएस डिवाइस का उपयोग निर्देशांक को इकट्ठा करने के लिए किया था, जहां मैंने अपने वाहन को हर बार जब मैंने बिंदु x का दौरा किया था। इसलिए 16 दिनों के लिए इस अभ्यास का पालन करने के बाद, मैंने निर्देशांक के 16 सेट प्राप्त करने में कामयाबी हासिल की, मेरे ध्यान के बारे में दौर फैलाया।

मानचित्र पर इन निर्देशांकों की साजिश रचने के बाद, मैंने निम्नलिखित को देखा: दस बार में से दो बार या तीन बार, मेरे जीपीएस डिवाइस ने निर्देशांक का एक गलत सेट दिया, जो बिंदु X से दूर शांत हो गया। यातायात के कारण भी, कभी-कभार। बिंदु x के करीब पार्क करने में असमर्थ और इसलिए इस मामले में भी, प्राप्त निर्देशांक बिंदु X से दूर हैं।

समस्या: प्राप्त किए गए निर्देशांक के 16 सेट से, मैं किस प्रक्रिया का उपयोग समन्वय के एक सेट को संकीर्ण करने के लिए करता हूं जो मेरे ध्यान के बिंदु (बिंदु X) के करीब है?

छवि उपरोक्त समस्या वर्णन का समर्थन करती है


क्या आपको अपने GPS उपकरण द्वारा प्रदान की गई PDOP की जानकारी है? यह आपको अविश्वसनीय बिंदुओं को पहचानने में मदद कर सकता है।
राडोक्सजू

मैं इसे उत्तर में रखूंगा, लेकिन मुझे यकीन नहीं है कि अगर यह ठीक है कि आप क्या करने की कोशिश कर रहे हैं, लेकिन आउटलेर्स को टॉस करना और कम से कम वर्गों के समायोजन का उपयोग करना, मेरा मानना ​​है कि आपकी समस्या को हल कर सकता है। utdallas.edu/~aiken/GPSCLASS/ch11.pdf
ed.hank

जवाबों:


13

इस दिलचस्प समस्या से निपटने का एक तरीका यह है कि इसे एक द्विभाजन बिंदु वितरण के केंद्र का एक मजबूत अनुमानक के रूप में देखा जाए। ए (अच्छी तरह से ज्ञात) समाधान उत्तल खुरों को छीलने के लिए है जब तक कि कुछ भी नहीं बचा है । अंतिम गैर-रिक्त पतवार का केंद्र केंद्र का पता लगाता है।

(यह बैगप्लॉट से संबंधित है । अधिक जानकारी के लिए, वेब को "उत्तल पतवार छीलने वाले मल्टीवेट आउटलाइयर के लिए खोजें"।)

आकृति

16 सचित्र बिंदुओं के लिए परिणाम को इस नक्शे में केंद्रीय त्रिकोण के रूप में दिखाया गया है। आसपास के तीन बहुभुज क्रमिक उत्तल पतवार दिखाते हैं। पहले दो चरणों में पाँच आउटिंग पॉइंट (कुल का 30%!) हटा दिए गए थे।


में उदाहरण की गणना की गई थी R। एल्गोरिथ्म को मध्य ब्लॉक में लागू किया जाता है, "उत्तल छीलने।" यह बिल्ट-इन chullरूटीन का उपयोग करता है, जो पतवार के बिंदुओं की अनुक्रमणिका लौटाता है। इन बिंदुओं को नकारात्मक अनुक्रमण अभिव्यक्ति के माध्यम से हटा दिया जाता है xy[-hull, ]। यह तब तक दोहराया जाता है जब तक कि अंतिम बिंदु हटा नहीं दिए जाएंगे। अंतिम चरण में, निर्देशांक के औसत से सेंट्रो की गणना की जाती है।

ध्यान दें कि कई मामलों में डेटा को प्रोजेक्ट करना भी आवश्यक नहीं है: उत्तल पतवार तब तक नहीं बदलेगी जब तक कि मूल विशेषताएं एंटीमैरिडियन (+/- 180 डिग्री देशांतर) पर नहीं होती हैं, या तो पोल, या इतने व्यापक होते हैं कि उनके बीच खंडों की वक्रता हो जाएगी कुछ अलग करो। (तब भी वक्रता थोड़ी चिंता का विषय होगी, क्योंकि छीलने अभी भी एक केंद्रीय बिंदु में परिवर्तित हो जाएगा।)

#
# Project the data.
#
dy <- c(8,7,5,10,7,17,19,19,21,22,22,22,24,24,26,26)
dx <- c(66,67,66,89,89,79,78,76,75,81,78,77,75,80,77,83)
lat <- (28.702 + dy/1e5) / 180 * pi
lon <- (77.103 + dx/1e5) / 180 * pi
y <- dy
x <- cos(mean(lat)) * dx
#
# Convex peeling.
#
xy <- cbind(x, y)
while(TRUE) {
  hull <- chull(xy)
  if (length(hull) < nrow(xy)) {
    xy <- xy[-hull, ]
  } else {
    xy.0 <- matrix(apply(xy, 2, mean), 1, 2)
    break
  }
}
#
# Plot the data `xy` and the solution `xy.0`.
#
plot(range(x), range(y), type="n", asp=1)
points(x, y, pch=21, bg="#a01010")
points(xy.0, pch=24, cex=1.2, bg="#404080")

अच्छा लगा। एक विचार: क्या पतवारों की गणना करने से पहले किसी भी संभावित खराब डेटा को छोड़ना उचित होगा - यह पूरी तरह से इस बात पर आधारित है कि इसे कैसे इकट्ठा किया गया था (पास से पार्क करने में असमर्थता) लेकिन डेटा के निरीक्षण के आधार पर नहीं?
सिंबांगु

@ सिंबा यह एक उचित दृष्टिकोण है।
whuber

यदि हमारे पास इस तरह की कई साइटें हैं, तो प्रत्येक अलग-अलग संख्या में टिप्पणियों के साथ (जैसे कि यह एक था 16), एक एक्सेल फाइल में, हम उसके लिए कोड को कैसे संशोधित करेंगे।
user3587184

@ user3587184 आदर्श रूप से, आप एक्सेल में काम नहीं करेंगे। यदि आपको चाहिए, तो टिप्पणियों के समूहों पर लूप के लिए एक मैक्रो लिखें।
whuber
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.