---
title: "理解火星坐标系：中国地图的坐标标准以及如何进行坐标转换"
date: 2023-08-02T13:26:06.000Z
author: Z.SHINCHVEN
tags: [Mars Coordinate System, 火星坐标系]
canonical: https://atlassc.net/2023/08/03/mars-coordinate-system
---
中国的地图坐标系统有点复杂。不同的地图服务提供商使用不同的坐标标准，给开发者带来了一些挑战。在这篇博客中，我们将深入探讨中国的坐标标准，介绍各个主流地图服务所使用的坐标标准，并介绍如何使用[mars-coord](https://github.com/ShinChven/mars-coord)这个JS库来轻松转换坐标。

## 中国坐标标准的复杂性

中国的坐标系统复杂性主要源于不同的地图服务供应商使用不同的坐标标准。例如，百度地图使用BD-09标准，而高德和腾讯地图使用GCJ-02标准。国际标准WGS84在中国大陆地区则会有一些偏移。

## mars-coord：一站式坐标转换库

我写了一个叫[mars-coord](https://github.com/ShinChven/mars-coord)的工具库来解决坐标系转换问题。

以下是中国主要坐标标准和类型键的概览表：

| 类型键   | 坐标标准 | 适用地图服务                                                 |
| -------- | -------- | ------------------------------------------------------------ |
| WGS84    | WGS84    | 国际标准坐标系                                               |
| GCJ02    | GCJ-02   | 高德地图、腾讯地图、苹果地图（中国）、谷歌地图（中国，类似） |
| AMAP     | GCJ-02   | 高德地图                                                     |
| QQ       | GCJ-02   | 腾讯地图                                                     |
| BD09     | BD-09    | 百度地图                                                     |
| BAIDU    | BD-09    | 百度地图                                                     |
| CGCS2000 | CGCS2000 | 中国大地                                                     |

安装非常简单：

```bash
npm install mars-coord
```

转换示例代码：

```typescript
import { Coordinate, convertCoordinate } from 'mars-coord';
const myCoordinate: Coordinate = [110.030774, 36.815854];
const result = convertCoordinate(myCoordinate, 'WGS84');
```

## 总结

火星坐标系是中国地图开发中一个复杂而重要的主题。`mars-coord`库旨在简化坐标转换的过程，帮助开发者专注于构建卓越的地图应用。

无论你是地图应用的开发者还是对坐标学有兴趣的爱好者，`mars-coord`库都值得一试。
