|WGS → GCJ|
|WGS → BD|
|GCJ → WGS|
|BD → WGS|
|GCJ →cai WGS|
|BD →cai WGS|
|GCJ → BD|
|BD → GCJ|
|BD →cai GCJ|
Permalink to this result. Toggle sections: Notes, FAQ, footer.
- Caijun’s iterative method is included for precise decoding.
It's most useful for bored folks whose GPS data is pretty accurate
and GCJ-02 obfuscation not tainted by the original
If you are doing Wikipedia or any kind of archival work, use it to avoid introducing extra error.
- BD is defined in terms of GCJ, hence the last three functions.
- This demo omits the “in China” sanity check. Data regarding
Baidu’s behavior with overseas maps is needed for further
- Unlike Google Maps, Baidu's map in Hong Kong is fully subject to BD-09 ∘ GCJ-02 chained distortions.
- Coordinates in Russia, outside of the sanity check rectangle, uses WGS-84 or and/or friends.
- TODO: check along the boundary.
- What is this all about?
- The PRC government requires all local map services to use an obfuscated, deviation-orienated coordinate system. Click on the “restriction” link to read the full Wikipedia article.
- Why should I care?
- With half a kilometer of deviation, GCJ-02 and friends fucks up your Ingress games, causes crazy errors in elevation profiles along cycle routes, and cheerfully leads you into roadside ditches plus a bone fracture.
- Why doesn’t Google/Bing correct its Chinese data served to global users?
- I don’t know. Perhaps they are afraid of getting fined or further kicked out of China. Maybe try OpenStreetMap next time?
- Why are you writing another implementation?
- Because I got bored.
- How does Caijun’s iterative method work?
- Cai has explained the method in full in his R implementation. Go read it, or read Wikipedia.