Por qué Google Maps marca la posición equivocada en China: GCJ-02 y BD-09

Si alguna vez has abierto una coordenada GPS en China y el pin del mapa ha caído a cientos de metros del lugar correcto, te has topado con GCJ-02, el estándar nacional chino de ofuscación de coordenadas. Todos los servicios de mapas dentro de China continental están obligados por ley a aplicar ese desplazamiento, y Baidu Maps añade por encima una segunda capa propietaria. El convertidor de coordenadas de fasttool.io corrige estos desplazamientos al instante, pero entender por qué existen y cómo funciona la matemática es esencial para desarrolladores, profesionales GIS y cualquiera que navegue por China con GPS.

No se guardan datosCálculo localUso gratuitoResultado al instante
  1. Entiende WGS84, el estándar GPS global

    WGS84 (Sistema Geodésico Mundial 1984) es el sistema que usan los satélites GPS y la mayoría de mapas internacionales (Google Maps fuera de China, OpenStreetMap, Apple Maps). Una coordenada WGS84 como (39,9042, 116,4074) te sitúa en la plaza de Tiananmen. WGS84 es globalmente preciso a unos pocos metros y es la referencia «verdadera»: cualquier otro sistema aquí descrito es una distorsión deliberada de WGS84.

  2. Aplica el desplazamiento GCJ-02 (coordenadas Mars)

    Según la ley china (ley de topografía y cartografía), todo mapa digital publicado en China continental debe usar GCJ-02, que aplica a las coordenadas WGS84 un desplazamiento no lineal dependiente de la ubicación. El desfase va de 100 a 700 metros y cambia según el punto. Una coordenada WGS84 de (39,9042, 116,4074) puede convertirse aproximadamente en (39,9085, 116,4121) en GCJ-02, desplazando el pin unos 500 metros al este. Por eso tu traza GPS en China parece salirse de las carreteras sobre un servicio de mapas chino. El convertidor de fasttool.io usa el algoritmo estándar de transformación inversa para corregirlo en cualquier punto de China.

  3. Convierte entre GCJ-02 y BD-09 para Baidu Maps

    Baidu Maps añade un cifrado propietario adicional sobre GCJ-02 llamado BD-09. Una coordenada GCJ-02 se desplaza de nuevo, normalmente otros 50–150 metros, para producir la coordenada BD-09 que acepta la API de Baidu. Si creas una app que muestra coordenadas dentro de China, la cadena es: lectura GPS (WGS84) → GCJ-02 (Gaode/Amap, Tencent Maps) → BD-09 (Baidu Maps). El convertidor de fasttool.io resuelve las tres direcciones, en los dos sentidos, con un clic.

  4. Verifica la precisión con puntos de referencia conocidos

    Después de convertir, verifica siempre el resultado contra un punto de referencia conocido. La Ciudad Prohibida de Pekín tiene una coordenada WGS84 documentada de (39,9163, 116,3972), y su equivalente GCJ-02 es aproximadamente (39,9205, 116,4018). Introduce el valor WGS84 en el convertidor, elige WGS84 → GCJ-02 y confirma que la salida coincide con el valor GCJ-02 esperado dentro de ±5 metros. Para verificar BD-09, compara con las coordenadas que muestra Baidu Maps para el mismo monumento. Si tus resultados se desvían más de 10 metros, revisa la precisión de entrada: incluso un error de 0,0001° de latitud son unos 11 metros sobre el terreno. El convertidor usa la implementación estándar GCJ-02 validada contra la implementación de referencia EvilTransform, con precisión submétrica para uso civil.

FAQ

¿Por qué China usa GCJ-02 en lugar de WGS84?
La ley de topografía y cartografía de China de 2002 exige a todos los servicios de mapas nacionales aplicar una ofuscación de coordenadas por seguridad nacional. GCJ-02 (conocido coloquialmente como «coordenadas Mars») es el estándar obligatorio. Los servicios internacionales como Google Maps deben aplicar GCJ-02 al mostrar mapas dentro de las fronteras de China. Fuera de China continental, Google Maps usa WGS84 estándar; por eso las mismas coordenadas caen en sitios distintos según se vean desde dentro o desde fuera de China.
¿El desplazamiento del GPS afecta a apps como WeChat o DiDi?
Sí. Todas las apps chinas nacionales usan GCJ-02 o BD-09 internamente. Cuando compartes una ubicación desde WeChat (que usa GCJ-02) y tu amigo la abre en Google Maps fuera de China (que usa WGS84), el pin se desvía entre 100 y 700 metros. El convertidor de coordenadas de fasttool.io lo corrige: elige GCJ-02 → WGS84, introduce las coordenadas de WeChat y obtén la posición WGS84 correcta para mapas externos.
¿Puedo evitar el desplazamiento usando imágenes de satélite?
No: las imágenes de satélite que sirven los proveedores chinos (Baidu, Gaode, Tencent) también están alineadas a GCJ-02, así que la propia imagen está desplazada. Si superpones trazas GPS en bruto sobre una satelital GCJ-02, tu traza parece atravesar edificios. La única vía fiable es convertir las coordenadas antes de mapear: GPS (WGS84) → GCJ-02 para superponer sobre mapas chinos, o GCJ-02 → WGS84 para exportar coordenadas de mapas chinos a herramientas internacionales.

Referencias

  1. [1]Wikipedia — Restrictions on Geographic Data in China (GCJ-02 origin)— Wikipedia
  2. [2]Baidu Maps Open Platform — BD09 Coordinate System— Baidu Maps
  3. [3]OpenStreetMap Wiki — GCJ-02 Coordinate Offset Challenge— OpenStreetMap Foundation
  4. [4]NASG — National Administration of Surveying, Mapping and Geoinformation of China (Surveying and Mapping Law)— National Administration of Surveying, Mapping and Geoinformation (NASG)

Pruébalo para:

All tools on fastool.io run entirely in your browser — zero data leaves your device. No personal data is collected, stored, or transmitted to any server. Solar calculations use SunCalc.js; lunar data uses JPL DE440 ephemeris; coordinate transforms use publicly documented EPSG/OGC standards. This site requires no signup, no account, and no cloud processing.