Όλα ξεκίνησαν σε ένα ταξίδι πεζοπορίας στο Žbevnica πριν από περισσότερα από 10 χρόνια. Είχα μαζί μου το νέο GPS και ένας φίλος μου είχε συνδέσει GPS σε τηλέφωνο με Windows ME. Η πεζοπορία ήταν υπέροχη, αλλά όταν επιστρέψαμε στα αυτοκίνητά μας, εκπλήξαμε να βλέπουμε ότι ένα GPS ισχυρίστηκε ότι είχαμε περπατήσει 6,2 χιλιόμετρα, ενώ το άλλο ανέφερε 6,7 χιλιόμετρα. Ο ένας ισχυρίστηκε ότι το κέρδος ανύψωσης (δηλαδή, το άθροισμα όλων των ανηφορικών τμημάτων της πεζοπορίας μας) ήταν 300 μέτρα, ενώ το άλλο το ανέφερε ως 500 μέτρα.
Όντας προγραμματιστής (και τελικά α Προγράμματα GIS ), Με ενδιέφερε αμέσως το πρόβλημα. Είπα στον εαυτό μου, «αυτό πρέπει δεν να είναι τόσο δύσκολο να διορθωθεί με ένα απλό σενάριο. ' Σε τελική ανάλυση, τα ίχνη GPS είναι απλώς μια λίστα με πλειάδες με τη μορφή (γεωγραφικό πλάτος, μήκος, υψόμετρο) , σωστά?
Βασικά, όχι ακριβώς.
Και έτσι ξεκίνησα την εκδρομή μου στον συναρπαστικό κόσμο των κομματιών GPS, των σφαλμάτων παρακολούθησης και, γενικότερα, του προγραμματισμού GIS.
Τα Γεωχωρικά Πληροφοριακά Συστήματα (GIS) είναι ένας τεράστιος και περίπλοκος τομέας, που περιλαμβάνει προβολές χαρτών και γεωδαιτικά δεδομένα), την επεξεργασία δεδομένων raste και vecto και την τηλεπισκόπηση. Μια ολοκληρωμένη εισαγωγή σε αυτόν τον τομέα θα ήταν πολύ πέρα από το πεδίο εφαρμογής αυτού του άρθρου. Και δεδομένου ότι η εστίαση σε ένα συγκεκριμένο πρόβλημα μπορεί συχνά να είναι ένας χρήσιμος τρόπος για να εισαγάγετε τον εαυτό σας σε έναν νέο τομέα ούτως ή άλλως, θα παρουσιάσω μερικές συγκεκριμένες προκλήσεις GIS που αντιμετώπισα και μερικές πιθανές λύσεις. και συγκεκριμένα:
Για αρχάριους, τα ίχνη GPS είναι δεν απλά μια σειρά από (γεωγραφικό πλάτος, μήκος, υψόμετρο) πλειάδες. Πολλές συσκευές με δυνατότητα GPS θα παρέχουν επίσης μεταδεδομένα όπως χρόνο, καρδιακό ρυθμό και ούτω καθεξής. Ορισμένες συσκευές GPS θα παρέχουν ακόμη πληροφορίες για το πόσο ακριβή είναι τα δεδομένα. άλλωστε, ' αραίωση ακρίβειας '. Δυστυχώς, όμως, οι περισσότερες συσκευές GPS - ειδικά αυτές που κυριαρχούν στην αγορά - δεν παρέχουν αυτές τις πληροφορίες και έχουμε την πρόκληση να συμπεράνουμε την ακρίβεια της συσκευής μόνη μας (και ιδανικά να διορθώνουμε ανάλογα, όπου είναι δυνατόν ).
τι είναι ένας περιορισμός σχεδιασμού
Ας ξεκινήσουμε με έναν πιθανό αλγόριθμο για την ανίχνευση συσκευών GPS χαμηλού επιπέδου (όπως τα περισσότερα smartphone) που έχουν συνήθως δεδομένα GPS χαμηλής ποιότητας.
Εάν ζείτε σε ορισμένα μέρη του κόσμου, μπορεί να έχετε παρατηρήσει κάτι περίεργο σχετικά με την ακρίβεια ανύψωσης GPS κατά την εγγραφή κομματιών με το smartphone σας. Όταν ελέγχετε τα υψόμετρα, καταγράφονται με συνέπεια ως υψηλότερα ή χαμηλότερα (με σταθερή τιμή) από το σωστό υψόμετρο. Για παράδειγμα, ζω στο Višnjan (Κροατία) και το Android μου συνεχίζει να μου λέει ότι είμαι περίπου 35-40 μέτρα πάνω από το πραγματικό υψόμετρο.
Για παράδειγμα, εδώ είναι ένα γράφημα ανύψωσης GPS από μια σύντομη αύξηση που πήρα πριν από μερικούς μήνες:
Δύο πράγματα που πρέπει να σημειώσετε εδώ.
Πρώτα, ο «λόφος» στο πρώτο μέρος των καταγεγραμμένων δεδομένων GPS κατασκευάστηκε πλήρως από τη συσκευή . Ενώ το γράφημα φαίνεται να δείχνει ότι το υψηλότερο σημείο της πεζοπορίας μας ήταν μόλις μερικές εκατοντάδες μέτρα από την αρχή, στην πραγματικότητα ήταν περίπου 4 χιλιόμετρα αργότερα.
Δεύτερον, τι είναι ίσως πιο σημαντικό (και δεν ορατό στο γράφημα) είναι αυτό ολόκληρο το γράφημα είναι ανακριβές . Οι τιμές υψομέτρου αναφέρθηκαν με συνέπεια ότι ήταν περίπου 30-40 μέτρα υψηλότερες από ό, τι στην πραγματικότητα, καθώς θα συζητήσουμε λεπτομερέστερα σε αυτό το άρθρο.
Όταν εντοπίσουμε ότι το κομμάτι έχει αυτά τα σφάλματα, μπορούμε να συμπεράνουμε ότι η συσκευή είναι πιθανώς GPS χαμηλής ποιότητας.Αυτά είναι τα πράγματα που μπορούν να συμβούν με φθηνές συσκευές GPS. Και όταν μπορούμε να εντοπίσουμε ότι το κομμάτι έχει αυτά τα σφάλματα, μπορούμε να συμπεράνουμε ότι η συσκευή είναι πιθανώς ένα GPS χαμηλής ποιότητας, το οποίο επομένως αναμένεται να έχει και άλλα σφάλματα - όχι μόνο σφάλματα ανύψωσης - που είναι κοινά σε τέτοιες συσκευές.
Υπάρχουν ουσιαστικά δύο τεχνικές που χρησιμοποιούν οι συσκευές GPS για τον προσδιορισμό της ανύψωσης: 'Υψόμετρο GPS' (όπως αναφέρεται στη συσκευή από το δορυφορικό σύστημα GPS) και 'βαρομετρικό υψόμετρο' (υπολογίζεται από τη συσκευή με βάση τις μετρήσεις βαρομετρικής πίεσης). Ούτε είναι τέλειο.
Οι τιμές υψομέτρου GPS μπορεί να έχουν πολλά μικρά σφάλματα (συνήθως στην περιοχή +/- 10m), τα οποία μπορεί να είναι ιδιαίτερα προβληματικά εάν αποφασίσουμε αργότερα να υπολογίσουμε το σωρευτικό κέρδος ανύψωσης. Το βαρομετρικό υψόμετρο, από την άλλη πλευρά, είναι ευαίσθητο όχι μόνο στο υψόμετρο, αλλά και στις καιρικές συνθήκες, οι οποίες μπορούν να εισαγάγουν το δικό τους σύνολο ανακρίβειας.
Ορισμένες συσκευές, επομένως, χρησιμοποιούν υβριδική προσέγγιση, χρησιμοποιώντας βαρομετρικές μετρήσεις για την καταγραφή ανύψωσης, αλλά χρησιμοποιώντας αναγνώσεις GPS για να βοηθήσουν (εκ νέου) τη βαθμονόμηση αυτών των τιμών, για να βοηθήσουν στον υπολογισμό των αλλαγών καιρού (πίεσης) και ούτω καθεξής. Με τέτοιες συσκευές, κατά την εκκίνηση του ίχνους, η βαρομετρική ανύψωση μπορεί να είναι εντελώς λανθασμένη, αλλά στη συνέχεια με την επαναβαθμονόμησή της με όλο και περισσότερα δορυφορικά δεδομένα GPS, τα δεδομένα ανύψωσης καθίστανται πιο αξιόπιστα. Ως εκ τούτου, δεν είναι ασυνήθιστο με τέτοιες συσκευές να συναντήσετε τον τύπο σφάλματος εκκίνησης «ψεύτικου λόφου» που παρατηρήσαμε νωρίτερα στο γράφημα ανύψωσης.
Για να εξηγήσουμε το συνεπές σφάλμα στην αναφορά υψομέτρου, πρέπει να επιστρέψουμε στη γεωγραφία του δημοτικού σχολείου. Οι καθηγητές γεωγραφίας συνήθως εξηγούν ότι η Γη δεν είναι μια σφαίρα αλλά μια ελλειψοειδές . Εάν αυτό, στην πραγματικότητα, ήταν απολύτως αληθινό, το υψόμετρο θα ήταν εύκολο να υπολογιστεί μαθηματικά. Όμως δεν είναι. Η Γη είναι ακανόνιστη. στην πραγματικότητα, μοιάζει περισσότερο με ένα πατάτα που μοιάζει με ελλειψοειδές από ένα τέλειο ελλειψοειδές, που σημαίνει για την ανάπτυξη GIS χρειάζεστε ένα λεπτομερές σύνολο δεδομένων υψομέτρου για σχεδόν κάθε σημείο της γης. Σε γεωδαισία , αυτό το ελλειψοειδές αναφοράς (γνωστό ως datum) είναι μια μαθηματικά καθορισμένη επιφάνεια που προσεγγίζει το γεωειδές , η «πιο αληθινή» μορφή της Γης.
Επιπλέον, είναι σημαντικό να αναγνωρίσετε ότι ακόμη και αυτά τα δεδομένα είναι απλά προσεγγίσεις του πραγματικού σχήματος της επιφάνειας της Γης. Μερικά λειτουργούν καλύτερα σε ορισμένα μέρη του κόσμου, και άλλα λειτουργούν καλύτερα σε άλλα. Για παράδειγμα, η παρακάτω εικόνα (δημιουργείται χρησιμοποιώντας η βιβλιοθήκη μου Ruby ) δείχνει πώς η Γη διαφέρει από ένα από τα πιο συχνά χρησιμοποιούμενα ελλειψοειδή μοντέλα (το Ημερομηνία WGS84 ). Τα μαύρα τμήματα αντιπροσωπεύουν τμήματα της Γης πάνω, και το λευκό αντιπροσωπεύει τμήματα της Γης παρακάτω, το ιδανικό ελλειψοειδές (ηπειρωτικά και νησιωτικά περιγράμματα που εμφανίζονται με κόκκινο χρώμα).
Μπορείτε να δείτε ότι η Ινδία βρίσκεται κάτω από το ελλειψοειδές WGS84 με το νότιο τμήμα να είναι το απόλυτο ελάχιστο (σχεδόν -100 μέτρα!) Και η Ευρώπη είναι πάνω από αυτό.
Δεδομένου ότι οι συσκευές GPS χαμηλής ποιότητας δεν χρησιμοποιούν τέτοια δεδομένα, υπολογίζουν πραγματικά το υψόμετρο υποθέτοντας ένα τέλειο ελλειψοειδές. Ως εκ τούτου, η συνεπής ανακρίβεια τους.
Στην ανάπτυξη εφαρμογών GPS, η ανίχνευση ότι μια συσκευή που κατέγραψε το ίχνος μας έχει αυτούς τους τύπους σφαλμάτων μπορεί να γίνει χρησιμοποιώντας το Σύνολο δεδομένων Earth Gravitational Model EGM2008 , μερικές φορές αναφέρεται επίσης ως σύνολο δεδομένων 'geoid undulations'. Με το EGM2008, μπορούμε να προσεγγίσουμε τη διαφορά μεταξύ της πραγματικής επιφάνειας της γης και του ιδανικού ελλειψοειδούς.
Με το EGM2008, μπορούμε να προσεγγίσουμε τη διαφορά μεταξύ της πραγματικής επιφάνειας της γης και του ιδανικού ελλειψοειδούς.Αλλά να ξέρω αν μας Το κομμάτι GPS έχει αυτό το σφάλμα, χρειαζόμαστε ένα ακόμη πράγμα - το πραγματικός ανύψωση. Μια δημόσια βάση δεδομένων που μπορεί να είναι χρήσιμη για το σκοπό αυτό είναι η Αποστολή τοπογραφίας ραντάρ Shuttle (SRTM) . Το SRTM είναι μια βάση δεδομένων βασισμένη σε ράστερ που παρέχει τιμές ανύψωσης σε ανάλυση περίπου κάθε 30 μέτρα (στον ισημερινό) για τις ΗΠΑ και κάθε 90 μέτρα για τον υπόλοιπο κόσμο. Για παράδειγμα, κατά τον υπολογισμό τιμών SRTM για σημεία στο παραπάνω κομμάτι, εμφανίζεται ένα διαφορετικό γράφημα (η μπλε γραμμή):
Μια μικρή ενόχληση εδώ είναι τα τραχιά άκρα του γραφήματος, αλλά αυτό εξομαλύνεται εύκολα. Σημειώστε ότι, εξομαλύνοντας χάνουμε λίγη (αν υπάρχει) ακρίβεια, καθώς το ίδιο το SRTM παρέχει μόνο διακριτά σημεία σε ίσες αποστάσεις, μεταξύ των οποίων πρέπει να παρεμβάλλουμε σε κάθε περίπτωση. Ακολουθεί μια έκδοση του προηγούμενου γραφήματος με επικάλυψη κόκκινων γραμμών που αντιπροσωπεύει τα εξομαλυνμένα δεδομένα SRTM:
πώς να υπολογίσετε το ποσοστό του εργολάβου
Όλα αυτά μπορούν να γίνουν εύκολα, παρεμπιπτόντως, χρησιμοποιώντας τις βιβλιοθήκες μου GPS Python:
Για Χρήστες Ruby , υπάρχει και το δικό μου Βιβλιοθήκη ανάλυσης Geoelevations.rb για κυματισμούς SRTM και EGM2008.
Έχοντας εντοπίσει αυτές τις ανωμαλίες, ανάλογα με τον τύπο του λογισμικού με το οποίο συνεργαζόμαστε, μπορούμε είτε (α) να διορθώσουμε αυτόματα τα σφάλματα είτε (β) να ενημερώσουμε απλώς τον χρήστη ότι έχουν εντοπιστεί ανακρίβειες στα δεδομένα ανύψωσης.
Επίσης, επειδή υπάρχουν διαφορετικοί αλγόριθμοι που μπορούν να χρησιμοποιηθούν για τη διόρθωση μέσω προγραμματισμού για αυτά τα σφάλματα ανύψωσης GPS, ίσως θέλουμε να δώσουμε στον χρήστη την επιλογή να επιλέξει ποιον αλγόριθμο θα χρησιμοποιήσει (π.χ., ο χρήστης θέλει να χρησιμοποιήσουμε απλώς τα εξομαλυνμένα δεδομένα SRTM 'Ως έχει' ή ο χρήστης θέλει να χρησιμοποιήσουμε τα δεδομένα SRTM για να διορθώσουμε τα υψόμετρα που αναφέρει η συσκευή).
Εάν ένας ποδοσφαιριστής φορούσε συσκευή GPS και ηχογράφησε ένα παιχνίδι, το κομμάτι που προέκυψε θα ήταν χάος. Ο αγωνιστικός χώρος θα ήταν γεμάτος με ένα κομμάτι που αποτελείται από πολλές απότομες στροφές, επιταχύνσεις και επιβραδύνσεις.
Ευτυχώς, οι περισσότερες περιπτώσεις όπου οι άνθρωποι χρησιμοποιούν GPS δεν θα έχουν το ίδιο μοτίβο - οι γραμμές παρακολούθησης GPS (και οι επιταχύνσεις) θα είναι σχετικά ομαλές. Σε τέτοιες περιπτώσεις, τα ακανόνιστα σημεία στο ίχνος μας μπορούν να υποτεθούν ότι προκαλούνται από λάθη και, ως εκ τούτου, αυτά τα ακραία σημεία μπορούν να αφαιρεθούν λογικά με μια λειτουργία εξομάλυνσης.
Ως προγραμματιστής GIS, η εξομάλυνση επιτυγχάνεται συνήθως με την επανάληψη των σημείων και αλλάζει οι συντεταγμένες με βάση τις τιμές των γειτονικών συντεταγμένων. Για παράδειγμα, μπορούμε να αλλάξουμε κάθε γεωγραφικό πλάτος και μήκος με έναν αλγόριθμο όπως ο εξής:
points[n].latitude = points[n-1].latitude * 0.3 + points[n].latitude * .4 + points[n+1].latitude * .3 points[n].longitude = points[n-1].longitude * 0.3 + points[n].longitude * .4 + points[n+1].longitude * .3
Όσο μεγαλύτερος είναι ο συντελεστής, τόσο μεγαλύτερος είναι ο αντίκτυπος του αντίστοιχου γειτονικού σημείου της τροποποιημένης θέσης του τρέχοντος σημείου. Οι συντελεστές που χρησιμοποιώ σε αυτό το παράδειγμα (0,3, 0,4, 0,3) είναι κάπως αυθαίρετοι, αλλά στις περισσότερες περιπτώσεις θα θέλετε το άθροισμά τους να ισούται με 1,0. (Μια πιο εξελιγμένη προσέγγιση, για παράδειγμα, θα ήταν η χρήση της απόστασης μεταξύ των σημείων και στη συνέχεια, όσο πιο κοντά το σημείο, τόσο μεγαλύτερος ο αντίστοιχος συντελεστής.)
Ακολουθεί ένα παράδειγμα κομματιού με πολλά τυχαία σφάλματα:
Σημειώστε πώς το κομμάτι δεν ακολουθεί καλά το μονοπάτι, έχει πολλές απότομες και οδοντωτές στροφές και μερικές φορές στρέφεται εντελώς από την αναμενόμενη διαδρομή.
Μετά από μερικές επαναλήψεις 'εξομάλυνσης', το ίδιο κομμάτι μετατρέπεται σε:
Αν και αυτό είναι πολύ καλύτερο, είναι ομολογουμένως ατελές. Σημειώστε ότι εξακολουθούν να υπάρχουν μέρη (ιδιαίτερα κοντά στη μέση του μονοπατιού) όπου το κομμάτι εξακολουθεί να απομακρύνεται από το δρόμο.
Υπάρχουν και άλλα πράγματα που μπορείτε να δοκιμάσετε. Σε ορισμένες περιοχές και για ορισμένες εφαρμογές GPS, μπορείτε επίσης να χρησιμοποιήσετε το OpenStreetMap (OSM) δεδομένα για να προσπαθήσετε να μαντέψετε τη σωστή διαδρομή και, στη συνέχεια, να «τραβήξετε» τα σημεία σε αυτήν τη νέα γραμμή. Αν και αυτό μπορεί συχνά να είναι χρήσιμο, μπορεί επίσης να είναι ατελές, όπως σε περιπτώσεις όπου τα δεδομένα του OSM περιέχουν δύο παράλληλες γραμμές (για παράδειγμα έναν αυτοκινητόδρομο και έναν κοντινό δρόμο) ή πολλές στενές διαδρομές.
Εάν μπορούμε να συμπεράνουμε ότι η διαδρομή ήταν μια διαδρομή πεζοπορίας, και έχουμε μια επιλογή να στρίψετε σε μια εθνική οδό ή σε κοντινό μονοπάτι, μπορούμε να υποθέσουμε με ασφάλεια ότι η πεζοπορία ήταν κατά μήκος του μονοπατιού και όχι της εθνικής οδού.Σε τέτοιες περιπτώσεις, μια πιθανή λύση θα ήταν να προσπαθήσουμε να ανιχνεύσουμε τον τύπο της δραστηριότητας, χρησιμοποιώντας μερικές από τις τεχνικές που συζητούνται περαιτέρω σε αυτό το άρθρο. Αν μπορούμε να συμπεράνουμε, για παράδειγμα, ότι η διαδρομή ήταν μια διαδρομή πεζοπορίας και να έχουμε την επιλογή να στρίψετε σε έναν αυτοκινητόδρομο ή σε ένα κοντινό μονοπάτι, μπορούμε να υποθέσουμε με ασφάλεια ότι η πεζοπορία ήταν κατά μήκος του μονοπατιού και όχι στον αυτοκινητόδρομο.
Παράδειγμα ελέγχου ταυτότητας που βασίζεται σε διακριτικό ασφαλείας εκκίνησης ελατηρίου
Σημειώστε επίσης ότι, ενώ αυτό το παράδειγμα δείχνει την εξομάλυνση των επιφανειακών συντεταγμένων (δηλ. Μήκος / πλάτος), η εξομάλυνση μπορεί να είναι εξίσου έγκυρη τεχνική για την εξάλειψη των παρεκκλίσεων σε υψόμετρα ή χρονικά δεδομένα, ή ακόμη και σε δεδομένα παλμών και ρυθμού ποδηλάτου.
Παραδείγματα πρόσθετων πλεονεκτημάτων και χρήσεων εξομάλυνσης θα μπορούσαν να περιλαμβάνουν:
Υπάρχει ένα είδος προβλήματος όπου αυτός ο αλγόριθμος πέφτει σύντομα: σε ορισμένες περιπτώσεις το GPS θα καταγράψει μια ομαλή διαδρομή, αλλά η διαδρομή θα 'μετατοπιστεί' από μια σταθερή διαφορά σε κάποια κατεύθυνση. Σε τέτοιες περιπτώσεις, η εξομάλυνση μπορεί να εξομαλύνει περαιτέρω τη γραμμή αλλά δεν θα διορθώσει αυτό το σφάλμα αλλαγής.
Ένα επιπλέον λιγότερο προφανές, αλλά σημαντικό, ζήτημα με την απλοϊκή τεχνική εξομάλυνσης που έχουμε περιγράψει είναι ότι ο μετασχηματισμός τροποποιεί όλα (ή σχεδόν όλα) τα σημεία στη διαδρομή, ακόμη και εκείνα που μπορεί να μην είναι λάθος. Αν και αυτή η απλούστερη προσέγγιση τείνει να είναι μια λογική λύση για τον μέσο χρήστη GPS, σίγουρα πιο εξελιγμένοι αλγόριθμοι εξομάλυνσης μπορούν να χρησιμοποιηθούν στον προγραμματισμό GIS. Σε ορισμένες περιπτώσεις, ίσως είναι καλύτερο να απλώς αφαιρέσετε τα ακραία σημεία χωρίς να εκτελέσετε εξομάλυνση ανάλογα με το χρήστη, τη συσκευή και την εφαρμογή.
Η ανίχνευση της μέγιστης ταχύτητας ενός κομματιού είναι αρκετά απλή αν έχουμε τις συντεταγμένες και τις χρονικές σημάνσεις όλων των σημείων στη διαδρομή. Απλώς υπολογίστε τις ταχύτητες μεταξύ των σημείων και βρείτε την υψηλότερη τιμή. Φαίνεται απλό.
Αλλά θυμηθείτε, ασχολούμαστε με συσκευές GPS χαμηλού επιπέδου και δεν εμπιστευόμαστε πλήρως τα δεδομένα, τα οποία μπορεί να έχουν σημαντικές επιπτώσεις για τον υπολογισμό μας. Εάν μια συσκευή καταγράφει μια θέση κάθε 5 μέτρα και σε ένα σημείο κάνει ένα λάθος τοποθετώντας το σημείο κατά 10 μέτρα, τότε αυτό το τμήμα της γραμμής μπορεί να φαίνεται 3x πιο γρήγορα από ό, τι ήταν!
Μία κοινή προσέγγιση στον κόσμο ανάπτυξης GIS είναι να εξαγάγετε όλες τις ταχύτητες μεταξύ των σημείων και, στη συνέχεια, να αφαιρέσετε το κορυφαίο 5% (δηλαδή να χρησιμοποιήσετε το 95ο εκατοστημόριο) ελπίζοντας ότι το 5% που εξαλείφεται αντιπροσωπεύει την πλειονότητα των σφαλμάτων. Ωστόσο, αυτό είναι ομολογουμένως μη επιστημονικό και δεν εξασφαλίζει σωστά αποτελέσματα. Κατά τον πειραματισμό μου με αυτήν την τεχνική, δοκίμασα διαφορετικές τιμές για τα εκατοστημόρια και διαπίστωσα ότι μερικοί λειτούργησαν καλά για μια συσκευή GPS, κάποιοι λειτούργησαν καλά για άλλους. Μερικά λειτουργούν καλά για πεζοπορία και άλλα για ποδηλασία. Αλλά στις περισσότερες περιπτώσεις, τα αποτελέσματα δεν ήταν αφή σωστά σε μένα.
Αφού δοκιμάσατε πολλούς αλγόριθμους, τι έκανε η δουλειά για μένα ήταν απλή: να προσθέσετε ένα άλλο φίλτρο για να αφαιρέσετε τα άκρα, όχι μόνο από την ταχύτητα, αλλά και από απόσταση, ως εξής:
Από την εμπειρία μου, αυτός ο αλγόριθμος αποδίδει αρκετά αξιόπιστα αποτελέσματα, ακόμη και για κομμάτια από φτηνές συσκευές GPS με τυχαία σφάλματα.
Σε πολλές περιπτώσεις, η μέση ταχύτητα αρκεί για τον προσδιορισμό του τύπου δραστηριότητας. Εάν η μέση ταχύτητα είναι 5kmh, για παράδειγμα, είναι πιθανώς μια διαδρομή πεζοπορίας / πεζοπορίας, ενώ αν η μέση ταχύτητα είναι 30kmh, είναι πιθανώς μια διαδρομή ποδηλασίας και ούτω καθεξής.
Αλλά αν η μέση ταχύτητα είναι 12kmh, δεν μπορείτε να είστε σίγουροι αν ο χρήστης ήταν ποδηλασία βουνού ή τρέξιμο. Σε τέτοιες περιπτώσεις, το το πολύ Η ταχύτητα μπορεί μερικές φορές να βοηθήσει στη διάκριση μεταξύ των δύο τύπων δραστηριοτήτων. Συγκεκριμένα, μπορούμε να χρησιμοποιήσουμε το γεγονός ότι οι δρομείς σπάνια φτάνουν σε ταχύτητα πάνω από το διπλάσιο του μέσου όρου τους, ενώ οι ποδηλάτες το κάνουν τακτικά (π.χ., ενώ πηγαίνουν κατηφορικά σε μια όχι πολύ δύσκολη διαδρομή).
Κατά συνέπεια, κατά τη διάρκεια της διαδρομής καταγράφηκε πιθανώς ένα ίχνος με μέση ταχύτητα 12kmh και μέγιστη ταχύτητα 18kmh, ενώ ένα κομμάτι με μέση ταχύτητα 12kmh και μέγιστη ταχύτητα 30kmh καταγράφηκε πιθανώς κατά την ποδηλασία βουνού. (Φυσικά, πρέπει να είμαστε σίγουροι ότι η υπολογισμένη μέγιστη ταχύτητα είναι σωστή, προκειμένου να λειτουργεί αξιόπιστα.)
Η ακρίβεια κάθε μέτρησης GPS (δηλ. Γεωγραφικό πλάτος, μήκος και υψόμετρο) εξαρτάται σε μεγάλο βαθμό από τον αριθμό των δορυφόρων που ήταν ορατοί κατά τη στιγμή της εγγραφής. Έτσι, αν μπορούσαμε κάπως να προσδιορίσουμε πόσους δορυφόρους ήταν «σε προβολή» τη στιγμή κάθε εγγραφής, θα μπορούσαμε να το χρησιμοποιήσουμε ως τρόπο προσέγγισης της ακρίβειας αυτής της εγγραφής. Εάν κατά κάποιο τρόπο γνωρίζαμε, για παράδειγμα, ότι όλοι οι απαιτούμενοι δορυφόροι GPS ήταν σε προβολή, θα μπορούσαμε να υποθέσουμε υψηλό βαθμό ακρίβειας για τα αντίστοιχα δεδομένα GPS. Αντίθετα, αν κατά κάποιον τρόπο γνωρίζαμε ότι δεν υπήρχαν δορυφόροι GPS, θα μπορούσαμε να υποθέσουμε ότι τα δεδομένα είναι επιρρεπή σε σφάλματα.
Αλλά προτού πάρετε πολύ ενθουσιασμένοι, σκεφτείτε την πολυπλοκότητα της προσπάθειας επίλυσης ενός τέτοιου προβλήματος GIS. Πρώτα απ 'όλα, θα πρέπει να ξέρετε με ποια δορυφορικά συστήματα GPS θα μπορούσε να επικοινωνήσει η συσκευή σας. Υπάρχει η αρχική βάση των ΗΠΑ Παγκόσμιο Σύστημα Τοποθεσίας , ο Ευρωπαίος Γκαλιλέο , και οι Ρώσοι ΓΛΩΝΑΣ Σύστημα. Ορισμένες συσκευές λειτουργούν με όλους αυτούς τους τύπους δορυφόρων, αλλά πολλές δεν το κάνουν. Και πολλές συσκευές δεν αναφέρουν καν ποια συστήματα χρησιμοποιούν.
Αλλά υπάρχει ένας έξυπνος τρόπος για να παρακάμψετε αυτήν την πολυπλοκότητα και να επιτύχετε μια ακατέργαστη προσέγγιση του αριθμού των δορυφόρων που λαμβάνονται υπόψη: χρησιμοποιήστε το ποσοστό του ορατού ουρανού ως διακομιστή μεσολάβησης για τον αριθμό των ορατών δορυφόρων . Λιγότερο ορατός ουρανός σημαίνει ότι το GPS μας μπορεί να 'δει' (ή να δει) από λιγότερους δορυφόρους. Αλλά πώς μπορούμε να υπολογίσουμε το ποσοστό του ορατού ουρανού σε οποιοδήποτε σημείο της Γης; Η λύση είναι στην πραγματικότητα αρκετά απλή: μπορούμε να υπολογίσουμε την οριζόντια γραμμή γύρω μας χρησιμοποιώντας τα δεδομένα SRTM που συζητήθηκαν προηγουμένως.
Για παράδειγμα, αυτός είναι ο ορίζοντας εάν βρίσκεστε στην κοιλάδα κάτω από τον Triglav (την υψηλότερη κορυφή της Σλοβενίας) όπως υπολογίζεται χρησιμοποιώντας το SRTM:
(Για όσους ενδιαφέρονται, μπορείτε να βρείτε τον κωδικό μου για τη δημιουργία αυτής της εικόνας εδώ .)
power pivot vs pivot table
Αυτή η εικόνα είναι βασικά φτιαγμένη από στρώματα ισοσταθμισμένων γραφημάτων ανύψωσης όπως φαίνεται από ένα κεντρικό σημείο. Όσο πιο σκούρα είναι η μπλε περιοχή, τόσο πιο μακρινό είναι το επίπεδο ανύψωσης. Όσο πιο ανοιχτή είναι η μπλε περιοχή, τόσο πιο κοντά το επίπεδο ανύψωσης. Τα υψηλότερα σημεία που απεικονίζονται αντιπροσωπεύουν την οριζόντια γραμμή. Εάν ένας δορυφόρος GPS βρίσκεται κάτω από αυτήν τη γραμμή στον ουρανό, η συσκευή μας πιθανότατα δεν μπορεί να δει (ή να δει) από αυτήν. (Σημειώστε, ωστόσο, ότι παρόλο που η εικόνα έχει σχεδιαστεί ως ισοπεδωμένο ορθογώνιο, στην πραγματικότητα θα χρειαστείτε κάποια βασική γνώση της σφαιρικής γεωμετρίας για να υπολογίσετε σωστά την περιοχή κάτω από τον ορίζοντα.)
Αυτή η μέθοδος μπορεί να είναι χρήσιμη σε καταστάσεις όπως πεζοπορία στο βουνό, όπου μπορείτε να πάτε από το να βρίσκεστε σε ένα βαθύ φαράγγι (με κακή λήψη GPS) έως να βρίσκεστε σε μια κορυφογραμμή του βουνού (με πολύ καλύτερη λήψη). Αυτό μπορεί να είναι μια χρήσιμη ένδειξη για ποια μέρη του κομματιού σας ενδέχεται να είναι πιο επιρρεπή σε σφάλματα.Ένα άλλο πράγμα που πρέπει να θυμάστε είναι ότι αυτό δεν είναι ασημένια σφαίρα για τον εντοπισμό σφαλμάτων ανύψωσης GPS. Πρώτα απ 'όλα, τα περισσότερα μέρη της Γης δεν είναι ορεινά και, ακόμη και όταν είναι, είναι στην ψυχολογία μας να υπερεκτιμούμε τα υψόμετρα. το πραγματικό ποσοστό του ορατού ουρανού είναι μεγαλύτερο από 75% στη συντριπτική πλειονότητα των κατοικημένων περιοχών . Ωστόσο, αυτή η μέθοδος μπορεί να είναι χρήσιμη σε ορισμένες καταστάσεις, όπως η πεζοπορία στο βουνό, όπου μπορείτε να πάτε από το να βρίσκεστε σε ένα βαθύ φαράγγι (με κακή λήψη GPS) έως να είστε σε μια κορυφογραμμή στο βουνό (όπου η δορυφορική λήψη είναι πιθανώς πολύ καλύτερη). Αν και αυτή η μέθοδος δεν αποτελεί απόλυτο μέτρο του αριθμού των σφαλμάτων που έχει το κομμάτι, μπορεί να είναι μια χρήσιμη ένδειξη για ποια μέρη του κομματιού σας ενδέχεται να είναι πιο επιρρεπή σε σφάλματα από άλλα.
Έχουμε συζητήσει μερικούς από τους πιο συνηθισμένους τύπους σφαλμάτων παρακολούθησης GPS που πρέπει να περιμένετε με συσκευές GPS χαμηλού επιπέδου. Παρέχουμε μια κατανόηση του τι τους προκαλεί, καθώς και ορισμένες τεχνικές προγραμματισμού GIS για τη διόρθωσή τους.
Σε ορισμένες περιπτώσεις, μπορούμε να διορθώσουμε το κομμάτι με υψηλό βαθμό εμπιστοσύνης. Σε άλλες περιπτώσεις, μπορούμε τουλάχιστον να προειδοποιήσουμε τον χρήστη για τμήματα του κομματιού που φαίνεται αμφισβητήσιμα. Σε περιπτώσεις που δεν είμαστε σίγουροι, υπάρχει πάντα η δυνατότητα να επιτρέπεται στον χρήστη να διορθώνει το ίδιο το κομμάτι, με τη βοήθεια αεροφωτογραφιών και χαρτών. Οι πιθανολογικές εικασίες μας μπορούν να βοηθήσουν στην επισήμανση εκείνων των τμημάτων του κομματιού όπου έχουμε εντοπίσει μεγαλύτερη πιθανότητα σφαλμάτων.
Σε πολλές περιπτώσεις, οι τεχνικές που έχουμε περιγράψει μπορεί να είναι μια ικανοποιητική 'λύση 80%', παρέχοντας στους χρήστες συσκευών GPS χαμηλού επιπέδου ένα λογικό επίπεδο αυτοματοποιημένης βελτίωσης της ακρίβειας των κομματιών GPS τους.