Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 11254|Απάντηση: 1

Οι συντεταγμένες Baidu μετατρέπονται σε συντεταγμένες WGS84

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 11/10/2017 9:56:13 π.μ. | | | |
Απαιτήσεις: Μετατροπή συντεταγμένων Baidu σε συντεταγμένες WGS84
Εκτέλεση:
Πρώτα απ 'όλα, επιτρέψτε μου να παρουσιάσω πολλά περίπλοκα συστήματα συντεταγμένων στην Κίνα, όπως όλοι γνωρίζουμε, το GPS των Ηνωμένων Πολιτειών χρησιμοποιεί συντεταγμένες WGS84, αλλά στην Κίνα, για λόγους ασφαλείας, όταν ο χάρτης κυκλοφορεί και δημοσιεύεται, οι 84 συντεταγμένες είναι μη γραμμικές και προκατειλημμένες και οι συντεταγμένες που λαμβάνονται ονομάζονται συστήματα συντεταγμένων GCJ02, κοινώς γνωστά ως συντεταγμένες του Άρη. Επιπλέον, πολλές εγχώριες εταιρείες χαρτών, ίσως λόγω επιχειρηματικών αναγκών ή κάποιων λόγων επιχειρηματικού ανταγωνισμού, πραγματοποίησαν μια μη γραμμική απόκλιση με βάση τις συντεταγμένες του Άρη και απέκτησαν το δικό τους σύστημα συντεταγμένων. Η Baidu είναι μια τέτοια εταιρεία. Η Baidu πραγματοποίησε δευτερεύουσα μη γραμμική προκατάληψη BD-09 με βάση το GCJ02 και απέκτησε το δικό της σύστημα συντεταγμένων Baidu. Αυτό μπορεί να είναι επωφελές για την ίδια την εταιρεία της Baidu, αλλά για εμάς τους προγραμματιστές, είναι απλώς ενοχλητικό.
Ακολουθεί μια σύντομη εισαγωγή στα συστήματα συντεταγμένων που χρησιμοποιούνται από ορισμένους παρόχους υπηρεσιών χαρτών στην Κίνα:



Επί του παρόντος, η Baidu παρέχει ένα API για μετατροπή συντεταγμένων, http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=longitude&y=latitude
σε αυτό
• από: Σύστημα συντεταγμένων πηγής (0 για τις αρχικές συντεταγμένες GPS, 2 για τις συντεταγμένες Google)
• προς: Μετατρεπόμενες συντεταγμένες (το 4 είναι δικό του Baidu, σαν να πρέπει να είναι 4)
• x: Ακρίβεια
• y: Γεωγραφικό πλάτος
Το αποτέλεσμα που επιστρέφεται είναι μια συμβολοσειρά json: {"error":0,"x":"MTIxLjUwMDIyODIxNDk2","y":"MzEuMjM1ODUwMjYwMTE3"}
• error: είναι το bit του σημαδιού σφάλματος και το "0" υποδεικνύει OK
• x: Ακρίβεια του συστήματος συντεταγμένων Baidu (κρυπτογράφηση Base64)
y: Γεωγραφικό πλάτος του συστήματος συντεταγμένων Baidu (κρυπτογράφηση Base64).
Συγκέντρωσα τη σημασία αυτών των δύο αριθμών στο διαδίκτυο:
http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=longitude&y=latitude
1: Γωνιακές συντεταγμένες που λαμβάνονται από εξοπλισμό GPS.
2: Μετρικές συντεταγμένες που λαμβάνονται από το GPS, συντεταγμένες που χρησιμοποιούνται στους χάρτες sogou.
3: Συντεταγμένες που χρησιμοποιούνται για τους Χάρτες Google, τους Χάρτες SOSO, τους Χάρτες Aliyun, τους Χάρτες MapABC και τους Χάρτες AMAP
4:3 Οι συντεταγμένες του μετρητή που αντιστοιχούν στις συντεταγμένες του χάρτη στη λίστα
5: Οι συντεταγμένες γεωγραφικού μήκους και γεωγραφικού πλάτους που χρησιμοποιούνται από τους Χάρτες Baidu
6: Μετρικές συντεταγμένες που χρησιμοποιούνται από τους Χάρτες Baidu
7: συντεταγμένες χάρτη mapbar.
8:51 Συντεταγμένες χάρτη Χωρίς προεπιλογή είναι 1, που είναι οι συντεταγμένες που λαμβάνονται από τη συσκευή GPS
Για τους τύπους συντεταγμένων προορισμού υπάρχουν δύο επιλογές: 5, 6.
5: BD09LL (συντεταγμένες γεωγραφικού πλάτους και μήκους Baidu),
6: BD09MC (συντεταγμένες γεωγραφικού πλάτους και μήκους σε μέτρα 100 μοιρών). Όχι Η προεπιλογή είναι 5, δηλαδή bd09ll (συντεταγμένες Baidu)

