gcoord

地理坐标系转换工具,支持WGS84/GCJ02/BD09等常用坐标系互转

Github星跟蹤圖

Gcoord

npm version
codecov
gzip size
LICENSE
996.icu

gcoord(geographic coordinates)是一个处理地理坐标系的JS库,用来修正百度地图、高德地图及其它互联网地图坐标系不统一的问题。

支持转换坐标数组和GeoJSON数据,能在node环境以及所有现代浏览器(IE8+)中运行,gzip后仅3kb。

更多信息可以阅读地理坐标系

Install

通过npm安装:

npm install gcoord --save

或者直接在页面中引入:

<script src="https://unpkg.com/gcoord/dist/gcoord.js"></script>

Import

CommonJS:

const gcoord = require('gcoord');
// 或者
const { transform, WGS84, GCJ02 } = require('gcoord');

ES Module:

import gcoord from 'gcoord'
// 或者
import { transform, WGS84, GCJ02 } from 'gcoord'

同时也支持AMD和CMD规范

Usage

例如从手机的GPS得到一个经纬度坐标,需要将其展示在百度地图上,则应该将当前坐标从WGS-84坐标系转换为BD-09坐标系

var result = gcoord.transform(
  [116.403988, 39.914266],    // 经纬度坐标
  gcoord.WGS84,               // 当前坐标系
  gcoord.BD09                 // 目标坐标系
);

console.log(result);  // [116.41661560068297, 39.92196580126834]

同时gcoord还可以转换GeoJSON对象的坐标系,详细使用方式可以参考API

API

transform(input, from, to)

进行坐标转换

参数

返回值

GeoJSON, Array<number>

示例

// 将GCJ02坐标转换为WGS84坐标
var result = gcoord.transform([123, 45], gcoord.GCJ02, gcoord.WGS84);
console.log(result);  // [122.99395597, 44.99804071]
// 转换GeoJSON坐标
var geojson = {
  "type": "Point",
  "coordinates": [123, 45]
}
gcoord.transform(geojson, gcoord.GCJ02, gcoord.WGS84);
console.log(geojson.coordinates); // [122.99395597, 44.99804071]

返回数组或GeoJSON对象(由输入决定),注意:当输入为GeoJSON时,transform会改变输入对象

CRS

CRS为坐标系,目标支持以下几种坐标系, CRS            , 坐标格式, 说明  , --------, ---------, -----, gcoord.WGS84, [lng,lat], WGS-84坐标系,GPS设备获取的经纬度坐标, gcoord.GCJ02, [lng,lat], GCJ-02坐标系,google中国地图、soso地图、aliyun地图、mapabc地图和高德地图所用的经纬度坐标, gcoord.BD09, [lng,lat], BD-09坐标系,百度地图采用的经纬度坐标, gcoord.BD09LL, [lng,lat], 同BD09, gcoord.BD09MC, [x,y], BD-09米制坐标,百度地图采用的米制坐标,单位:米, gcoord.BD09Meter, [x,y], 同BD09MC, gcoord.Baidu, [lng,lat], 百度坐标系,BD-09坐标系别名,同BD-09, gcoord.BMap, [lng,lat], 百度地图,BD-09坐标系别名,同BD-09, gcoord.AMap, [lng,lat], 高德地图,同GCJ-02, gcoord.WebMercator, [x,y], Web Mercator投影,墨卡托投影,同EPSG3857,单位:米, gcoord.WGS1984, [lng,lat], WGS-84坐标系别名,同WGS-84, gcoord.EPSG4326, [lng,lat], WGS-84坐标系别名,同WGS-84, gcoord.EPSG3857, [x,y], Web Mercator投影,同WebMercator,单位:米, gcoord.EPSG900913, [x,y], Web Mercator投影,同WebMercator,单位:米, 支持更多坐标系?
gcoord的目标是处理web地图中的坐标,目前支持的坐标系已经能满足绝大部分要求了,同时gcoord也能保持轻量。如果需要更专业的坐标系处理工具,可以使用proj4js等开源库

LICENSE

MIT

主要指標

概覽
名稱與所有者hujiulong/gcoord
主編程語言TypeScript
編程語言JavaScript (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2018-02-01 13:13:05
推送於2025-01-14 08:04:57
最后一次提交2025-01-14 16:04:42
發布數22
最新版本名稱v1.0.7 (發布於 )
第一版名稱v0.0.1 (發布於 )
用户参与
星數3.2k
關注者數54
派生數393
提交數155
已啟用問題?
問題數45
打開的問題數1
拉請求數36
打開的拉請求數2
關閉的拉請求數156
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?