beidou-grid-code
v1.1.2
Published
Beidou grid codec library for 2D and 3D coordinates
Maintainers
Readme
beidou-grid-code
北斗网格编码库,支持 2D 和 3D 坐标的编码和解码。
安装
npm install beidou-grid-code使用示例
引入模块
const { Codec2D, Codec3D } = require('beidou-grid-code');
import { Codec2D, Codec3D } from 'beidou-grid-code'2D 网格编码
const point = {
lngDegree: 114.296763,
latDegree: 30.549280
};
const code2D = Codec2D.encode(point, 12);
console.log('12级二维网格编码:', code2D);2D 网格解码
const decoded2D = Codec2D.decode(code2D, { form: 'decimal' });
console.log('二维解码结果:', decoded2D);3D 网格编码
const point3D = {
lngDegree: 114.296763,
latDegree: 30.549280,
elevation: 83.329008
};
const code3D = Codec3D.encode(point3D, 6378137, 12);
console.log('12级三维网格编码:', code3D);3D 网格解码
const decoded3D = Codec3D.decode(code3D, { form: 'decimal' }, 6378137, 12);
console.log('三维解码结果:', decoded3D);获取网格大小
for (let level = 1; level <= 12; level++) {
const size = Codec2D.getGridSize(level);
console.log(`第${level}级: ${size.width.toFixed(2)}m × ${size.height.toFixed(2)}m`);
}获取邻近网格 (3×3)
const neighbors = Codec2D.get3x3Neighbors(code2D);
console.log('邻近网格:', neighbors);API
Codec2D
encode(lngLat, level)- 编码 2D 坐标为网格编码decode(code, option)- 解码网格编码为 2D 坐标getGridSize(level)- 获取指定级别网格大小get3x3Neighbors(code)- 获取 3×3 邻近网格
Codec3D
encode(lngLatEle, radius, level)- 编码 3D 坐标为网格编码decode(code, option, radius, level)- 解码网格编码为 3D 坐标
许可证
ISC