Όλα τα παραπάνω χρησιμοποιούνται για τη μετατροπή 84 συντεταγμένων σε συντεταγμένες Baidu, παρακάτω, ας μιλήσουμε για το πώς να επιτευχθεί η αντίστροφη μετατροπή των συντεταγμένων, δηλαδή οι συντεταγμένες Baidu μετατρέπονται σε 84 συντεταγμένες.
Βρήκα πολλούς αλγόριθμους στο Διαδίκτυο, και οι περισσότεροι από αυτούς περιορίζονται σε μία μετατόπιση, δηλαδή την ανταλλαγή μεταξύ συντεταγμένων Baidu και συντεταγμένων Άρη, την ανταλλαγή μεταξύ συντεταγμένων Άρη και συντεταγμένων Γης κ.λπ., και υπάρχει ελάχιστη αναφορά στις συντεταγμένες Baidu σε 84 συντεταγμένες.
Από αυτή την άποψη, προσπάθησα να μετατρέψω πρώτα τις συντεταγμένες Baidu σε συντεταγμένες του Άρη και μετά να μετατρέψω τις συντεταγμένες του Άρη σε συντεταγμένες της Γης, αλλά το αποτέλεσμα δεν ήταν ικανοποιητικό, το χαμηλότερο σφάλμα ήταν 60 μέτρα και το μεγαλύτερο ήταν ακόμη περισσότερο από 600 μέτρα σφάλματος, οπότε έπρεπε να τα παρατήσω. Δεν θα δημοσιεύσω άλλο τον αλγόριθμο, οι ενδιαφερόμενοι μαθητές μπορούν να μπουν στο Διαδίκτυο για να τον βρουν μόνοι τους.
Εδώ, χρησιμοποιώ μια έξυπνη μέθοδο, η συγκεκριμένη μέθοδος είναι η εξής:
Οι συντεταγμένες Baidu και η μετατροπή συντεταγμένων GPS είναι πολύ κοντά σε κοντινές αποστάσεις.
Ας υποθέσουμε ότι έχετε συντεταγμένες Baidu: x1=116.397428, y1=39.90923
Πάρτε αυτή τη συντεταγμένη ως συντεταγμένη GPS και λάβετε τις συντεταγμένες Baidu του μέσω της διεπαφής: x2=116.41004950566, y2=39.916979519873

Οι συντεταγμένες του GPS μπορούν να ληφθούν με υπολογισμό:
x = 2*x1-x2,y = 2*y1-y2
x=116,38480649434001
y=39.901480480127。
Για να επαληθεύσω την ακρίβεια αυτής της μεθόδου, πήρα τις συντεταγμένες 14 μεγάλων πόλεων της Κίνας, νοτιοανατολικά, βορειοδυτικά και βορειοδυτικά της Κίνας για δοκιμή και τα αποτελέσματα έλαβαν τα αποτελέσματα με απόκλιση 13 μέτρων και τουλάχιστον 0,x μέτρα. Το συνολικό σφάλμα είναι 6 μέτρα. Τα συγκεκριμένα αποτελέσματα των δοκιμών θα αναρτηθούν αργότερα.
Επιτρέψτε μου να σχεδιάσω ένα απλό διάγραμμα για να δείξω αυτό το ζήτημα.



