Imagery basemaps and coordinate offsets
Quick answer
This tutorial explains why Chinese imagery basemaps appear shifted against WGS84 vector data in CesiumJS. It compares WGS84, GCJ-02, BD-09 and CGCS2000, quantifies offsets from 265 to 622 metres across cities, and notes that GCJ-02 returns coordinates unchanged outside China. It then presents the two fixes: convert business data to GCJ-02 before calling Cartesian3.fromDegrees, or shift the tiles back. Readers can diagnose and correct a systematic basemap offset.
Key points
- Confirm the datum of both the business data and the tile service before touching code.
- Convert WGS84 to GCJ-02 forward, and iterate for the reverse since no closed form exists.
- Route BD-09 through two steps: WGS84 to GCJ-02, then GCJ-02 to BD-09.
Notes
- A fixed longitude or latitude nudge only approximates the BD-09 step and fails elsewhere.
- Both layers can be individually correct yet still misalign when their datums differ.
English edition written for Atlaslog. Code is taken from the original Chinese page and runs unchanged.
Atlaslog (2026). Imagery basemaps and coordinate offsets. https://www.jingweizhi.com/en/cesium/tutorials/imagery-offset.html (accessed 2026-11-03).