See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 11254|Vastuse: 1

Baidu koordinaadid teisendatakse WGS84 koordinaatideks

[Kopeeri link]
Postitatud 11.10.2017 09:56:13 | | | |
Nõuded: Teisenda Baidu koordinaadid WGS84 koordinaatideks
Rakendamine:
Esiteks lubage mul tutvustada palju keerukaid koordinaatsüsteeme Hiinas, nagu me kõik teame, kasutab USA GPS WGS84 koordinaate, kuid Hiinas on turvalisuse huvides, kui kaart avaldatakse ja avaldatakse, 84 koordinaate mittelineaarsed ja kallutatud ning saadud koordinaadid on GCJ02 koordinaatsüsteemid, tuntud ka kui Marsi koordinaadid. Lisaks on paljud kodumaised kaardifirmad, võib-olla ärivajaduste või ärikonkurentsi tõttu, teinud mittelineaarse kõrvalekalde Marsi koordinaatide alusel ja loonud oma koordinaatsüsteemi. Baidu on selline ettevõte. Baidu teostas BD-09 sekundaarse mittelineaarse kallutatuse GCJ02 alusel ja sai oma Baidu koordinaatsüsteemi. See võib olla kasulik Baidu enda ettevõttele, kuid meie arendajate jaoks on see lihtsalt tüütu.
Järgnevalt on lühike sissejuhatus koordinaatsüsteemidesse, mida kasutavad mõned kaarditeenuse pakkujad Hiinas:



Praegu pakub Baidu API-d koordinaatide teisendamiseks, http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=longitude&y=latitude
sinna
• allikast: Lähtekoordinaatsüsteem (0 algsete GPS-koordinaatide jaoks, 2 Google'i koordinaatide jaoks)
• to: Teisendatud koordinaadid (4 on Baidu oma, justkui peaks see olema 4)
• x: Täpsus
• y: laiuskraad
Tulemuseks on json string: {"error":0,"x":"MTIxLjUwMDIyODIxNDk2","y":"MzEuMjM1ODUwMjYwMTE3"}
• viga: on veamärgi bitt ja "0" tähistab OK
• x: Baidu koordinaatsüsteemi täpsus (Base64 krüpteerimine)
y: Baidu koordinaatsüsteemi laiuskraad (Base64 krüpteerimine);
Kogusin nende kahe numbri tähenduse internetist:
http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=longitude&y=latitude
1: GPS-seadmega saadud nurkkoordinaadid;
2: GPS-i abil saadud meetrilised koordinaadid, koordinaadid, mida kasutatakse sogou kaartides;
3: Google Mapsi, SOSO Mapsi, Aliyun Mapsi, MapABC ja AMAP Mapsi koordinaadid
4:3 Meetrikoordinaadid, mis vastavad kaardi koordinaatidele nimekirjas
5: Baidu kaartide poolt kasutatavad pikkus- ja laiuskraadid
6: Baidu kaartide kasutatavad meetrilised koordinaadid
7: kaardiriba kaardikoordinaadid;
8:51 Kaardikoordinaadid Vaikimisi ei ole 1, mis on GPS-seadme saadud koordinaadid
Sihtkoordinaatide tüüpide jaoks on kaks valikut: 5, 6.
5: BD09LL (Baidu laius- ja pikkuskraadi koordinaadid),
6: BD09MC (laius- ja pikkuskraadid 100 kraadi meetrites); Ei Vaikimisi on 5, st bd09ll (Baidu koordinaadid)

Kõik ülaltoodud meetodid on mõeldud 84 koordinaadi teisendamiseks Baidu koordinaatideks, allpool räägime sellest, kuidas saavutada koordinaatide vastupidine teisendus, st Baidu koordinaadid teisendatakse 84 koordinaadiks.
Leidsin internetist palju algoritme, millest enamik on piiratud ühe nihkega, nimelt Baidu ja Marsi koordinaatide vahetus, Marsi ja Maa koordinaatide vahetus jne, ning Baidu koordinaatide kohta mainitakse vähe kuni 84 koordinaadiga.
Selles osas proovisin esmalt teisendada Baidu koordinaadid Marsi koordinaatideks ja seejärel Marsi koordinaadid Maa koordinaatideks, kuid tulemus ei olnud rahuldav, väikseim viga oli 60 meetrit ja kõige suurem kui 600 meetrit, nii et pidin alla andma. Ma ei postita algoritmi enam, huvilised õpilased saavad ise internetist selle leida.
Siin kasutan nutikat meetodit, konkreetne meetod on järgmine:
Baidu koordinaadid ja GPS-koordinaatide teisendus on väga lähedased ja lähedased.
Oletame, et teil on Baidu koordinaadid: x1=116,397428, y1=39,90923
Võta see koordinaat GPS-koordinaadina ja saa tema Baidu koordinaadid liidese kaudu: x2=116.41004950566, y2=39.916979519873

GPS-i koordinaadid saab arvutada:
x = 2*x1-x2,y = 2*y1-y2
x=116.38480649434001
y=39.901480480127。
Selle meetodi täpsuse kontrollimiseks võtsin testimiseks 14 suurema Hiina linna, kagu-, loode- ja loodeosa koordinaadid ning tulemused said kõrvalekaldega 13 meetrit ja minimaalselt 0,x meetrit. Täielik viga on 6 meetrit. Konkreetsed testitulemused avaldatakse hiljem.
Las ma joonistan lihtsa skeemi, et seda probleemi illustreerida.



G tähistab algseid konverteerimata Maa koordinaate;
B esindab Baidu koordinaate pärast seda, kui G teisendatakse Baidu api kaudu;
G' tähistab koordinaate pärast punkti B teisendamist Baidu API kaudu;
Eeldades, et nihke väärtus pärast Google'i koordinaatide teisendamist Baidu koordinaatideks on väike, siis G-punkti koordinaadid on täiesti võrdsed
2B-G'。 Pärast kontrolli on Google'i koordinaatide teisendamisel Baidu koordinaatideks nihke väärtus umbes mõnisada meetrit, mis on tegelikult tühine, seega kasuta seda meetodit, et lahendada nihketeegi probleem Baidu enda API-ga ja ignoreerida nihkeväärtuste teisendamise mõju.
Muidugi on sellel meetodil ka suur puudus, nimelt nõuab, et need kaks punkti peavad olema samas nihkeandmebaasis; kui see asub kahes erinevas nihketeegis, võib viga olla suhteliselt suur.
Lisaks on praegu ette valmistamisel veel üks meetod edasiseks uurimiseks, nimelt nihketeegi loomine ja selle nihketeegi kasutamine selle mõju veelgi kõrvaldamiseks: seda tuleb veel uurida.
Siin on veebipõhise konverteerimise puudus: Baidu veebipõhise API konverteerimistööriistal on tegelikult piirang konverteeritud andmete hulgale, iga võti suudab konverteerida vaid umbes 5000 andmetükki ning konto võib taotleda kuni 20 võtit, seega kui andmemaht on suur, ei soovitata seda tüüpi veebikonverteerimist kasutada, mis oli ka algne eesmärk uurida kohalikku offset-teeki. Lisaks, kuna veebipool võib olla piiratum, võivad võrgu kiirus, samaaegsed päringud jms mõjutada tulemusi ja kasutajakogemust, seega on ülaltoodud meetodid vaid viitamiseks.





Eelmine:Javascrip{filter}tmodule - load module require.js
Järgmine:Kasuta Ajaxi meetodit, et POSTITADA JSON andmed taustale
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com