Το G αντιπροσωπεύει τις αρχικές μη μετατρεπόμενες συντεταγμένες της Γης.
Το B αντιπροσωπεύει τις συντεταγμένες Baidu μετά τη μετατροπή του G μέσω του Baidu api.
Το G' αντιπροσωπεύει τις συντεταγμένες μετά τη μετατροπή του σημείου Β μέσω του Baidu API.
Υποθέτοντας ότι η τιμή μετατόπισης μετά τη μετατροπή των συντεταγμένων Google σε συντεταγμένες Baidu είναι μικρή, τότε οι συντεταγμένες του σημείου G είναι απόλυτα ίσες με
2Β-Ζ'。 Μετά την επαλήθευση, η τιμή μετατόπισης μετά τη μετατροπή των συντεταγμένων Google σε συντεταγμένες Baidu είναι περίπου μερικές εκατοντάδες μέτρα, κάτι που είναι στην πραγματικότητα αμελητέο, επομένως χρησιμοποιήστε αυτήν τη μέθοδο για να λύσετε το πρόβλημα της βιβλιοθήκης μετατόπισης με το API της Baidu και, στη συνέχεια, αγνοήστε τον αντίκτυπο της μετατροπής τιμών μετατόπισης.
Φυσικά, αυτή η μέθοδος έχει επίσης ένα μεγάλο μειονέκτημα, δηλαδή απαιτεί αυτά τα δύο σημεία να βρίσκονται στην ίδια βάση δεδομένων μετατόπισης, εάν τυχαίνει να βρίσκεται σε δύο διαφορετικές βιβλιοθήκες μετατόπισης, το σφάλμα μπορεί να είναι σχετικά μεγάλο.
Επιπλέον, υπάρχει μια άλλη μέθοδος που προετοιμάζεται επί του παρόντος για περαιτέρω έρευνα, η οποία είναι η δημιουργία μιας βιβλιοθήκης offset και η χρήση αυτής της βιβλιοθήκης offset για την περαιτέρω εξάλειψη αυτού του αντίκτυπου: δεν έχει ακόμη μελετηθεί.
Εδώ είναι το μειονέκτημα της διαδικτυακής μετατροπής: Το διαδικτυακό εργαλείο μετατροπής API Baidu έχει στην πραγματικότητα ένα όριο στον όγκο των δεδομένων που μετατρέπονται, κάθε κλειδί μπορεί να μετατρέψει μόνο περίπου 5,000 κομμάτια δεδομένων και ένας λογαριασμός μπορεί να υποβάλει αίτηση για έως και 20 κλειδιά, επομένως εάν ο όγκος των δεδομένων είναι μεγάλος, στην πραγματικότητα δεν συνιστάται η χρήση αυτού του είδους ηλεκτρονικής μετατροπής, η οποία είναι επίσης η αρχική πρόθεση της μελέτης της τοπικής βιβλιοθήκης μετατόπισης. Επιπλέον, επειδή η πλευρά του ιστού μπορεί να είναι πιο περιορισμένη, η ταχύτητα δικτύου, τα ταυτόχρονα αιτήματα κ.λπ. μπορεί να επηρεάσουν τα αποτελέσματα και να επηρεάσουν την εμπειρία χρήστη, επομένως οι παραπάνω μέθοδοι είναι μόνο για αναφορά.





Προηγούμενος:Javascrip{filter}tmodule - Φόρτωση ενότητας require.js
Επόμενος:Χρησιμοποιήστε τη μέθοδο Ajax για να δημοσιεύσετε δεδομένα JSON στο παρασκήνιο
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com